Anda di halaman 1dari 22

1.1 Pembelajaran mesin: apa dan mengapa?

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

pembelajaran menyediakan. Secara khusus, kami mendefinisikan pembelajaran mesin sebagai


sekumpulan metode yang dapat

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

kumpulkan lebih banyak data!).

kumpulkan lebih banyak data!).

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.

1.1.1 Jenis pembelajaran mesin

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

set pasangan input-output D = {(xi, yi)} N

i = 1. Di sini D disebut set pelatihan, dan N adalah

jumlah contoh pelatihan.

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

kalimat, pesan email, deret waktu, bentuk molekul, grafik, dll.

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

pendekatan. Di sini kita hanya diberi masukan, D = {xi} N

i = 1, dan tujuannya adalah untuk menemukan "menarik

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

dari y untuk x tertentu ke nilai yang diamati).

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

1.2 Pembelajaran yang diawasi

Kami memulai penyelidikan tentang pembelajaran mesin dengan mendiskusikan pembelajaran yang
diawasi, yaitu

bentuk ML yang paling banyak digunakan dalam praktik.

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

kami menyatakan sebaliknya.

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

mudah (kita bisa melihat jawabannya).

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

kombinasi keduanya. Selain input, kami memiliki vektor label pelatihan y.

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

label untuk panah biru tidak jelas.

1.2.1.2 Kebutuhan untuk prediksi probabilistik

Untuk menangani kasus yang ambigu, seperti lingkaran kuning di atas, diharapkan mengembalikan
probabilitas.

Pembaca diasumsikan sudah terbiasa dengan konsep dasar kemungkinan. Jika

tidak, silakan baca Bab 2 untuk penyegaran, jika perlu

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

kelas, itu cukup untuk mengembalikan bilangan tunggal p (y = 1 | x, D), karena p (y = 1 | x, D) + p (y =

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,

kami akan menghilangkan M dari notasi kami untuk singkatnya.

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

prosedur ini di Bagian 5.7

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

dari kelas. Data tersedia dari http://cs.nyu.edu/~roweis/data.html. Gambar dihasilkan oleh

newsgroupsVisualisasi.

1.2.1.3 Aplikasi dunia nyata

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.

Klasifikasi dokumen dan pemfilteran spam email

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

ni-heidelberg.de/data/iris/. Digunakan atas izin Dennis Kramb dan SIGNA.

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

1.2. Pembelajaran yang diawasi

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.)

Klasifikasi gambar dan pengenalan tulisan tangan

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

beberapa gambar contoh.

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

Deteksi dan pengenalan wajah

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

wajah di sistem StreetView Google.

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

tentang deteksi objek visual, lihat misalnya, (Szeliski 2010).

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).

Gambar dihasilkan oleh linregPolyVsDegree.

Berikut beberapa contoh masalah regresi dunia nyata.

• Memprediksi harga pasar saham besok dengan kondisi pasar saat ini dan kemungkinan lainnya
informasi samping.

• Memprediksi usia penonton yang menonton video tertentu di YouTube.

• Memprediksi lokasi dalam ruang 3d dari e! Ector ujung lengan robot, dengan memberikan sinyal
kontrol (torsi)

dikirim ke berbagai motornya.

• Memprediksi jumlah antigen spesifik prostat (PSA) dalam tubuh sebagai fungsi angka

pengukuran klinis yang berbeda.

• Memprediksi suhu di setiap lokasi di dalam gedung menggunakan data cuaca, waktu, pintu

sensor, dll.

1.3 Pembelajaran tanpa pengawasan

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.

Gambar yang dihasilkan oleh kmeansHeightWeight

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

diri. - Geo! Rey Hinton, 1996 (dikutip dalam (Gorder 2006)).

Di bawah ini kami menjelaskan beberapa contoh kanonik dari pembelajaran tanpa pengawasan.

1.3.1 Menemukan cluster

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

secara detail di bawah.

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

6. Munculnya situs web crowd sourcing seperti Mechanical Turk,


(https://www.mturk.com/mturk/welcome),

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.

1.3. Pembelajaran tanpa pengawasan

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

dari data. Gambar dihasilkan oleh pcaDemo3d.

variabel laten, karena tidak pernah diamati dalam set pelatihan.) Kita dapat menyimpulkan masing-
masing kluster

titik data dimiliki dengan menghitung z ∗

i = argmaxk p (zi = k | xi, D). Ini diilustrasikan dalam

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

ke data, daripada menjalankan beberapa algoritme ad hoc. Kelebihan berbasis model

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,

berdasarkan pengelompokan pengukuran astrofisika.

• 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

misalnya, (Berkhin 2006)).

• Dalam biologi, adalah umum untuk mengelompokkan data aliran-sitometri ke dalam kelompok, untuk
menemukan yang berbeda

sub-populasi sel (lihat misalnya, (Lo et al. 2009)).

1.3.2 Menemukan faktor laten

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

diilustrasikan pada Gambar 1.10.

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.

Pendekatan paling umum untuk reduksi dimensi disebut komponen utama

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.

Beberapa contohnya adalah sebagai berikut:

• 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

analisis untuk pengambilan dokumen (lihat Bagian 27.2.2).

• 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

dari 11 protein. Gambar dihasilkan oleh ggmLassoDemo.

1.3.3 Menemukan struktur grafik

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

struktur dari data, yaitu, kami menghitung Gˆ = argmax p (G | D).

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

sekarang berikan beberapa contoh masing-masing.

• Sebagian besar motivasi untuk mempelajari model grafis renggang berasal dari biologi sistem

masyarakat. Misalnya, kita mengukur status fosforilasi beberapa protein

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

konektivitas bagian otak burung ini.

• 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

yang strukturnya dipelajari dari data.

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

izin dari Pedro Felzenszwalb.

1.3.4 Penyelesaian matriks

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.

1.3.4.1 Gambar dalam lukisan

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

dan 13.8.4 untuk beberapa kemungkinan pilihan.

1.3.4.2 Pemfilteran kolaboratif

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

film tanpa peringkat yang kemungkinan besar ingin dia tonton.

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.

1.3.4.3 Analisis keranjang pasar

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

mengetahui perilaku belanja masa lalu dari setiap pelanggan.)

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

dihasilkan oleh knnVoronoi.

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

pembelajaran, ada lebih banyak penekanan pada model yang akurat

1.4 Beberapa konsep dasar dalam pembelajaran 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

hal yang akan datang.

1.4.1 Model parametrik vs non-parametrik

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.

1.4.2 Pengklasifikasi non-parametrik sederhana: K-terdekat

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,

Anda mungkin juga menyukai