Latihan Pembelajaran Mesin: Mempelajari Trend Indeks Saham Taiwan dengan Scikit (Bahagian 1) – Pembelajaran Mesin 101
Pembelajaran mesin ialah satu kaedah analisis statistik. Secara ringkas, masalah yang boleh ditangani oleh pembelajaran mesin boleh dibahagikan kepada empat kategori: pengelasan (classification), regresi (regression), pengelompokan (clustering) dan pengekstrakan peraturan (Rule Extraction).

Jangan risau! Kali ini semuanya isi, bukan cakap kosong, dan tiada lagi benda macam Ctrl + C.

Pembelajaran mesin ialah satu kaedah analisis statistik. Konsep utamanya: kita berikan sejumlah data kepadanya dan minta ia berikan hasil.
Hasil itu mungkin terus menjadi jawapan yang kita mahu (contohnya: belok kiri atau belok kanan), atau mungkin satu konsep abstrak yang kemudian kita gunakan untuk membuat pengelasan.
Secara ringkas, masalah yang boleh ditangani oleh pembelajaran mesin boleh dibahagikan kepada empat kategori: pengelasan (classification), regresi (regression), pengelompokan (clustering) dan pengekstrakan peraturan (Rule Extraction).
1. Pengelasan (classification): Kita latih model pembelajaran mesin dengan satu set data yang jawapannya sudah diketahui, contohnya: X = [0,2,3,3,4,5,6,7,8] Y = Taipei X = [0,7,3,3,4,5,6,7,8] Y = Kaohsiung X = [0,4,3,3,4,5,6,7,8] Y = Taichung X = ... Kita berikan banyak nombor telefon, dan jawapannya ialah kod kawasan. Kita harap model belajar untuk mengenal pasti bandar mana sesuatu nombor telefon sebaik sahaja melihatnya. Inilah masalah pengelasan. Selepas model selesai dilatih, kita masukkan X = [0,2,1,2,3,4,5,6,7,8] Jika model menjawab Taipei, maka pembelajarannya berjaya! 2. Regresi (regression): Kita latih model pembelajaran mesin dengan satu set data yang jawapannya sudah diketahui, contohnya: X = [0,1,2,3] Y = 12 X = [0,3,4,2] Y = 22 X = [0,1,1,1] Y = 23 X = ... Kita berikan banyak rentetan nombor rawak, dan jawapannya ialah jumlah nombor tersebut. Kita harap model belajar untuk memulangkan satu nombor apabila melihat satu rentetan nombor rawak. Penjelasannya, perbezaan terbesar dengan pengelasan ialah hasil ramalan. Jika hasil ramalan berterusan, ia masalah regresi; jika hasil ramalan diskret, ia masalah pengelasan atau jenis lain. Untuk contoh sebenar masalah regresi, klik pautan ini: ia menggunakan paras air sungai dan jumlah hujan dalam enam jam lalu untuk meramal paras air dua jam kemudian. 3. Pengelompokan (clustering): Berikan model sejumlah data yang jawapannya tidak diketahui, bersama logik pengelompokan (seperti jarak antara titik), dan biarkan ia mengelaskan data tersebut. Contoh: Pengecaman wajah Facebook 4. Pengekstrakan peraturan (Rule Extraction) Yang ini lebih abstrak, seperti menggunakan kaedah analisis untuk mencari peraturan. Contohnya, anda masukkan 10,000 keping gambar, dan selepas pengelompokan anda dapati anda dan kakak anda sentiasa diletakkan dalam kumpulan yang sama. Jadi anda boleh mengesyaki dengan munasabah bahawa anda dan kakak anda mungkin mempunyai ayah dan ibu yang sama. Pengecaman gambar -> hubungan darah, saya rasa lebih kurang begitulah pengekstrakan peraturan! Kalau rasa ini macam merepek, tak apa. Katakan anda membuat ramalan regresi jualan untuk 10,000 jenis barangan dan mendapati kitaran pembelian bir dan lampin adalah sama. Jadi anda boleh mengesyaki dengan munasabah bahawa orang lebih mudah dapat anak selepas minum, ramalan jualan -> minum arak boleh dapat anak.
Setakat ini, kita pada asasnya sudah faham masalah apa yang boleh diselesaikan oleh pembelajaran mesin.
Tetapi persoalan utamanya: bagaimana ia menyelesaikannya?
Biasanya kita memilih satu algoritma atau gabungan beberapa algoritma untuk menangani masalah tersebut. Asalkan hasilnya boleh menumpu, algoritma itu patut dicuba.
Jadi, apakah algoritma yang ada?
1. Regression Algorithms Ini kaedah regresi. Ramalan paras air tadi diselesaikan dengan kaedah ini. Sudah tentu regresi ada banyak kaedah khusus, tetapi tidak akan dihuraikan di sini. 2. Instance-based Algorithms Ia menggunakan fakta yang sudah berlaku untuk meramal apa yang akan berlaku apabila sesuatu petanda muncul pada masa hadapan. 3. Clustering Algorithms Pengelompokan: taburkan sejumlah titik dalam ruang berdimensi apa-apa, tentukan sendiri jarak Euclidean (Euclidean distance), dan titik yang berkumpul bersama dianggap satu kumpulan. Algoritma utama termasuk k-Means dan k-Median. 4. Kernel Algorithms Sebelum era data raya, inilah algoritma paling hebat dalam pembelajaran mesin, dan yang paling terkenal ialah mesin vektor sokongan (Supported Vector Machine, SVM). Konsepnya, kita petakan data asal ke dimensi yang lebih tinggi, kemudian baru buat pengelasan. Lagipun, polynomial function pasti ada satu darjah yang boleh memisahkan data ini dengan sempurna. 5. Ensemble Algorithms Saya agak suka yang ini. Ia belajar daripada hasil pelbagai model yang sudah dilatih, kemudian mengira hasil sekali lagi. Bayangkan AlphaGo: ia perlu tahu keadaan papan sekarang, keadaan selepas langkah yang anda buat, dan perkembangan selepas langkah seterusnya, lalu menggunakan semua itu untuk memutuskan langkah mana yang hendak diambil. 6. Neural Network Algorithms Ini meniru sel saraf kita: masukkan sejumlah data ke dalam neuron, dan neuron memberi tindak balas tidak linear. 7. Deep Learning Ini boleh dianggap sejenis varian “pelik” rangkaian neural, dan juga kaedah utama yang akan kita bincangkan seterusnya. Bayangkan banyak neuron saling menghantar dan menerima isyarat antara satu sama lain, sehingga akhirnya seluruh sistem saraf mengeluarkan satu isyarat atau satu kategori.
Sudah tentu ada banyak lagi jenis algoritma lain. Pada asasnya, cari sahaja kertas penyelidikan apabila perlu.
Berikut beberapa rujukan untuk sesiapa yang berminat menggali lebih dalam.
[1] Practical Machine Learning Problem
[2] Pengenalan Visual kepada Pembelajaran Mesin (edisi bahasa Cina)
[3] Coursera — Machine Leanring








![[Perkongsian Teknikal] Python 101](/assets/605852e084fb2346c3ea1559/60d97a7ac780931f83b3a365_60a5dbb5df894306f2930b52_manja-vitolic-gKXKBY-C-Dk-unsplash%20(1)-p-1080.jpeg)











