
Halo Pembaca!
Saya baru-baru ini meluncurkan repositori Homemade Machine Learning , yang berisi contoh-contoh algoritma dan pendekatan pembelajaran mesin yang populer, seperti regresi linier, regresi logistik, metode K-means, dan jaringan saraf (perceptron multi-layer). Setiap algoritma berisi halaman demo interaktif yang diluncurkan di Jupyter NBViewer-e atau Binder-e. Dengan demikian, setiap orang memiliki kesempatan untuk mengubah data pelatihan, parameter pelatihan dan segera melihat hasil pelatihan, visualisasi dan prediksi model di browser mereka tanpa menginstal Jupyter secara lokal.
Tujuan dari repositori ini adalah untuk mengimplementasikan algoritma hampir dari awal, untuk memiliki pemahaman yang lebih rinci tentang model matematika yang ada di belakang masing-masing algoritma. Perpustakaan utama yang digunakan adalah NumPy dan Pandas . Perpustakaan ini digunakan untuk operasi yang efisien pada matriks, serta untuk memuat dan mengurai data CSV. Di halaman demo untuk merencanakan grafik dan memvisualisasikan data pelatihan, perpustakaan Matplotlib dan Plotly juga digunakan. Dalam kasus regresi logistik, pustaka SciPy digunakan untuk meminimalkan fungsi kerugian, tetapi dalam kasus lain, gradient descent diimplementasikan dalam NumPy / Python murni. Menggunakan perpustakaan seperti PyTorch atau TensorFlow dihindari karena tujuan pengajaran repositori.
Saat ini, algoritma berikut diimplementasikan dalam repositori ...
Regresi. Regresi linier.
Dalam masalah yang terkait dengan regresi, kami mencoba memprediksi angka sebenarnya berdasarkan data yang masuk. Bahkan, kami sedang membangun garis / bidang / bidang n-dimensi di sepanjang data pelatihan agar dapat membuat prediksi untuk input data yang tidak ada di set pelatihan. Ini terjadi, misalnya, jika kita ingin memprediksi biaya apartemen 2 kamar, di pusat N, di lantai 7.
Klasifikasi. Regresi logistik.
Dalam masalah yang terkait dengan klasifikasi, kami memecah data ke dalam kelas tergantung pada parameter data ini. Contoh tugas klasifikasi adalah pengenalan spam. Bergantung pada teks surat (data yang masuk) kami menetapkan setiap huruf ke salah satu dari dua kelas ("spam" atau "bukan spam").
Clustering Metode K-means.
Dalam tugas pengelompokan, kami memecah data kami menjadi kelompok yang tidak diketahui sebelumnya. Algoritma ini dapat digunakan untuk segmentasi pasar, analisis jaringan sosial dan tidak hanya.
Jaringan saraf. Multilayer Perceptron (MLP).
Jaringan saraf lebih cenderung bukan algoritma, tetapi "pola" atau "kerangka kerja" untuk mengatur algoritma pembelajaran mesin yang berbeda ke dalam satu sistem untuk analisis lebih lanjut dari data input yang kompleks.
Cari anomali menggunakan distribusi Gaussian
Dalam masalah yang terkait dengan pencarian anomali, kami mencoba untuk mengisolasi contoh data yang terlihat "mencurigakan" dibandingkan dengan kebanyakan contoh lainnya. Misalnya, definisi transaksi atipikal (mencurigakan) dengan kartu kredit.
Saya harap Anda menemukan repositori berguna, baik dengan bereksperimen dengan demonstrasi setiap algoritma, atau dengan membaca tentang model matematika di belakangnya, atau dengan menganalisis rincian implementasi masing-masing algoritma.
Pengodean yang berhasil!