Algoritma hebat, pembelajaran mesin dan tidak ada aljabar linier

30

Saya mengajar kursus algoritma tingkat lanjut dan ingin memasukkan beberapa topik yang berkaitan dengan pembelajaran mesin yang akan menarik bagi siswa saya. Sebagai hasilnya, saya ingin mendengar pendapat orang tentang hasil algoritmik yang paling menarik / terbesar saat ini dalam pembelajaran mesin. Kendala yang berpotensi sulit adalah bahwa siswa tidak akan memiliki pengetahuan sebelumnya tentang aljabar linier atau topik utama lainnya dalam pembelajaran mesin.

Ini benar-benar membuat mereka bersemangat tentang topik dan untuk memberi tahu mereka bahwa ML adalah area penelitian yang berpotensi menarik bagi para ahli algoritma.

EDIT: Ini adalah program sarjana tahun terakhir (karena kami tidak memiliki program pascasarjana di Inggris pada utamanya). Mereka akan melakukan setidaknya satu kursus dasar algoritma sebelumnya dan mungkin dilakukan dengan baik di dalamnya untuk memilih kursus lanjutan lanjutan. Silabus saat ini dari kursus lanjutan memiliki topik seperti hashing sempurna, filter Bloom, pohon van Emde Boas, prog. Linear, kira-kira. algoritma untuk masalah NP-hard dll. Saya tidak bermaksud untuk menghabiskan lebih dari satu kuliah secara eksklusif pada ML tetapi jika ada sesuatu yang benar-benar relevan untuk kursus algoritma dan ML maka tentu saja itu juga bisa dimasukkan.

Raphael
sumber
1
Tolong jelaskan dua hal: 1) Apakah itu program sarjana atau sarjana? Kursus terkait apa (jika ada) yang telah mereka lewati? 2) Berapa banyak waktu yang ingin Anda curahkan untuk ML?
MS Dousti
3
hmmm saya pikir aljabar linier adalah suatu keharusan dan kursus dasar yang penting, setidaknya di sisi pembelajaran mesin. dan saya pikir model linear adalah pengantar yang sangat baik untuk algoritma pembelajaran mesin. Anda mungkin memikirkan algoritma tingkat dasar lainnya seperti K-tetangga terdekat atau algoritma regresi logistik. mungkin ini membantu Anda en.wikipedia.org/wiki/List_of_machine_learning_algorithms
Deyaa
1
Mungkin beberapa ide dari bagaimana Hal Daume mengajarkan Machine Learning - nlpers.blogspot.com/2010/04/how-i-teach-machine-learning.html
Yaroslav Bulatov
3
Dear Raphael, Avrim Blum biasanya mengakhiri kelas algoritma tingkat seniornya dengan pembelajaran mesin dan beberapa topik terkait; iterasi baru-baru ini ada di tautan berikut cs.cmu.edu/~avrim/451f09/index.html , dan Anda bisa mendapatkan lebih banyak info dari halaman webnya. Setelah TA'd dan mengambil kelas ini, saya dapat mengatakan bahwa itu (dan materi penutupnya) diterima dengan sangat hangat oleh para siswa.
matus
1
lihat misalnya algoritma genetika atau juga pembelajaran dalam
vzn

Jawaban:

29

Anda dapat menutupi peningkatan . Ini sangat pintar, mudah diimplementasikan, digunakan secara luas dalam praktik, dan tidak memerlukan banyak pengetahuan prasyarat untuk mengerti.

Lev Reyzin
sumber
5
Saya telah mempresentasikan beberapa bagian survei oleh Arora et al. ( cs.princeton.edu/~arora/pubs/MWsurvey.pdf ) di kelas teori pascasarjana beberapa tahun yang lalu. Orang-orang sepertinya menyukainya dan saya pikir Anda hampir tidak membutuhkan latar belakang untuk memahami materi ini.
Danu
9

Jika Anda hanya ingin membangkitkan selera mereka dalam satu ceramah, mungkin akan sangat menarik untuk menghadirkan aplikasi yang kuat. Misalnya, mesin dukungan vektor , dan algoritma pembelajaran mesin lainnya, digunakan dalam chemoinformatics untuk penemuan obat.

Masalah pembelajaran pada dasarnya adalah: mengingat perilaku yang ingin ditunjukkan oleh bahan kimia, buat struktur yang menunjukkan perilaku itu dengan menyimpulkannya dari basis data struktur yang diketahui yang memperlihatkan perilaku serupa (atau berbeda). Masalah pembelajaran memiliki kerutan tambahan: obat baru harus "jauh" dalam struktur global dari obat yang diketahui sebelumnya, untuk menemukan kebun paten.

Salah satu sumber adalah Metode Clustering dan Penggunaannya dalam Kimia Komputasi .

Aaron Sterling
sumber
1
Terima kasih untuk referensi. Saya berpikir mungkin mengajar SVM sebagai aplikasi optimasi cembung. Itu akan menghubungkan bagian algoritma dengan bagian ML dengan baik.
Raphael
2
bagaimana Anda menutupi SVM tanpa aljabar linier?
Lev Reyzin
Saya berharap untuk mengajar mereka prasyarat minimum untuk itu dalam kursus saya. Mungkin itu terlalu optimis :-)
Raphael
Apakah masih ada contoh penting di mana mesin dukungan vektor adalah pilihan terbaik? Saya perhatikan bahwa pada kompetisi kaggle, misalnya, mereka tidak pernah menjadi bagian utama dari entri yang menang. Setidaknya tidak ada yang saya lihat baru-baru ini. (Saya berdiri untuk dikoreksi tentu saja.)
Lembik
7

K-Means dan KNN sangat kuat dan tidak memerlukan Aljabar Linier kecuali perhitungan jarak titik.


sumber
K-Means khususnya adalah algoritma yang sangat kuat. Ini sangat efektif walaupun tidak memiliki batas yang terbukti pada kinerja fungsi objektifnya, sedemikian menakutkan sehingga hampir seperti kompleksitas polinomial efektif algoritma Simplex (meskipun kompleksitas eksponensial nyata). Versi online-nya juga berguna dalam aplikasi data skala besar.
Elliot JJ
5

Bagian kedua dari "Jaringan Saraf dan Pembelajaran Mesin" oleh Christopher Bishop (di MSR) ada pada algoritma dalam ML. Buku teks Bishop biasanya digunakan untuk buku teks lulusan (dan kemudian sarjana) dan ditulis dengan sangat baik.

Christina Boucher
sumber
4

Algoritma ini menggunakan potongan minimum grafik untuk mengklasifikasikan sejumlah besar sampel tidak berlabel menggunakan hanya sejumlah kecil sampel berlabel.

Itu ramah mahasiswa. Saya telah menjelaskan hal ini kepada beberapa undergrads yang dipilih secara acak dan mereka memahaminya.

Ref: Blum, A., & Chawla, S. (2001). Belajar dari data yang diberi label dan tidak berlabel menggunakan grafik mincuts.

Promosi diri Visualisasi algoritma di youtube .

Pratik Deoghare
sumber
1

Anda dapat membahas beberapa algoritma yang klasik atau dengan intuisi yang baik.

Misalnya, C4.5 dan CART, yang merupakan algoritma pohon keputusan klasik.

Anda juga dapat membahas beberapa metode ensemble (misalnya, AdaBoost (Boosting), Bagging), yang memiliki kinerja yang sangat baik dalam aplikasi dunia nyata.

Selain itu, pembelajaran yang mendalam juga merupakan topik yang baik, karena sangat panas.

jet
sumber
0

Native bayes dan jaringan Bayesian, algoritma pohon keputusan cukup mudah untuk divisualisasikan daripada memulai dengan jaringan netral atau svm

Prabu
sumber
0

Pemrograman genetik sangat keren. Ini menggunakan inspirasi dari biologi, dan dapat diterapkan pada sejumlah besar masalah (misalnya, masalah n-queens, dan TSP).

Itu tidak membutuhkan keterampilan matematika yang mendalam.

EDIT: Ini hanya membutuhkan cara untuk memperkirakan seberapa baik solusi potensial. Ini dapat digunakan misalnya untuk menebak aturan di balik serangkaian angka, menemukan minima / maxima untuk masalah multi-variate, dan mencari spasi parameter yang besar. Ini cocok ketika Anda tidak tertarik pada solusi optimal, tetapi ketika solusi yang cukup baik akan dilakukan. Saya percaya ini telah digunakan untuk menemukan strategi yang baik untuk permainan (membangun pesanan di Starcraft 2, dan bermain optimal di Mario).

Per Alexandersson
sumber
Apakah ada masalah penting yang merupakan metode terbaik? Maksud saya tentu bukan untuk TSP misalnya.
Lembik