Neuron
Pada artikel ini, Anda akan mempelajari dasar-dasar cara kerja neuron buatan. Pada artikel selanjutnya, kita akan mempelajari dasar-dasar jaringan saraf dan menulis jaringan saraf sederhana dengan python.
Jaringan saraf terdiri dari neuron yang terhubung satu sama lain, sehingga neuron adalah bagian utama dari jaringan saraf. Neuron hanya melakukan 2 tindakan: mereka mengalikan data masukan dengan bobot dan menambahkannya dan menambahkan bias, dan tindakan kedua adalah aktivasi.
Sekarang lebih banyak tentang data masukan, bobot, bias dan fungsi aktivasi.
Data masukan adalah data yang diterima neuron dari neuron sebelumnya atau dari pengguna.
Bobot diberikan ke setiap input neuron, awalnya diberi nomor acak. Saat melatih jaringan saraf, nilai neuron dan perpindahan berubah. Bobot dikalikan dengan data masukan yang diumpankan ke neuron.
Offset ditetapkan ke setiap neuron, seperti bobot bias awal, ini adalah bilangan acak. Offset mempermudah dan mempercepat melatih jaringan saraf.
Fungsi aktivasi yang akan kita gunakan di jaringan saraf kita disebut sigmoid. Rumus sigmoidnya adalah:
Fungsi ini membungkus angka apa pun dari -∞ hingga + ∞ dalam rentang dari 0 hingga 1.
Jika kita mendeskripsikan secara matematis, tugas-tugas yang dilakukan neuron, maka kita mendapatkan 2 rumus: Notasi:
f (x) - fungsi aktivasi
x - jumlah produk dari data input dengan bobot, dan bias
i - larik data input
w -
b -
j -
python.
numpy. Linux Window:
pip install numpy
:
import numpy as np
Neuron, :
class Neuron:
def __init__(self, number_of_weights = 1):
self.w = np.random.normal(size=number_of_weights)
self.b = np.random.normal()
, , . . :
def activate(self, inputs):
x = np.dot(self.w, inputs) + self.b
return sig(x)
, . :
def sig(x):
return 1 / (1 + np.exp(-x))
Math.py
numpy:
import numpy as np
Neuron.py. Neuron.py Math.py:
from Math import *
2 :
Neuron.py
import numpy as np
from Math import *
class Neuron:
def __init__(self, number_of_weights = 1):
self.w = np.random.normal(size=number_of_weights)
self.b = np.random.normal()
def activate(self, inputs):
x = np.dot(self.w, inputs) + self.b
return sig(x)
Math.py
import numpy as np
def sig(x):
return 1 / (1 + np.exp(-x))
.
, :
,
Python
- .