Apa itu fungsi aktivasi?
Fungsi aktivasi dalam neural networks adalah fungsi yang mengubah nilai input menjadi nilai lain untuk output dari satu neuron ke neuron berikutnya. Nilai yang terintegrasi, yang merupakan jumlah dari input ke neuron dan produk bobot ditambah bias, diubah menjadi sinyal yang mewakili keadaan tereksitasi neuron. Tanpa fungsi aktivasi, operasi neuron hanya akan menjadi jumlah produk, dan kekuatan ekspresif dari jaringan saraf akan hilang.
Fungsi step
Fungsi step adalah fungsi tangga. Ini diwakili oleh persamaan berikut.
Fungsi step, ketika dieksekusi dalam Python, terlihat seperti kode berikut ini
import numpy as np
import matplotlib.pyplot as plt
def step_function(x):
return np.where(x<=0, 0, 1)
x = np.linspace(-5, 5)
y = step_function(x)
plt.plot(x, y)
plt.show()
Sementara fungsi dapat dengan mudah merepresentasikan keadaan tereksitasi dari neuron sebagai 0 atau 1, fungsi ini memiliki kelemahan karena tidak dapat merepresentasikan keadaan antara
Fungsi sigmoid
Fungsi sigmoid adalah fungsi yang bervariasi dengan lancar antara 0 dan 1. Ini diwakili oleh persamaan berikut
Fungsi sigmoid, ketika dieksekusi dalam Python, terlihat seperti kode berikut.
import numpy as np
import matplotlib.pylab as plt
def sigmoid_function(x):
return 1/(1+np.exp(-x))
x = np.linspace(-5, 5)
y = sigmoid_function(x)
plt.plot(x, y)
plt.show()
Fungsi sigmoid lebih halus daripada fungsi langkah dan dapat mengekspresikan perantara antara 0 dan 1. Selain itu, fungsi sigmoid dicirikan oleh turunannya yang mudah ditangani.
Fungsi tanh
Fungsi tanh adalah fungsi yang bervariasi dengan lancar antara -1 dan 1. Bentuk kurva mirip dengan fungsi sigmoid, tetapi fungsi tanh simetris sekitar 0.
Fungsi tanh, ketika dijalankan dalam Python, terlihat seperti kode berikut
import numpy as np
import matplotlib.pylab as plt
x = np.linspace(-5, 5)
y = np.tanh(x
plt.plot(x, y)
plt.show()
Fungsi ReLU
Fungsi ReLU adalah fungsi yang outputnya $ y $ adalah 0 jika input $ x $ negatif dan $ y $ adalah $ x $ jika $ x $ positif. Fungsi ReLU diwakili oleh persamaan berikut.
Fungsi ReLU, ketika dijalankan dalam Python, terlihat seperti kode berikut
import numpy as np
import matplotlib.pylab as plt
x = np.linspace(-5, 5)
y = np.where(x <= 0, 0, x)
plt.plot(x, y)
plt.show()
Fungsi ReLU sering digunakan sebagai fungsi aktivasi selain lapisan output karena kesederhanaannya dan pembelajaran yang stabil bahkan ketika jumlah lapisan meningkat.
Fungsi Identitas
Fungsi identitas adalah fungsi yang mengembalikan input sebagaimana adanya sebagai output. Hal ini diwakili oleh persamaan berikut.
Kode Python untuk fungsi identitas adalah sebagai berikut
import numpy as np
import matplotlib.pylab as plt
x = np.linspace(-5, 5)
y = x
plt.plot(x, y)
plt.show()
Fungsi identitas sering digunakan dalam masalah regresi karena jangkauan outputnya tidak terbatas dan kontinu, membuatnya cocok untuk memprediksi angka kontinu.
Fungsi softmax
Fungsi softmax adalah fungsi aktivasi yang cocok untuk masalah klasifikasi. Jika output dari fungsi aktivasi adalah
Ini juga memiliki sifat-sifat fungsi softmax berikut.
- Jumlah output dari lapisan yang sama berjumlah 1
- Nilai
adalah output0<y<1
Karena sifat-sifat ini, fungsi softmax digunakan sebagai lapisan output untuk klasifikasi multikelas.
Fungsi softmax dapat diimplementasikan dengan kode berikut
import numpy as np
def softmax_function(x):
return np.exp(x)/np.sum(np.exp(x))
y = softmax_function(np.array([1,2,3]))
print(y)
[0.09003057 0.24472847 0.66524096]