Kursus ini difokuskan pada pertanyaan: Bagaimana kita melakukan perhitungan matriks dengan kecepatan dan akurasi yang dapat diterima?
Kursus ini diajarkan dalam program Magister Sains dalam Analisis Universitas San Francisco, musim panas 2017 (untuk mahasiswa pascasarjana yang belajar menjadi ilmuwan data). Kursus ini diajarkan dengan Python dengan Jupyter Notebooks, menggunakan perpustakaan seperti Scikit-Learn dan Numpy untuk sebagian besar pelajaran, serta Numba (perpustakaan yang mengkompilasi Python ke C untuk kinerja lebih cepat) dan PyTorch (alternatif Numpy untuk GPU) dalam beberapa pelajaran.
Buku catatan tersebut disertai dengan playlist video ceramah yang tersedia di YouTube. Jika Anda pernah bingung dengan suatu ceramah atau berjalan terlalu cepat, lihat awal video berikutnya, di mana saya mengulas konsep-konsep dari kuliah sebelumnya, sering kali menjelaskan sesuatu dari sudut pandang baru atau dengan ilustrasi yang berbeda, dan menjawab pertanyaan.
Anda dapat mengajukan pertanyaan atau berbagi pemikiran dan sumber daya Anda menggunakan kategori Aljabar Linier Komputasi di forum diskusi fast.ai kami.
Daftar berikut tertaut ke buku catatan di repositori ini, yang dirender melalui layanan nbviewer. Topik yang Dicakup:
Kita mulai dengan ikhtisar tingkat tinggi dari beberapa konsep dasar dalam aljabar linier numerik.
Kami akan menggunakan kumpulan data newsgroup untuk mencoba mengidentifikasi topik postingan yang berbeda. Kami menggunakan matriks istilah-dokumen yang mewakili frekuensi kosakata dalam dokumen. Kami memfaktorkannya menggunakan NMF, dan kemudian dengan SVD.
Penerapan lain dari SVD adalah untuk mengidentifikasi orang-orang dan menghapus latar belakang video pengawasan. Kami akan membahas PCA yang kuat, yang menggunakan SVD acak. Dan SVD Acak menggunakan faktorisasi LU.
Penginderaan terkompresi sangat penting untuk memungkinkan CT scan dengan radiasi lebih rendah-- gambar dapat direkonstruksi dengan lebih sedikit data. Di sini kita akan mempelajari tekniknya dan menerapkannya pada gambar CT.
Kami telah menerapkan SVD pada pemodelan topik, penghapusan latar belakang, dan regresi linier. SVD terkait erat dengan dekomposisi eigen, jadi sekarang kita akan mempelajari cara menghitung nilai eigen untuk matriks besar. Kita akan menggunakan data DBpedia, kumpulan data besar tautan Wikipedia, karena di sini vektor eigen utama memberikan kepentingan relatif dari halaman Wikipedia yang berbeda (ini adalah ide dasar algoritma PageRank Google). Kita akan melihat 3 metode berbeda untuk menghitung vektor eigen, yang semakin kompleks (dan semakin bermanfaat!).
Kursus ini disusun dengan metode pengajaran top-down , yang berbeda dari cara kerja kebanyakan kursus matematika. Biasanya, dalam pendekatan bottom-up , pertama-tama Anda mempelajari semua komponen terpisah yang akan Anda gunakan, dan kemudian Anda secara bertahap membangunnya menjadi struktur yang lebih kompleks. Permasalahannya adalah siswa sering kehilangan motivasi, tidak memahami “gambaran besarnya”, dan tidak tahu apa yang mereka perlukan.
Profesor Harvard David Perkins memiliki buku, Making Learning Whole di mana dia menggunakan baseball sebagai analogi. Kami tidak mengharuskan anak-anak untuk menghafal semua peraturan bisbol dan memahami semua detail teknis sebelum kami membiarkan mereka memainkan permainan tersebut. Sebaliknya, mereka mulai bermain dengan pemahaman umum saja, dan kemudian secara bertahap mempelajari lebih banyak aturan/detail seiring berjalannya waktu.
Jika Anda mengikuti kursus pembelajaran mendalam fast.ai, itulah yang kami gunakan. Anda dapat mendengar lebih banyak tentang filosofi pengajaran saya di postingan blog ini atau ceramah yang saya berikan di pertemuan Pembelajaran Mesin San Francisco.
Artinya, jangan khawatir jika Anda tidak memahami semuanya pada awalnya! Anda tidak seharusnya melakukannya. Kita akan mulai menggunakan beberapa "kotak hitam" atau dekomposisi matriks yang belum dijelaskan, lalu kita akan menggali detail tingkat bawahnya nanti.
Untuk memulai, fokuslah pada apa yang DILAKUKAN, bukan pada apa ADANYA.