Kami tenggelam dalam informasi dan kelaparan akan pengetahuan. - John Naisbitt.
Kita sedang memasuki era big data. Misalnya, ada sekitar 1 triliun halaman web1
; satu
jam video diunggah ke YouTube setiap detik, masing-masing berjumlah 10 tahun konten
hari ke-2; genom dari 1000 orang, yang masing-masing memiliki panjang 3,8 × 109 pasangan basa,
memiliki
telah diurutkan oleh berbagai laboratorium; Walmart menangani lebih dari 1 juta transaksi per jam dan
telah
database yang berisi lebih dari 2,5 petabyte (2,5 × 1015) informasi (Cukier 2010); sehingga
di.
Banjir data ini membutuhkan metode otomatis analisis data, yang merupakan mesin
secara otomatis mendeteksi pola dalam data, dan kemudian menggunakan pola yang tidak tercakup
untuk memprediksi masa depan
data, atau untuk melakukan jenis pengambilan keputusan di bawah ketidakpastian (seperti perencanaan
bagaimana melakukannya
Buku ini mengadopsi pandangan bahwa cara terbaik untuk memecahkan masalah tersebut adalah
dengan menggunakan alat
teori probabilitas. Teori probabilitas dapat diterapkan pada masalah apa pun yang melibatkan
ketidakpastian.
Dalam pembelajaran mesin, ketidakpastian datang dalam berbagai bentuk: prediksi terbaik tentang file
masa depan mengingat beberapa data masa lalu? model apa yang terbaik untuk menjelaskan beberapa
data? pengukuran apa
haruskah saya tampil selanjutnya? dll. Pendekatan probabilistik untuk pembelajaran mesin terkait erat
dengan
bidang statistik, tetapi sedikit berbeda dalam hal penekanan dan terminologi.
Kami akan menjelaskan berbagai macam model probabilistik, cocok untuk berbagai macam data dan
tugas. Kami juga akan menjelaskan berbagai macam algoritme untuk mempelajari dan menggunakan
model semacam itu.
Tujuannya bukan untuk mengembangkan buku masak teknik-teknik ad hoc, melainkan menghadirkan
suatu kesatuan
pandangan lapangan melalui lensa pemodelan probabilistik dan inferensi. Meskipun kami akan
membayar
perhatian pada efisiensi komputasi, perincian tentang cara menskalakan metode ini menjadi benar-
benar masif
dataset lebih baik dijelaskan dalam buku lain, seperti (Rajaraman dan Ullman 2011; Bekkerman
dkk. 2011).
Perlu dicatat, bagaimanapun, bahwa bahkan ketika seseorang memiliki kumpulan data yang tampak
masif, file
Jumlah titik data efektif untuk kasus tertentu yang menarik mungkin cukup kecil. Faktanya, data
di berbagai domain menunjukkan properti yang dikenal sebagai long tail, yang berarti a
beberapa hal (misalnya, kata-kata) sangat umum, tetapi kebanyakan hal cukup jarang (lihat Bagian 2.4.7
untuk
detail). Misalnya, 20% pencarian Google setiap hari belum pernah terlihat sebelumnya4
. Ini
Artinya masalah statistik inti yang kita bahas dalam buku ini, tentang generalisasi dari
ukuran sampel yang relatif kecil, masih sangat relevan bahkan di era data besar.
Pembelajaran mesin biasanya dibagi menjadi dua jenis utama. Di prediksi atau diawasi
Pendekatan pembelajaran, tujuannya adalah mempelajari pemetaan dari input x ke output y, diberi
label
Dalam pengaturan yang paling sederhana, setiap input pelatihan xi adalah vektor angka berdimensi-D,
yang mewakili, katakanlah, tinggi dan berat seseorang. Ini disebut fitur, atribut, atau
kovariat. Secara umum, bagaimanapun, xi bisa menjadi objek terstruktur yang kompleks, seperti
gambar, a
Demikian pula bentuk variabel output atau respon pada prinsipnya dapat berupa apa saja, tetapi
kebanyakan metode mengasumsikan bahwa yi adalah variabel kategori atau nominal dari beberapa
himpunan hingga,
yi ∈ {1, ..., C} (seperti pria atau wanita), atau yi adalah skalar bernilai riil (seperti pendapatan
tingkat). Jika yi dikategorikan, masalahnya dikenal sebagai klasifikasi atau pengenalan pola,
dan jika yi bernilai riil, masalahnya dikenal sebagai regresi. Varian lain, yang dikenal sebagai
regresi ordinal, terjadi di mana ruang label Y memiliki beberapa tatanan alami, seperti nilai A – F
Jenis utama kedua dari pembelajaran mesin adalah pembelajaran deskriptif atau tanpa pengawasan
pola ”dalam data. Ini terkadang disebut penemuan pengetahuan. Ini jauh lebih sedikit
masalah yang terdefinisi dengan baik, karena kita tidak diberitahu jenis pola apa yang harus dicari, dan
tidak ada
metrik kesalahan yang jelas untuk digunakan (tidak seperti pembelajaran yang diawasi, di mana kita
dapat membandingkan prediksi kita
Ada jenis pembelajaran mesin ketiga, yang dikenal sebagai pembelajaran penguatan, yaitu
agak kurang umum digunakan. Ini berguna untuk mempelajari bagaimana bertindak atau berperilaku
saat diberikan
sinyal hadiah atau hukuman sesekali. (Misalnya, perhatikan bagaimana bayi belajar berjalan.)
Sayangnya, RL berada di luar cakupan buku ini, meskipun kami membahas teori keputusan
di Bagian 5.7, yang merupakan dasar dari RL. Lihat misalnya, (Kaelbling et al. 1996; Sutton dan Barto
1998;
Russell dan Norvig 2010; Szepesvari 2010; Wiering dan van Otterlo 2012) untuk informasi lebih lanjut
di RL.
Gambar 1.1 Kiri: Beberapa contoh pelatihan berlabel bentuk berwarna, bersama dengan 3 kasus uji tak
berlabel.
Kanan: Mewakili data pelatihan sebagai matriks desain N × D. Baris i mewakili vektor fitur xi.
Kolom terakhir adalah label, yi ∈ {0, 1}. Berdasarkan gambar oleh Leslie Kaelbling
Kami memulai penyelidikan tentang pembelajaran mesin dengan mendiskusikan pembelajaran yang
diawasi, yaitu
1.2.1 Klasifikasi
Pada bagian ini, kita membahas klasifikasi. Di sini tujuannya adalah untuk mempelajari pemetaan dari
input x
untuk mengeluarkan y, di mana y ∈ {1, ..., C}, dengan C sebagai jumlah kelas. Jika C = 2, ini
disebut klasifikasi biner (dalam hal ini kita sering mengasumsikan y ∈ {0, 1}); jika C> 2, ini disebut
klasifikasi multikelas. Jika label kelas tidak saling eksklusif (misalnya, seseorang mungkin
diklasifikasikan sebagai tinggi dan kuat), kami menyebutnya klasifikasi multi-label, tetapi ini paling baik
dipandang sebagai
memprediksi beberapa label kelas biner terkait (yang disebut model keluaran berganda). Ketika kita
menggunakan istilah "klasifikasi", yang kami maksud adalah klasifikasi multikelas dengan satu keluaran,
kecuali
Salah satu cara untuk memformalkan masalah adalah sebagai pendekatan fungsi. Kami mengasumsikan
y = f (x) untuk
beberapa fungsi f tidak diketahui, dan tujuan pembelajarannya adalah untuk memperkirakan fungsi f
yang diberi label
set pelatihan, dan kemudian membuat prediksi menggunakan yˆ = ˆf (x). (Kami menggunakan simbol
topi untuk menunjukkan
perkiraan.) Tujuan utama kami adalah membuat prediksi pada input baru, artinya input yang kami miliki
tidak terlihat sebelumnya (ini disebut generalisasi), karena memprediksi respons pada set pelatihan
1.2.1.1 Contoh
Sebagai contoh klasifikasi mainan sederhana, pertimbangkan masalah yang diilustrasikan pada Gambar
1.1 (a). Kita
memiliki dua kelas objek yang sesuai dengan label 0 dan 1. Input berupa bentuk berwarna.
Ini telah dijelaskan oleh sekumpulan fitur atau atribut D, yang disimpan dalam N × D
desain matriks X, ditunjukkan pada Gambar 1.1 (b). Fitur input x dapat berupa diskrit, kontinu, atau a
Pada Gambar 1.1, kasus uji adalah bulan sabit biru, lingkaran kuning, dan panah biru. Tidak ada
ini telah terlihat sebelumnya. Jadi kita dituntut untuk menggeneralisasi di luar set pelatihan. Tebakan
yang masuk akal adalah bahwa bulan sabit biru seharusnya y = 1, karena semua bentuk biru diberi label
1 di
perlengkapan latihan. Lingkaran kuning lebih sulit untuk diklasifikasikan, karena beberapa benda kuning
diberi label y = 1
dan beberapa diberi label y = 0, dan beberapa lingkaran diberi label y = 1 dan beberapa y = 0. Akibatnya
tidak jelas harus seperti apa label yang tepat dalam kasus lingkaran kuning. Begitu pula dengan yang
benar
Untuk menangani kasus yang ambigu, seperti lingkaran kuning di atas, diharapkan mengembalikan
probabilitas.
Kami akan menunjukkan distribusi probabilitas atas label yang mungkin, mengingat vektor input x dan
set pelatihan D oleh p (y | x, D). Secara umum, ini mewakili vektor dengan panjang C. (Jika hanya ada
dua
0 | x, D) = 1.) Dalam notasi kami, kami menyatakan secara eksplisit bahwa probabilitas bergantung pada
pengujian
masukan x, serta set pelatihan D, dengan meletakkan istilah-istilah ini di sisi kanan
pendingin bar |. Kami juga secara implisit mengkondisikan bentuk model yang kami gunakan untuk
membuat
prediksi. Saat memilih di antara model yang berbeda, kami akan membuat asumsi ini menjadi eksplisit
dengan
menulis p (y | x, D, M), di mana M menunjukkan model. Namun, jika modelnya jelas dari konteksnya,
Dengan adanya keluaran probabilistik, kami selalu dapat menghitung "tebakan terbaik" kami untuk
"label sebenarnya"
menggunakan
yˆ = ˆf (x) = C.
argmax c = 1
p (y = c | x, D)
Ini sesuai dengan label kelas yang paling mungkin, dan disebut mode distribusi
p (y | x, D); ini juga dikenal sebagai perkiraan MAP (MAP adalah singkatan dari maximum a posteriori).
Menggunakan
label yang paling mungkin masuk akal secara intuitif, tetapi kami akan memberikan pembenaran yang
lebih formal untuk
Sekarang perhatikan kasus seperti lingkaran kuning, di mana p (ˆy | x, D) jauh dari 1,0. Seperti
jika kami tidak terlalu yakin dengan jawaban kami, jadi mungkin lebih baik untuk mengatakan "Saya
tidak tahu" sebagai gantinya
mengembalikan jawaban yang tidak benar-benar kami percayai. Ini sangat penting di domain
seperti obat-obatan dan keuangan di mana kami mungkin menghindari risiko, seperti yang kami jelaskan
di Bagian 5.7.
Aplikasi lain yang penting untuk menilai risiko adalah saat memainkan acara permainan TV, seperti itu
sebagai Jeopardy. Dalam permainan ini, kontestan harus memecahkan berbagai teka-teki kata dan
menjawab berbagai macam teka-teki
pertanyaan sepele, tetapi jika mereka menjawab dengan salah, mereka kehilangan uang. Pada tahun
2011, IBM meluncurkan a
sistem komputer yang disebut Watson yang mengalahkan juara Jeopardy manusia teratas. Watson
menggunakan file
berbagai teknik yang menarik (Ferrucci et al. 2010), tetapi yang paling relevan untuk saat ini
tujuannya adalah bahwa ia berisi modul yang memperkirakan seberapa yakinnya itu akan jawabannya.
Sistem
hanya memilih untuk "mendengungkan" jawabannya jika cukup yakin bahwa jawaban itu benar.
Demikian pula, Google memiliki
sistem yang dikenal sebagai SmartASS (sistem pemilihan iklan) yang memprediksi kemungkinan Anda
akan mengklik
iklan berdasarkan riwayat pencarian Anda dan pengguna lain serta fitur khusus iklan (Metz 2010). Ini
probabilitas dikenal sebagai rasio klik-tayang atau RKT, dan dapat digunakan untuk memaksimalkan
yang diharapkan
keuntungan. Kami akan membahas beberapa prinsip dasar di balik sistem seperti SmartASS nanti
buku ini.
Gambar 1.2 Subset berukuran 16242 x 100 dari 20 data grup berita. Kami hanya menampilkan 1000
baris, untuk kejelasan.
Setiap baris adalah sebuah dokumen (direpresentasikan sebagai vektor bit sekantong kata), setiap
kolom adalah sebuah kata. Yang merah
baris memisahkan 4 kelas, yaitu (dalam urutan menurun) comp, rec, sci, talk (ini adalah judul dari
Grup USENET). Kita dapat melihat bahwa ada subset kata yang ada atau tidaknya merupakan indikasi
newsgroupsVisualisasi.
Klasifikasi mungkin adalah bentuk pembelajaran mesin yang paling banyak digunakan, dan telah
digunakan
untuk memecahkan banyak masalah dunia nyata yang menarik dan sering kali sulit. Kami telah
menyebutkan
beberapa aplikasi penting. Kami memberikan beberapa contoh lagi di bawah ini.
Dalam klasifikasi dokumen, tujuannya adalah untuk mengklasifikasikan dokumen, seperti halaman web
atau email
pesan, ke dalam salah satu kelas C, yaitu untuk menghitung p (y = c | x, D), di mana x adalah beberapa
representasi dari teks. Kasus khusus dari ini adalah pemfilteran spam email, di mana kelasnya adalah
spam
y = 1 atau ham y = 0.
Kebanyakan pengklasifikasi berasumsi bahwa vektor input x memiliki ukuran tetap. Cara umum untuk
mewakili
dokumen dengan panjang variabel dalam format vektor fitur adalah dengan menggunakan sekantong
representasi kata.
Ini dijelaskan secara rinci di Bagian 3.4.4.1, tetapi ide dasarnya adalah untuk mendefinisikan xij = 1 i!
kata j
terjadi pada dokumen i. Jika kita menerapkan transformasi ini ke setiap dokumen dalam kumpulan data
kita, kita dapatkan
sebuah dokumen biner × kata matriks kemunculan bersama: lihat Gambar 1.2 sebagai contoh. Pada
dasarnya file
masalah klasifikasi dokumen telah direduksi menjadi masalah yang mencari perubahan halus di
pola bit. Misalnya, kami mungkin memperhatikan bahwa sebagian besar pesan spam memiliki
probabilitas yang tinggi
berisi kata "beli", "murah", "viagra", dll. Dalam Latihan 8.1 dan Latihan 8.2, Anda akan mendapatkan
pengalaman langsung menerapkan berbagai teknik klasifikasi untuk masalah pemfilteran spam.
Gambar 1.3 Tiga jenis bunga iris: setosa, versicolor dan virginica. Sumber: http: //www.statlab.u
Gambar 1.4 Visualisasi data Iris sebagai plot sebar berpasangan. Garis diagonal memplot tepi
histogram dari 4 fitur. O! diagonal berisi diagram sebar dari semua kemungkinan pasangan fitur. Merah
lingkaran = setosa, berlian hijau = versicolor, bintang biru = virginica. Gambar yang dihasilkan oleh
fisheririsDemo.
Mengklasifikasikan bunga
Gambar 1.3 memberikan contoh klasifikasi lainnya, menurut ahli statistik Ronald Fisher. Hasil
adalah belajar membedakan tiga macam bunga iris, yaitu setosa, versicolor dan virginica.
Untungnya, daripada bekerja langsung dengan gambar, seorang ahli botani telah mengekstraksi 4
gambar berguna
ciri atau ciri: panjang dan lebar sepal, serta panjang dan lebar kelopak. (Fitur seperti itu
ekstraksi adalah tugas yang penting, tetapi sulit. Sebagian besar metode pembelajaran mesin
menggunakan fitur
dipilih oleh beberapa manusia. Nanti kita akan membahas beberapa metode yang dapat mempelajari
fitur-fitur yang baik
data.) Jika kita membuat plot sebar dari data iris, seperti pada Gambar 1.4, kita melihat bahwa mudah
untuk
membedakan setosa (lingkaran merah) dari dua kelas lainnya hanya dengan memeriksa apakah panjang
kelopaknya
Figure 1.5 (a) First 9 test MNIST gray-scale images. (b) Same as (a), but with the features permuted
randomly. Classification performance is identical on both versions of the data (assuming the training
data is permuted in an identical way). Figure generated by shuffledDigitsDemo.
atau lebarnya di bawah ambang tertentu. Namun, membedakan versicolor dari virginica sedikit
lebih keras; keputusan apa pun harus didasarkan pada setidaknya dua fitur. (Itu selalu merupakan ide
yang bagus
untuk melakukan analisis data eksplorasi, seperti memplot data, sebelum menerapkan mesin
metode pembelajaran.)
Sekarang pertimbangkan masalah yang lebih sulit dalam mengklasifikasikan gambar secara langsung, di
mana manusia belum memproses datanya. Kami mungkin ingin mengklasifikasikan gambar secara
keseluruhan, misalnya, apakah itu di dalam ruangan atau
adegan luar ruangan? apakah itu foto horizontal atau vertikal? apakah itu berisi seekor anjing atau
tidak? Ini disebut
klasifikasi gambar.
Dalam kasus khusus, gambar terdiri dari huruf dan angka tulisan tangan yang terisolasi, untuk
Misalnya, pada kode pos atau ZIP pada sebuah surat, kita dapat menggunakan klasifikasi untuk
melakukan tulisan tangan
pengakuan. Dataset standar yang digunakan di area ini dikenal sebagai MNIST, yang merupakan
singkatan dari “Dimodifikasi
Institut Standar Nasional ”5. (Istilah "dimodifikasi" digunakan karena gambarnya telah diubah
diproses sebelumnya untuk memastikan sebagian besar digit berada di tengah gambar.) Dataset ini
berisi
60.000 gambar pelatihan dan 10.000 gambar uji dari digit 0 hingga 9, seperti yang ditulis oleh berbagai
orang.
Gambar berukuran 28 × 28 dan memiliki nilai grayscale dalam kisaran 0: 255. Lihat Gambar 1.5 (a) untuk
Banyak metode klasifikasi umum mengabaikan struktur apa pun dalam fitur masukan, seperti spasial
tata letak. Akibatnya, mereka juga dapat dengan mudah menangani data yang terlihat seperti Gambar
1.5 (b), yaitu
adalah data yang sama kecuali kami telah mengubah urutan semua fitur secara acak. (Kamu akan
verifikasi ini dalam Latihan 1.1.) Fleksibilitas ini sekaligus merupakan berkat (karena metodenya umum
tujuan) dan kutukan (karena metode mengabaikan sumber informasi yang jelas berguna). Kita
akan membahas metode untuk mengeksploitasi struktur dalam fitur masukan nanti di buku ini.
Gambar 1.6 Contoh deteksi wajah. (a) Gambar input (Keluarga Murphy, foto diambil 5 Agustus 2010).
Bekas
seizin Bernard Diedrich dari Sherwood Studios. (b) Output dari classifier yang terdeteksi 5
menghadapi berbagai pose. Ini diproduksi menggunakan demo online di http://demo.pittpatt.com/. Itu
pengklasifikasi dilatih pada 1000 gambar wajah dan non-wajah yang diberi label secara manual, dan
kemudian diterapkan
ke kumpulan tambalan yang tumpang tindih pada gambar uji. Hanya tambalan yang kemungkinan
mengandung
sebuah wajah cukup tinggi dikembalikan. Digunakan dengan izin dari Pittpatt.com
Masalah yang lebih sulit adalah menemukan objek di dalam gambar; ini disebut deteksi objek atau objek
lokalisasi. Kasus khusus yang penting dari ini adalah deteksi wajah. Salah satu pendekatan untuk
masalah ini
adalah membagi gambar menjadi banyak tambalan kecil yang tumpang tindih di berbagai lokasi, skala,
dan
orientasi, dan untuk mengklasifikasikan setiap tambalan berdasarkan apakah itu berisi tekstur seperti
wajah atau
tidak. Ini disebut detektor jendela geser. Sistem kemudian mengembalikan lokasi tersebut di mana
probabilitas wajah cukup tinggi. Lihat Gambar 1.6 sebagai contoh. Deteksi wajah semacam itu
sistem sudah terpasang di sebagian besar kamera digital modern; lokasi dari wajah yang terdeteksi
berada
digunakan untuk menentukan pusat fokus otomatis. Aplikasi lain secara otomatis kabur
Setelah menemukan wajah-wajah tersebut, seseorang kemudian dapat melanjutkan untuk melakukan
pengenalan wajah, yang artinya
memperkirakan identitas orang tersebut (lihat Gambar 1.10 (a)). Dalam hal ini, jumlah label kelas
mungkin sangat besar. Selain itu, fitur yang harus digunakan seseorang cenderung berbeda dari pada
wajah
Masalah deteksi: untuk pengenalan, perbedaan halus antara wajah seperti gaya rambut mungkin saja
penting untuk menentukan identitas, tetapi untuk pendeteksian, penting untuk menjadi invarian seperti
itu
detail, dan untuk hanya fokus pada perbedaan antara wajah dan non-wajah. Untuk informasi lebih lanjut
1.2.2 Regresi
Regresi sama seperti klasifikasi kecuali variabel responnya kontinu. Gambar 1.7 menunjukkan
contoh sederhana: kita memiliki satu masukan bernilai nyata xi ∈ R, dan satu tanggapan bernilai nyata
yi ∈ R. Kami mempertimbangkan untuk menyesuaikan dua model dengan data: garis lurus dan fungsi
kuadrat.
(Kami menjelaskan cara menyesuaikan model seperti itu di bawah.) Berbagai perluasan dari masalah
dasar ini dapat muncul,
seperti memiliki input berdimensi tinggi, outlier, respon tidak mulus, dll. Kita akan diskusikan
cara untuk menangani masalah seperti itu nanti dalam buku ini.
Gambar 1.7 (a) Regresi linier pada beberapa data 1d. (b) Data yang sama dengan regresi polinomial
(derajat 2).
• Memprediksi harga pasar saham besok dengan kondisi pasar saat ini dan kemungkinan lainnya
informasi samping.
• Memprediksi lokasi dalam ruang 3d dari e! Ector ujung lengan robot, dengan memberikan sinyal
kontrol (torsi)
• Memprediksi jumlah antigen spesifik prostat (PSA) dalam tubuh sebagai fungsi angka
• Memprediksi suhu di setiap lokasi di dalam gedung menggunakan data cuaca, waktu, pintu
sensor, dll.
Kami sekarang mempertimbangkan pembelajaran tanpa pengawasan, di mana kami hanya diberi data
keluaran, tanpa ada
masukan. Tujuannya adalah untuk menemukan "struktur yang menarik" dalam data; ini kadang-kadang
disebut
penemuan pengetahuan. Tidak seperti supervised learning, kita tidak diberi tahu keluaran yang
diinginkan
untuk setiap masukan. Sebaliknya, kami akan memformalkan tugas kami sebagai salah satu estimasi
kepadatan, yaitu kami
ingin membangun model dengan bentuk p (xi | θ). Ada dua perbedaan dari supervised case.
Pertama, kita menulis p (xi | θ) daripada p (yi | xi, θ); Artinya, pembelajaran yang diawasi bersifat
kondisional
estimasi kepadatan, sedangkan pembelajaran tanpa pengawasan adalah estimasi kepadatan tanpa
syarat. Kedua,
xi adalah vektor fitur, jadi kita perlu membuat model probabilitas multivariasi. Sebaliknya,
dalam supervised learning, yi biasanya hanya satu variabel yang kita coba prediksi. Ini
berarti bahwa untuk sebagian besar masalah pembelajaran yang diawasi, kita dapat menggunakan
model probabilitas univariat
(dengan parameter yang bergantung pada input), yang secara signifikan menyederhanakan masalah.
(Kami akan membahas
klasifikasi multi-keluaran dalam Bab 19, di mana kita akan melihat bahwa itu juga melibatkan multivariat
model probabilitas.)
Pembelajaran tanpa pengawasan bisa dibilang lebih khas dari pembelajaran manusia dan hewan. Itu
juga
lebih dapat diterapkan secara luas daripada pembelajaran yang diawasi, karena tidak membutuhkan
seorang ahli manusia untuk itu
Gambar 1.8 (a) Tinggi dan berat beberapa orang. (b) Kemungkinan pengelompokan menggunakan K = 2
cluster.
memberi label data secara manual. Data berlabel tidak hanya mahal untuk diperoleh6, tetapi juga
mengandung
informasi yang relatif sedikit, tentu saja tidak cukup andal untuk memperkirakan parameter kompleks
model. Geo! Hinton, yang merupakan profesor ML terkenal di University of Toronto, mengatakan:
Saat kita belajar melihat, tidak ada yang memberi tahu kita apa jawaban yang benar - kita adil
Lihat. Sesekali, ibumu berkata "itu anjing", tapi itu informasi yang sangat sedikit.
Anda akan beruntung jika mendapatkan sedikit informasi - bahkan satu bit per detik - itu
cara. Sistem visual otak memiliki 1.014 koneksi saraf. Dan Anda hanya hidup untuk 109
detik. Jadi tidak ada gunanya belajar sedikit pun per detik. Anda membutuhkan lebih banyak seperti 105
bit per
kedua. Dan hanya ada satu tempat Anda bisa mendapatkan informasi sebanyak itu: dari masukan
Di bawah ini kami menjelaskan beberapa contoh kanonik dari pembelajaran tanpa pengawasan.
Sebagai contoh kanonik dari pembelajaran tanpa pengawasan, pertimbangkan masalah pengelompokan
data ke
kelompok. Sebagai contoh, Gambar 1.8 (a) memplot beberapa data 2d, mewakili tinggi dan berat
sekelompok 210 orang. Tampaknya mungkin ada berbagai kelompok, atau subkelompok
tidak jelas berapa banyak. Misalkan K menunjukkan jumlah cluster. Tujuan pertama kami adalah
memperkirakan
distribusi atas jumlah cluster, p (K | D); ini memberi tahu kita jika ada subpopulasi
dalam data. Untuk kesederhanaan, kami sering mendekati distribusi p (K | D) dengan modenya,
K ∗ = arg maxK p (K | D). Dalam kasus yang diawasi, kami diberitahu bahwa ada dua kelas (laki-laki
dan perempuan), tetapi dalam kasus tanpa pengawasan, kami bebas memilih kluster sebanyak atau
sedikit
Suka. Memilih model dengan kompleksitas yang "benar" disebut pemilihan model, dan akan dibahas
Tujuan kedua kami adalah memperkirakan cluster mana yang dimiliki setiap titik. Biarkan zi ∈ {1, ..., K}
mewakili cluster tempat titik data i ditetapkan. (zi adalah contoh tersembunyi atau
yang mengalihdayakan tugas pemrosesan data kepada manusia di seluruh dunia, telah mengurangi
biaya pelabelan data. Namun,
jumlah data yang tidak berlabel masih lipat lebih besar dari jumlah data yang berlabel.
Gambar 1.9 (a) Sekumpulan titik yang hidup pada subruang linier 2d yang tertanam dalam 3d. Garis
merah solid adalah
arah komponen utama pertama. Garis hitam putus-putus adalah arah PC kedua. (b) Representasi 2D
variabel laten, karena tidak pernah diamati dalam set pelatihan.) Kita dapat menyimpulkan masing-
masing kluster
Gambar 1.8 (b), di mana kami menggunakan warna yang berbeda untuk menunjukkan tugas, dengan
asumsi K = 2.
Dalam buku ini, kami fokus pada model based clustering, yang berarti kami menyesuaikan dengan model
probabilistik
Pendekatan adalah bahwa seseorang dapat membandingkan berbagai jenis model dengan cara yang
obyektif (dalam istilah
kemungkinan yang mereka tetapkan ke data), kita dapat menggabungkannya menjadi sistem yang lebih
besar, dll.
Berikut adalah beberapa aplikasi pengelompokan dunia nyata.
• Dalam astronomi, sistem kelas otomatis (Cheeseman et al. 1988) menemukan jenis bintang baru,
• Dalam e-commerce, adalah umum untuk mengelompokkan pengguna ke dalam beberapa grup,
berdasarkan pembelian mereka atau
perilaku menjelajahi web, dan kemudian mengirim iklan bertarget yang disesuaikan ke setiap grup (lihat
• Dalam biologi, adalah umum untuk mengelompokkan data aliran-sitometri ke dalam kelompok, untuk
menemukan yang berbeda
Saat menangani data berdimensi tinggi, sering kali berguna untuk mengurangi dimensi
memproyeksikan data ke subruang dimensi yang lebih rendah yang menangkap "esensi" dari data.
Ini disebut reduksi dimensi. Contoh sederhana ditunjukkan pada Gambar 1.9, di mana kita
memproyeksikan beberapa data 3d ke bidang 2d. Pendekatan 2d cukup baik, karena sebagian besar
poin
terletak dekat dengan ruang bagian ini. Mengurangi menjadi 1d akan melibatkan memproyeksikan poin
ke garis merah masuk
Gambar 1.9 (a); ini akan menjadi perkiraan yang agak buruk. (Kami akan membuat gagasan ini tepat
Bab 12.)
Motivasi di balik teknik ini adalah meskipun datanya mungkin tampak berdimensi tinggi,
mungkin hanya ada sejumlah kecil derajat variabilitas, sesuai dengan faktor laten. Untuk
Misalnya, saat memodelkan tampilan gambar wajah, mungkin hanya ada beberapa yang mendasarinya
faktor laten yang menggambarkan sebagian besar variabilitas, seperti pencahayaan, pose, identitas, dll,
seperti
Gambar 1.10 a) 25 gambar 64x64 piksel yang dipilih secara acak dari database wajah Olivetti. (b) Artinya
dan tiga vektor basis komponen utama pertama (eigenfaces). Gambar dihasilkan oleh pcaImageDemo.
Ketika digunakan sebagai input untuk model statistik lain, representasi berdimensi rendah sering kali
terjadi
menghasilkan akurasi prediksi yang lebih baik, karena fokus pada "esensi" objek, pemfilteran
fitur yang tidak penting. Selain itu, representasi berdimensi rendah berguna untuk mengaktifkan dengan
cepat
Pencarian tetangga terdekat dan proyeksi dua dimensi sangat berguna untuk memvisualisasikan tinggi
data dimensi.
analisis atau PCA. Ini dapat dianggap sebagai versi linear (multi-output) tanpa pengawasan
regresi, di mana kita mengamati respon berdimensi tinggi y, tetapi bukan respon berdimensi rendah
“Penyebab” z. Dengan demikian model tersebut memiliki bentuk z → y; kita harus "membalikkan
panah", dan menyimpulkan
z dimensi rendah laten dari y dimensi tinggi yang diamati. Lihat Bagian 12.1 untuk detailnya.
Pengurangan dimensi, dan PCA khususnya, telah diterapkan di banyak bidang yang berbeda.
• Dalam biologi, adalah umum untuk menggunakan PCA untuk menafsirkan data microarray gen, untuk
menjelaskan
fakta bahwa setiap pengukuran biasanya merupakan hasil dari banyak gen yang berkorelasi di dalamnya
perilaku oleh fakta bahwa mereka milik jalur biologis yang berbeda.
• Dalam pemrosesan bahasa natural, adalah umum untuk menggunakan varian PCA yang disebut
semantik laten
• Dalam pemrosesan sinyal (misalnya, sinyal akustik atau saraf), biasanya menggunakan ICA (yaitu a
varian PCA) untuk memisahkan sinyal ke dalam sumber yang berbeda (lihat Bagian 12.6).
• Dalam grafik komputer, adalah umum untuk memproyeksikan data penangkapan gerak ke dimensi
rendah
luar angkasa, dan menggunakannya untuk membuat animasi. Lihat Bagian 15.5 untuk salah satu cara
mengatasi masalah tersebut.
Gambar 1.11 Sebuah model grafis Gaussian tidak terarah yang dipelajari dengan menggunakan graphical
laso (Bagian 26.7.2)
diterapkan ke beberapa data aliran sitometri (dari (Sachs et al. 2005)), yang mengukur status fosforilasi
Terkadang kami mengukur sekumpulan variabel yang berkorelasi, dan kami ingin menemukan yang
mana
paling berkorelasi dengan yang lainnya. Ini dapat diwakili oleh grafik G, di mana node
merepresentasikan variabel, dan edge merepresentasikan ketergantungan langsung antar variabel (akan
kita buat
ini tepat di Bab 10, ketika kita membahas model grafis). Kemudian kita dapat mempelajari grafik ini
Seperti halnya pembelajaran tanpa pengawasan pada umumnya, ada dua aplikasi utama untuk
pembelajaran jarang
grafik: untuk menemukan pengetahuan baru, dan untuk mendapatkan penduga kepadatan probabilitas
gabungan yang lebih baik. Kita
• Sebagian besar motivasi untuk mempelajari model grafis renggang berasal dari biologi sistem
di dalam sel (Sachs et al. 2005). Gambar 1.11 memberikan contoh struktur grafik yang dipelajari
dari data ini (menggunakan metode yang dibahas dalam Bagian 26.7.2). Sebagai contoh lain, Smith et al.
(2006) menunjukkan bahwa seseorang dapat memulihkan "diagram pengkabelan" saraf dari jenis
burung tertentu
dari data EEG deret waktu. Struktur yang dipulihkan sangat cocok dengan fungsional yang diketahui
• Dalam beberapa kasus, kami tidak tertarik untuk menafsirkan struktur grafik, kami hanya ingin
menggunakannya untuk memodelkan korelasi dan membuat prediksi. Salah satu contohnya adalah di
bidang keuangan
manajemen portofolio, di mana model kovarian yang akurat antara sejumlah besar
stok yang berbeda itu penting. Carvalho dan West (2007) menunjukkan bahwa dengan mempelajari graf
renggang,
dan kemudian menggunakan ini sebagai dasar dari strategi perdagangan, adalah mungkin untuk
mengungguli (yaitu, membuat
lebih banyak uang daripada) metode yang tidak mengeksploitasi grafik renggang. Contoh lainnya adalah
memprediksi
lalu lintas macet di jalan bebas hambatan. Horvitz et al. (2005) menjelaskan sistem yang diterapkan yang
disebut JamBayes
untuk memprediksi arus lalu lintas di wilayah Seattle, prediksi dilakukan dengan menggunakan model
grafis
Gambar 1.12 (a) Sebuah gambar berisik dengan sebuah okluder. (b) Perkiraan intensitas piksel yang
mendasari, berdasarkan
pada model MRF berpasangan. Sumber: Gambar 8 dari (Felzenszwalb dan Huttenlocher 2006).
Digunakan dengan baik
Terkadang kami kehilangan data, yaitu variabel yang nilainya tidak diketahui. Misalnya kita
mungkin telah melakukan survei, dan beberapa orang mungkin tidak menjawab pertanyaan tertentu.
Atau kita mungkin memiliki berbagai sensor, beberapa di antaranya gagal. Matriks desain yang sesuai
akan
kemudian memiliki "lubang" di dalamnya; entri yang hilang ini sering diwakili oleh NaN, yang merupakan
singkatan dari
"Bukan angka". Tujuan imputasi adalah untuk menyimpulkan nilai yang masuk akal untuk entri yang
hilang. Ini
terkadang disebut penyelesaian matriks. Di bawah ini kami berikan beberapa contoh aplikasi.
Contoh menarik dari tugas seperti imputasi dikenal sebagai image inpainting. Tujuannya adalah
untuk lubang "mengisi" (misalnya, karena goresan atau oklusi) pada gambar dengan tekstur yang
realistis. Ini adalah
diilustrasikan pada Gambar 1.12, di mana kami mengecam gambar, serta menghubungkan piksel yang
tersembunyi di belakang
oklusi. Hal ini dapat diatasi dengan membangun model probabilitas gabungan dari piksel, dengan a
kumpulan gambar bersih, dan kemudian menyimpulkan variabel yang tidak diketahui (piksel) dengan
variabel yang diketahui
(piksel). Ini seperti analisis keranjang topeng, kecuali datanya bernilai nyata dan spasial
terstruktur, jadi jenis model probabilitas yang kami gunakan cukup berbeda. Lihat Bagian 19.6.2.7
Contoh menarik lainnya dari tugas seperti imputasi dikenal sebagai pemfilteran kolaboratif. SEBUAH
Contoh umum dari keprihatinan ini memprediksi film mana yang ingin ditonton orang berdasarkan
tentang bagaimana mereka, dan orang lain, menilai film yang telah mereka tonton. Ide kuncinya
adalah bahwa prediksi tersebut tidak didasarkan pada fitur film atau pengguna (meskipun bisa jadi),
tetapi
hanya pada matriks peringkat. Lebih tepatnya, kita memiliki matriks X di mana X (m, u) adalah ratingnya
Gambar 1.13 Contoh data rating film. Data pelatihan berwarna merah, data uji dilambangkan dengan?,
Sel kosong
tidak diketahui.
(katakanlah bilangan bulat antara 1 dan 5, di mana 1 adalah tidak suka dan 5 adalah suka) oleh
pengguna u film m. Catatan
bahwa sebagian besar entri di X akan hilang atau tidak diketahui, karena sebagian besar pengguna tidak
akan memberi peringkat
kebanyakan film. Karenanya kami hanya mengamati sebagian kecil dari matriks X, dan kami ingin
memprediksi
subset yang berbeda. Secara khusus, untuk pengguna tertentu u, kami mungkin ingin memprediksi yang
mana dari
Untuk mendorong penelitian di bidang ini, perusahaan persewaan DVD Netflix mengadakan kompetisi,
yang diluncurkan pada tahun 2006, dengan hadiah $ 1 juta USD (lihat http://netflixprize.com/). Di
khususnya, mereka menyediakan matriks rating yang besar, dalam skala 1 sampai 5, untuk film ∼ 18k
dibuat oleh ∼ 500k pengguna. Matriks penuh akan memiliki ∼ 9 × 109 entri, tetapi hanya sekitar 1%
entri diamati, jadi matriksnya sangat jarang. Sebagian dari ini digunakan untuk
pelatihan, dan sisanya untuk pengujian, seperti yang ditunjukkan pada Gambar 1.13. Tujuan dari
kompetisi ini adalah untuk
memprediksi lebih akurat daripada sistem Netflix yang ada. Pada 21 September 2009, hadiahnya adalah
diberikan kepada tim peneliti yang dikenal sebagai "BellKor’s Pragmatic Chaos". Bagian 27.6.2
membahas
beberapa metodologi mereka. Rincian lebih lanjut tentang tim dan metode mereka dapat ditemukan di
http://www.netflixprize.com/community/viewtopic.php?id=1537.
Dalam penambangan data komersial, ada banyak minat dalam tugas yang disebut analisis keranjang
pasar. Itu
data terdiri dari matriks biner (biasanya sangat besar tapi jarang), di mana setiap kolom mewakili
item atau produk, dan setiap baris mewakili transaksi. Kami menetapkan xij = 1 jika item j adalah
dibeli pada transaksi ke-i. Banyak barang yang dibeli bersama (mis., Roti dan mentega),
jadi akan ada korelasi di antara bit. Diberikan vektor bit baru yang diamati sebagian,
mewakili subkumpulan item yang telah dibeli konsumen, tujuannya adalah untuk memprediksi item
lainnya
bit cenderung menyala, mewakili item lain yang kemungkinan besar akan dibeli konsumen. (Tidak
seperti
pemfilteran kolaboratif, kami sering menganggap tidak ada data yang hilang dalam data pelatihan,
karena kami
Tugas ini muncul di domain lain selain memodelkan pola pembelian. Misalnya mirip
teknik dapat digunakan untuk memodelkan ketergantungan antara file dalam sistem perangkat lunak
yang kompleks. Di
Dalam hal ini, tugasnya adalah untuk memprediksi, mengingat subset dari file yang telah diubah, mana
yang lain
perlu diperbarui untuk memastikan konsistensi (lihat misalnya, (Hu et al. 2010)).
Merupakan hal yang umum untuk menyelesaikan tugas seperti itu menggunakan penambangan itemset
yang sering, yang menciptakan asosiasi
aturan (lihat misalnya, (Hastie et al. 2009, bagian 14.2) untuk rincian). Alternatifnya, kita bisa
mengadopsi probabilistik
mendekati, dan menyesuaikan model kepadatan sendi p (x1, ..., xD) ke vektor bit, lihat misalnya, (Hu et
al.
Gambar 1.14 (a) Ilustrasi pengklasifikasi K-terdekat tetangga dalam 2d untuk K = 3. 3 tetangga terdekat
dari titik uji x1 memiliki label 1, 1 dan 0, sehingga kita memprediksi p (y = 1 | x1, D, K = 3) = 2/3. 3
terdekat
Tetangga titik uji x2 memiliki label 0, 0, dan 0, jadi kami memprediksi p (y = 1 | x2, D, K = 3) = 0/3. (b)
Ilustrasi tesselation Voronoi yang diinduksi oleh 1-NN. Berdasarkan Gambar 4.13 dari (Duda et al. 2001).
Angka
2010). Model seperti itu sering kali memiliki akurasi prediksi yang lebih baik daripada aturan asosiasi,
meskipun demikian
mungkin kurang bisa ditafsirkan. Ini adalah tipikal dari perbedaan antara data mining dan mesin
pembelajaran: dalam data mining, lebih menekankan pada model yang dapat ditafsirkan, sedangkan
pada mesin
Di Bagian ini, kami memberikan pengantar untuk beberapa ide utama dalam pembelajaran mesin. Kami
akan
mengembangkan konsep-konsep ini nanti dalam buku ini, tetapi kami memperkenalkannya secara
singkat di sini, untuk memberi rasa
Dalam buku ini, kita akan fokus pada model probabilistik bentuk p (y | x) atau p (x), tergantung
tentang apakah kita tertarik masing-masing dalam pembelajaran yang diawasi atau tidak. Ada
banyak cara untuk mendefinisikan model tersebut, tetapi perbedaan yang paling penting adalah ini:
apakah modelnya
memiliki jumlah parameter yang tetap, atau apakah jumlah parameter bertambah dengan jumlahnya
data pelatihan? Yang pertama disebut model parametrik, dan yang terakhir disebut model
nonparametrik. Model parametrik memiliki keuntungan karena sering kali lebih cepat digunakan, tetapi
kerugian membuat asumsi yang lebih kuat tentang sifat distribusi data. Model nonparametrik lebih
fleksibel, tetapi seringkali tidak dapat digunakan secara komputasi untuk kumpulan data yang besar.
Kami akan memberikan contoh dari kedua jenis model pada bagian di bawah ini. Kami fokus pada
supervisi
belajar untuk kesederhanaan, meskipun banyak pembahasan kita juga berlaku untuk pembelajaran
tanpa pengawasan.
Contoh sederhana dari pengklasifikasi non-parametrik adalah pengklasifikasi K terdekat tetangga (KNN).
Ini hanya "melihat" poin K dalam set pelatihan yang paling dekat dengan input tes x,