Apa itu pembelajaran mesin? [Tutup]

93
  • Apa itu pembelajaran mesin ?
  • Apa fungsi kode pembelajaran mesin ?
  • Ketika kita mengatakan bahwa mesin belajar, apakah itu memodifikasi kode itu sendiri atau memodifikasi sejarah (database) yang akan berisi pengalaman kode untuk set input tertentu?
Kushal Waikar
sumber

Jawaban:

146

Apa itu pembelajaran mesin?

Pada dasarnya, ini adalah metode pengajaran komputer untuk membuat dan meningkatkan prediksi atau perilaku berdasarkan beberapa data. Apa "data" ini? Nah, itu sepenuhnya tergantung pada masalahnya. Ini bisa berupa pembacaan dari sensor robot saat ia belajar berjalan, atau keluaran yang benar dari suatu program untuk masukan tertentu.

Cara lain untuk berpikir tentang pembelajaran mesin adalah dengan "pengenalan pola" - tindakan mengajar program untuk bereaksi atau mengenali pola.

Apa fungsi kode pembelajaran mesin?

Tergantung pada jenis pembelajaran mesin yang Anda bicarakan. Pembelajaran mesin adalah bidang yang sangat luas , dengan ratusan algoritme berbeda untuk menyelesaikan berbagai masalah berbeda - lihat Wikipedia untuk informasi lebih lanjut; secara khusus, lihat di bawah Jenis Algoritma .

Ketika kita mengatakan mesin belajar, apakah itu memodifikasi kode itu sendiri atau memodifikasi sejarah (Basis Data) yang akan berisi pengalaman kode untuk set input tertentu?

Sekali lagi, itu tergantung .

Salah satu contoh kode yang benar-benar dimodifikasi adalah Pemrograman Genetik , di mana Anda pada dasarnya mengembangkan program untuk menyelesaikan tugas (tentu saja, program tidak memodifikasi dirinya sendiri - tetapi ia memodifikasi program komputer lain).

Jaringan saraf , di sisi lain, memodifikasi parameternya secara otomatis sebagai respons terhadap rangsangan yang disiapkan dan respons yang diharapkan. Hal ini memungkinkan mereka menghasilkan banyak perilaku (secara teoritis, mereka dapat menghasilkan perilaku apa pun karena mereka dapat mendekati fungsi apa pun dengan presisi yang sewenang-wenang, dengan waktu yang cukup).


Perlu diperhatikan bahwa penggunaan istilah "database" Anda menyiratkan bahwa algoritme pembelajaran mesin bekerja dengan "mengingat" informasi, peristiwa, atau pengalaman. Ini belum tentu (atau bahkan sering!) Masalahnya.

Jaringan saraf, yang telah saya sebutkan, hanya mempertahankan "keadaan" perkiraan saat ini, yang diperbarui saat pembelajaran terjadi. Alih-alih mengingat apa yang terjadi dan bagaimana menanggapinya, jaringan saraf membangun semacam "model" dari "dunia" mereka. Model tersebut memberi tahu mereka bagaimana bereaksi terhadap masukan tertentu, meskipun masukan tersebut adalah sesuatu yang belum pernah dilihat sebelumnya.

Kemampuan terakhir ini - kemampuan untuk bereaksi terhadap masukan yang belum pernah dilihat sebelumnya - adalah salah satu prinsip inti dari banyak algoritme pembelajaran mesin. Bayangkan mencoba mengajari pengemudi komputer untuk menavigasi jalan raya dalam lalu lintas. Dengan menggunakan metafora "database", Anda harus mengajari komputer apa yang harus dilakukan dalam jutaan kemungkinan situasi. Algoritme pembelajaran mesin yang efektif (semoga!) Dapat mempelajari kesamaan antara berbagai status dan bereaksi serupa.

Persamaan antar negara bisa berupa apa saja - bahkan hal-hal yang mungkin kita anggap "biasa" bisa membuat komputer tersandung! Sebagai contoh, katakanlah pengemudi komputer mengetahui bahwa ketika sebuah mobil di depannya melambat, ia harus melambat. Bagi manusia, mengganti mobil dengan sepeda motor tidak mengubah apa pun - kami menyadari bahwa sepeda motor juga merupakan kendaraan. Untuk algoritme pembelajaran mesin, ini sebenarnya bisa sangat sulit! Database harus menyimpan informasi secara terpisah tentang kasus di mana mobil di depan dan di mana sepeda motor di depan. Algoritme pembelajaran mesin, di sisi lain, akan "belajar" dari contoh mobil dan dapat menggeneralisasi contoh sepeda motor secara otomatis.

Daniel G
sumber
3
Penjelasan Anda sangat berharga dan berharga. Bisakah Anda menguraikan contoh driver "Komputer" secara mendalam (sehubungan dengan pernyataan Anda- "pelajari persamaan antara status yang berbeda")?
Kushal Waikar
3
Contoh yang bagus. Saya menghargai usaha Anda untuk penjelasan. Terima kasih banyak !
Kushal Waikar
1
Mengapa 'KNN' atau 'K artinya' ada di Machine Learning. Bisakah Anda menjelaskan. Terima kasih
Sunku Vamsi Tharun Kumar
23

Pembelajaran mesin adalah bidang ilmu komputer, teori probabilitas, dan teori pengoptimalan yang memungkinkan tugas-tugas kompleks diselesaikan yang pendekatan logis / proseduralnya tidak mungkin atau layak.

Ada beberapa kategori pembelajaran mesin yang berbeda, termasuk (tetapi tidak terbatas pada):

  • Pembelajaran yang diawasi
  • Pembelajaran penguatan

Pembelajaran yang Diawasi
Dalam supervised learning, Anda memiliki beberapa fungsi (pemetaan) yang sangat kompleks dari input ke output, Anda memiliki banyak contoh pasangan input / output, tetapi Anda tidak tahu apa fungsi rumit itu. Algoritme pembelajaran yang diawasi memungkinkan, dengan adanya kumpulan data yang besar dari pasangan input / output, untuk memprediksi nilai output untuk beberapa nilai input baru yang mungkin belum pernah Anda lihat sebelumnya. Metode dasarnya adalah Anda memecah kumpulan data menjadi satu set pelatihan dan satu set pengujian. Anda memiliki beberapa model dengan fungsi kesalahan terkait yang Anda coba minimalkan selama set pelatihan, lalu Anda memastikan bahwa solusi Anda berfungsi pada set pengujian. Setelah Anda mengulangi ini dengan algoritme dan / atau parameter pembelajaran mesin yang berbeda hingga model berperforma cukup baik pada set pengujian, Anda dapat mencoba menggunakan hasilnya pada input baru. Perhatikan bahwa dalam kasus ini, program tidak berubah, hanya model (data) yang diubah. Meskipun seseorang dapat, secara teoritis, menghasilkan program yang berbeda, tetapi itu tidak dilakukan dalam praktik, sejauh yang saya ketahui. Contoh pembelajaran yang diawasi adalah sistem pengenalan digit yang digunakan oleh kantor pos, di mana ia memetakan piksel ke label di set 0 ... 9, menggunakan sekumpulan besar gambar digit yang diberi label dengan tangan sebagai 0 ... 9.

Pembelajaran Penguatan
Dalam pembelajaran penguatan, program bertanggung jawab untuk membuat keputusan, dan secara berkala menerima semacam penghargaan / utilitas atas tindakannya. Namun, tidak seperti kasus supervised learning, hasilnya tidak langsung; algoritme dapat menentukan urutan tindakan yang besar dan hanya menerima umpan balik di bagian paling akhir. Dalam pembelajaran penguatan, tujuannya adalah untuk membangun model yang baik sehingga algoritme akan menghasilkan urutan keputusan yang mengarah pada utilitas / penghargaan jangka panjang tertinggi. Contoh pembelajaran penguatan yang baik adalah mengajari robot cara menavigasi dengan memberikan hukuman negatif setiap kali sensor bumpernya mendeteksi bahwa ia telah menabrak suatu objek. Jika dikodekan dengan benar, robot ini mungkin akan menghubungkan data sensor pencari jarak dengan data sensor bumper dan arah yang dikirim ke roda,

Info Lebih Lanjut
Jika Anda tertarik untuk mempelajari lebih lanjut, saya sangat menyarankan Anda membaca Pengenalan Pola dan Pembelajaran Mesin oleh Christopher M. Bishop atau mengambil kursus pembelajaran mesin. Anda mungkin juga tertarik untuk membaca, gratis, catatan kuliah dari CIS 520: Pembelajaran Mesin di Penn .

Michael Aaron Safyan
sumber
2
Anda menyebutkan "... pendekatan logis / prosedural tidak mungkin atau layak." Bisakah Anda menjelaskan ini dengan contoh? Terima kasih.
LionHeart
@LionHeart, contoh yang bagus adalah pengenalan karakter. Anda dapat mencoba membuat kode algoritme yang dapat mengenali berbagai kurva, garis, dan fitur lain dari berbagai karakter, tetapi ketika sampai pada hal itu, itu adalah tugas yang sangat sulit, dan ML menyelesaikannya dengan cukup sederhana.
Michael Aaron Safyan
12

Pembelajaran mesin merupakan metodologi untuk membuat model berdasarkan data sampel dan menggunakan model tersebut untuk membuat prediksi atau strategi. Itu milik kecerdasan buatan.

zs2020
sumber
11
  • Pembelajaran mesin adalah disiplin ilmu yang berkaitan dengan desain dan pengembangan algoritme yang memungkinkan komputer mengembangkan perilaku berdasarkan data empiris, seperti dari data sensor atau database. Baca lebih lanjut di Wikipedia

  • Kode pembelajaran mesin mencatat "fakta" atau perkiraan dalam beberapa jenis penyimpanan, dan dengan algoritme menghitung probabilitas yang berbeda.

  • Kode itu sendiri tidak akan diubah ketika mesin belajar, hanya database dari apa yang "ia tahu".

Espo
sumber
Pembelajaran mesin tidak membutuhkan database. Ia juga tidak selalu mencatat "fakta". Beberapa hal adalah dugaan. Beberapa hal adalah perkiraan. Tidak semua yang dipelajari mesin dapat dianggap sebagai fakta.
Kevin Crowell
2
Anda masih membatasi jawaban Anda pada wilayah pembelajaran mesin tertentu. Fakta atau perkiraan tidak selalu dicatat. Hal-hal bisa dialami, ditanggapi, dan dilupakan. "Penyimpanan" bukanlah pokok pembelajaran mesin. Itu bisa digunakan, tapi bukan suatu keharusan.
Kevin Crowell
4
jika program pembelajaran mesin menyimpan data yang dipelajari, maka tidak ada gunanya memiliki program ... kami hanya akan menanyakan data itu sendiri. Sebagian besar program ML hanya membuat model data karena kumpulan data bisa sangat besar (beberapa GB) dan kami ingin program memiliki kekuatan prediksi atas kumpulan data yang tidak terlihat. Hampir tidak ada alasan bagi program ML untuk menyimpan data.
Kiril
11

Pembelajaran mesin hanyalah istilah umum untuk mendefinisikan berbagai algoritma pembelajaran yang menghasilkan pembelajaran semu dari contoh (tidak berlabel / berlabel). Akurasi / kesalahan sebenarnya sepenuhnya ditentukan oleh kualitas data pelatihan / pengujian yang Anda berikan untuk algoritme pembelajaran Anda. Ini dapat diukur dengan menggunakan tingkat konvergensi. Alasan Anda memberikan contoh adalah karena Anda ingin algoritma pembelajaran pilihan Anda dapat secara informatif dengan panduan membuat generalisasi. Algoritme dapat digolongkan menjadi dua area utama pembelajaran yang diawasi (klasifikasi) dan teknik pembelajaran tanpa pengawasan (pengelompokan). Sangat penting bagi Anda untuk membuat keputusan yang tepat tentang bagaimana Anda berencana untuk memisahkan kumpulan data pelatihan dan pengujian Anda serta kualitas yang Anda berikan untuk algoritme pembelajaran Anda. Saat Anda memberikan kumpulan data, Anda juga ingin menyadari hal-hal seperti penyesuaian berlebihan dan mempertahankan kesan bias yang sehat dalam contoh Anda. Algoritme kemudian pada dasarnya belajar menulis untuk menulis berdasarkan generalisasi yang dicapai dari data yang telah Anda berikan padanya baik untuk pelatihan dan kemudian untuk pengujian dalam proses, Anda mencoba membuat algoritme pembelajaran Anda menghasilkan contoh baru berdasarkan pelatihan yang Anda targetkan. Dalam pengelompokan hanya ada sedikit panduan informatif yang pada dasarnya mencoba dihasilkan oleh algoritme melalui ukuran pola antara data untuk membangun kumpulan kluster terkait, misalnya kmeans / knearest neighbour. Algoritme kemudian pada dasarnya belajar menulis untuk menulis berdasarkan generalisasi yang dicapai dari data yang telah Anda berikan padanya baik untuk pelatihan dan kemudian untuk pengujian dalam proses, Anda mencoba membuat algoritme pembelajaran Anda menghasilkan contoh baru berdasarkan pelatihan yang Anda targetkan. Dalam pengelompokan hanya ada sedikit panduan informatif yang pada dasarnya mencoba dihasilkan oleh algoritme melalui ukuran pola antara data untuk membangun kumpulan kluster terkait, misalnya kmeans / knearest neighbour. Algoritme kemudian pada dasarnya belajar menulis untuk menulis berdasarkan generalisasi yang dicapai dari data yang telah Anda berikan padanya baik untuk pelatihan dan kemudian untuk pengujian dalam proses, Anda mencoba membuat algoritme pembelajaran Anda menghasilkan contoh baru berdasarkan pelatihan yang Anda targetkan. Dalam pengelompokan hanya ada sedikit panduan informatif yang pada dasarnya mencoba dihasilkan oleh algoritme melalui ukuran pola antara data untuk membangun kumpulan kluster terkait, misalnya kmeans / knearest neighbour.

beberapa buku bagus: Pengantar ML (Nilsson / Stanford), Proses Gaussian untuk ML, Pengantar ML (Alpaydin), Inferensi Teori Informasi dan Algoritma Pembelajaran (buku yang sangat berguna), Pembelajaran Mesin (Mitchell), Pengenalan Pola dan Pembelajaran Mesin (standar Buku kursus ML di Edinburgh dan berbagai Unis tetapi relatif banyak membaca dengan matematika), Data Mining dan Praktis Pembelajaran Mesin dengan Weka (bekerja melalui teori menggunakan weka dan praktek di Jawa)

Reinforcement Learning ada buku online gratis yang dapat Anda baca: http://www.cs.ualberta.ca/~sutton/book/ebook/the-book.html

IR, IE, Recommenders, dan Text / Data / Web Mining secara umum menggunakan banyak prinsip Machine Learning. Anda bahkan dapat menerapkan Teknik Metaheuristik / Pengoptimalan Global di sini untuk lebih mengotomatiskan proses pembelajaran Anda. misalnya menerapkan teknik evolusioner seperti GA (algoritma genetika) untuk mengoptimalkan pendekatan berbasis jaringan saraf Anda (yang mungkin menggunakan beberapa algoritma pembelajaran). Anda dapat mendekatinya murni dalam bentuk pendekatan pembelajaran mesin probablistik misalnya pembelajaran bayesian. Sebagian besar dari algoritme ini semuanya memiliki penggunaan statistik yang sangat berat. Konsep konvergensi dan generalisasi penting bagi banyak algoritma pembelajaran ini.

meme
sumber
8

Pembelajaran mesin adalah ilmu yang mempelajari ilmu komputasi dalam membuat algoritme yang mampu mengklasifikasikan informasi yang belum pernah mereka lihat sebelumnya, dengan mempelajari pola dari pelatihan pada informasi serupa. Ada banyak jenis "pelajar" dalam pengertian ini. Jaringan saraf, jaringan Bayesian, pohon keputusan, algoritme k-clustering, model markov tersembunyi, dan mesin vektor pendukung adalah contohnya.

Berdasarkan pembelajar, mereka masing-masing belajar dengan cara yang berbeda. Beberapa pelajar menghasilkan kerangka kerja yang dapat dimengerti manusia (misalnya pohon keputusan), dan beberapa umumnya tidak dapat dipahami (misalnya jaringan saraf).

Semua peserta didik pada dasarnya berdasarkan data, yang berarti mereka menyimpan status mereka sebagai data untuk digunakan kembali nanti. Mereka tidak memodifikasi diri sendiri, setidaknya secara umum.

Shaggy Frog
sumber
8

Saya rasa salah satu definisi pembelajaran mesin paling keren yang pernah saya baca berasal dari buku karya Tom Mitchell ini. Mudah diingat dan intuitif.

Program komputer dikatakan belajar dari pengalaman E sehubungan dengan beberapa kelas tugas T dan ukuran kinerja P, jika kinerjanya pada tugas di T, yang diukur dengan P, meningkat dengan pengalaman E

vikram360.dll
sumber
21
Saya selalu membenci bagaimana definisi ini diulang, bahkan diajarkan, meskipun penggunaan simbol tidak perlu. Lebih sederhana, lebih baik: Program komputer dikatakan belajar dari pengalaman sehubungan dengan beberapa kelas tugas jika kinerjanya dalam tugas-tugas ini, sehubungan dengan beberapa ukuran kinerja, meningkat dengan pengalaman. Sekarang mari kita sederhanakan lagi. A computer program is said to learn in the context of performing a task if its performance with respect to some measure improves with experience.
Ninjakannon
1
Saya telah melakukan Pembelajaran Mesin selama sekitar satu tahun sekarang dan bahkan hari ini saya harus membacanya beberapa kali untuk memahami apa sebenarnya artinya. Saya bertanya-tanya apakah saya buruk atau apakah itu definisinya.
Maxim Dsouza
7
  • Diambil tanpa malu-malu dari Wikipedia: Pembelajaran mesin adalah disiplin ilmu yang berkaitan dengan desain dan pengembangan algoritme yang memungkinkan komputer mengembangkan perilaku berdasarkan data empiris, seperti dari data sensor atau database.

  • Sederhananya, kode pembelajaran mesin menyelesaikan tugas pembelajaran mesin. Itu bisa menjadi beberapa hal mulai dari menafsirkan data sensor hingga algoritma genetika.

  • Saya akan mengatakan itu tergantung. Tidak, mengubah kode itu tidak normal, tetapi itu tidak mungkin. Saya juga tidak akan mengatakan bahwa pembelajaran mesin selalu mengubah sejarah. Terkadang kita tidak memiliki sejarah untuk dibangun. Terkadang kita hanya ingin bereaksi terhadap lingkungan, tetapi tidak benar-benar belajar dari pengalaman masa lalu kita.

Pada dasarnya, pembelajaran mesin adalah disiplin yang sangat terbuka yang berisi banyak metode dan algoritme yang membuat tidak mungkin ada 1 jawaban untuk pertanyaan ke-3 Anda.

Kevin Crowell
sumber
6

Pembelajaran mesin adalah istilah yang diambil dari dunia nyata seseorang, dan diterapkan pada sesuatu yang sebenarnya tidak dapat dipelajari - mesin.

Untuk menambah jawaban lain - pembelajaran mesin tidak akan (biasanya) mengubah kode, tetapi mungkin mengubah jalur eksekusi dan keputusannya berdasarkan data sebelumnya atau data baru yang dikumpulkan dan karenanya menimbulkan efek "pembelajaran".

ada banyak cara untuk "mengajar" mesin - Anda memberikan bobot ke banyak parameter algoritme, lalu meminta mesin menyelesaikannya untuk banyak kasus, setiap kali Anda memberinya umpan balik tentang jawaban dan mesin menyesuaikan bobot sesuai dengan seberapa dekat jawaban mesin dengan jawaban Anda atau menurut skor yang Anda berikan jawaban itu, atau menurut beberapa algoritma tes hasil.

Ini adalah salah satu cara belajar dan masih banyak lagi ...

Dani
sumber