Regresi logistik secara mendalam
Teknik statistik yang disukai untuk mengatasi masalah klasifikasi dalam pembelajaran mesin adalah regresi logistik. Regresi logistik adalah metode untuk memprediksi hasil biner, seperti "ya" atau "tidak" atau "benar" atau "salah", berlawanan dengan regresi linier, yang digunakan untuk memprediksi hasil yang berkelanjutan. Fungsi logistik, yang mengubah setiap input dengan nilai riil menjadi angka antara 0 dan 1, berfungsi sebagai dasar model regresi logistik. Kami akan memberikan penjelasan menyeluruh tentang regresi logistik dalam posting ini, meliputi dasar matematika dan turunannya. Pertama, kita akan mulai dengan fungsi sigmoid dan kemudian kita akan membahas tentang model regresi logistik. Namun, jika Anda ingin mengetahui lebih lanjut tentang fungsi aktivasi, lihat artikel ini.
Fungsi Aktivasi dalam Pembelajaran MesinFungsi sigmoid
Ekspresi matematis yang disebut fungsi sigmoid mengubah input bernilai nyata apa pun menjadi angka antara 0 dan 1 dan juga dikenal sebagai fungsi logistik. Fungsi sigmoid dapat didefinisikan sebagai berikut:
Di mana:
- z menunjukkan garis klasifikasi yang menyerupai regresi linier,
- e adalah basis logaritma natural.
Dalam jaringan saraf tiruan, fungsi sigmoid sering digunakan sebagai fungsi aktivasi. Berdasarkan input dan bobotnya, output neuron ditentukan oleh fungsi aktivasi dalam jaringan saraf. Jaringan saraf banyak digunakan dalam pembelajaran mesin tetapi kami tidak akan membahasnya di artikel ini. Jika Anda ingin mempelajari lebih lanjut, silakan lihat artikel ini ( akan diposting ).
Model Regresi Logistik
Model regresi logistik membuat prediksi tentang kemungkinan hasil biner (benar/salah atau ya/tidak) berdasarkan satu atau lebih fitur input menggunakan fungsi logistik. Probabilitas yang diproyeksikan dari kelas positif diwakili oleh output fungsi logistik, yang berkisar dari 0 hingga 1. Pengamatan kemudian diklasifikasikan sebagai positif jika probabilitas yang diprediksi melebihi ambang batas, yang biasanya ditetapkan pada 0,5, untuk menentukan prediksi. kelas. Dengan mengurangi kemungkinan log negatif dari data, yang mencerminkan perbedaan antara probabilitas yang diantisipasi dan label kelas aktual, koefisien model regresi logistik dioptimalkan. Fungsi biaya untuk regresi logistik sering disebut kerugian lintas-entropi biner.
Fungsi kesalahan lintas-entropi biner
Fungsi kerugian umum dalam pembelajaran mesin, terutama untuk masalah klasifikasi biner, adalah fungsi kesalahan lintas-entropi biner. Ini menghitung perbedaan antara label sebenarnya dari variabel target biner dan probabilitas yang diantisipasi. Dalam klasifikasi biner, tujuannya adalah untuk memprediksi kemungkinan variabel target yang diberikan serangkaian fitur. Variabel target hanya dapat mengambil dua nilai, seperti 0 dan 1. Fungsi kesalahan lintas-entropi biner didefinisikan sebagai berikut:
Di mana:
- y_n adalah probabilitas yang diprediksi untuk kelas positif,
- t_n adalah label sebenarnya, baik 0 atau 1,
- dan J adalah fungsi tujuan yang kita coba minimalkan atau maksimalkan z e.
Namun demikian, kami akan menggunakan turunan parsial dari fungsi kesalahan lintas-entropi biner sehubungan dengan parameter untuk menentukan koefisien model regresi logistik untuk nilai optimal. Mari kita mulai dengan menurunkan sebagian fungsi biaya untuk menemukan nilai optimal dari bobot regresi logistik. Kita bisa mulai dengan menentukan turunan J terhadap y_n. Setelah itu, kita dapat menemukan turunan dari y_n sehubungan dengan input fungsi sigmoid, yang berfungsi sebagai fungsi aktivasi regresi logistik, dan kemudian kita dapat menurunkan turunan dari a sehubungan dengan bobotnya.
Setelah itu, kita dapat memperoleh ekspresi untuk menentukan nilai ideal istilah bias, di mana bias biasanya ditetapkan ke 1. Selain itu, bias dapat dimasukkan ke dalam bobot dengan menyertakan nilai 1.
Setelah mendapatkan ekspresi dari parameter pencarian, kita dapat beralih ke implementasi dalam bahasa pemrograman python.
import numpy as np
N = 100
def sigmoid_function(an):
return 1/(1 + np.exp(-an))
def binary_cross_entropy(T, Y):
E = 0
for i in range(len(T)):
if T[i] == 1:
E -= np.log(Y[i])
else:
E -= np.log(1 - Y[i])
return E
#short overwiev of updating process of w's
learning_rate = 0.01
for i in range(N):
# gradient descent weight udpate
w += learning_rate * Xb.T.dot(Y - T)
# recalculate Y
Y = sigmoid(Xb.dot(w))
from sklearn.linear_model import LogisticRegression
clf = LogisticRegression(random_state=0).fit(X, y)
clf.predict_proba(X)
clf.score(X, y)
Menambahkan istilah penalti juga memungkinkan fungsi biaya dimodifikasi. Overfitting dapat dicegah dalam regresi logistik dan regresi linier melalui regularisasi. Istilah ini mendorong koefisien untuk memiliki besaran kecil, mengurangi dampaknya terhadap prediksi model. Penalti untuk regularisasi L1, juga disebut Lasso, sama dengan nilai absolut dari koefisien, tetapi penalti untuk regularisasi L2, juga disebut Ridge, sama dengan kuadrat dari koefisien. Kedua metode regularisasi ini adalah tipikal dan kami akan membahas dua metode regularisasi ini di artikel selanjutnya ( akan diposting ).
Klasifikasi multi-kelas
Masalah klasifikasi multi-kelas, di mana hasilnya dapat memiliki lebih dari dua nilai, dapat ditangani dengan menggunakan perpanjangan regresi logistik. Biasanya, beberapa model regresi logistik biner dilatih, satu untuk setiap kelas, menggunakan metode satu lawan semua atau satu lawan satu. Peramalan kemudian dibuat untuk kelas dengan probabilitas antisipasi tertinggi.
Keterbatasan
Karena fakta bahwa regresi logistik menggunakan model linier, mungkin tidak cocok untuk data ketika terdapat korelasi rumit antara variabel independen dan hasil biner. Selain itu, regresi logistik tidak menawarkan estimasi varian dari probabilitas yang diprediksi, yang penting untuk memahami dan menilai model.
Jika Anda menyukai artikelnya, pastikan untuk mengikuti saya untuk mengetahui artikel baru saya.

![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































