Pengantar Pembelajaran Mesin

1.1 Pendahuluan


Berkat pembelajaran mesin, programmer tidak perlu menulis instruksi yang memperhitungkan semua masalah yang mungkin terjadi dan memuat semua solusi. Alih-alih, sebuah komputer (atau program terpisah) ditata dengan sebuah algoritma untuk menemukan solusi secara independen melalui penggunaan data statistik terintegrasi dari mana pola diturunkan dan berdasarkan perkiraan dibuat.

Teknologi pembelajaran mesin berdasarkan analisis data berasal dari tahun 1950, ketika mereka mulai mengembangkan program pertama untuk bermain catur. Selama beberapa dekade terakhir, prinsip umum tidak berubah. Namun berkat pertumbuhan eksplosif dalam daya komputer, undang-undang dan prakiraan yang dibuat oleh mereka menjadi lebih rumit dan berbagai masalah serta masalah yang diselesaikan dengan menggunakan pembelajaran mesin telah diperluas.

Untuk memulai proses pembelajaran mesin, pertama-tama Anda harus mengunduh Dataset (sejumlah data input) ke komputer, di mana algoritma akan belajar memproses permintaan. Misalnya, mungkin ada foto-foto anjing dan kucing yang sudah memiliki tag yang menunjukkan siapa mereka. Setelah proses pelatihan, program itu sendiri akan dapat mengenali anjing dan kucing dalam gambar baru tanpa konten tag. Proses pembelajaran berlanjut bahkan setelah ramalan dikeluarkan, semakin banyak data yang telah kami analisis oleh program, semakin akurat akan mengenali gambar yang diinginkan.

Berkat pembelajaran mesin, komputer belajar mengenali dalam foto dan gambar tidak hanya wajah, tetapi juga lanskap, objek, teks dan angka. Adapun teks, di sini orang tidak dapat melakukannya tanpa pembelajaran mesin: fungsi memeriksa tata bahasa sekarang hadir di editor teks apa pun dan bahkan di telepon. Selain itu, tidak hanya ejaan kata-kata yang diperhitungkan, tetapi juga konteks, nuansa makna, dan aspek linguistik halus lainnya. Selain itu, sudah ada perangkat lunak yang mampu menulis artikel berita (tentang ekonomi dan, misalnya, olahraga) tanpa campur tangan manusia.

1.2 Jenis Tugas Pembelajaran Mesin


Semua tugas yang diselesaikan menggunakan ML termasuk dalam salah satu kategori berikut.

1) Tugas regresi adalah perkiraan berdasarkan sampel objek dengan berbagai atribut. Outputnya harus berupa bilangan real (2, 35, 76.454, dll.), Misalnya, harga apartemen, nilai keamanan setelah enam bulan, pendapatan yang diharapkan dari toko untuk bulan berikutnya, kualitas anggur selama pengujian buta.

2) Tugas klasifikasi adalah untuk memperoleh jawaban kategoris berdasarkan serangkaian fitur. Ia memiliki sejumlah jawaban terbatas (biasanya dalam format "ya" atau "tidak"): apakah ada kucing dalam foto itu, adalah gambar wajah manusia, apakah pasien sakit kanker.

3) Tugas pengelompokan adalah distribusi data ke dalam kelompok: membagi semua pelanggan operator seluler berdasarkan tingkat solvabilitas, menetapkan objek ruang ke satu atau kategori lain (planet, bintang, lubang hitam, dll.).

4) Tugas mengurangi dimensi adalah mengurangi sejumlah besar fitur menjadi lebih kecil (biasanya 2-3) untuk kenyamanan visualisasi selanjutnya (misalnya, kompresi data).

5) Tugas mendeteksi anomali adalah memisahkan anomali dari kasus standar. Pada pandangan pertama, ini bertepatan dengan tugas klasifikasi, tetapi ada satu perbedaan signifikan: anomali adalah fenomena yang langka, dan contoh pelatihan di mana Anda dapat melatih model pembelajaran mesin untuk mengidentifikasi benda-benda seperti itu sangat kecil atau hanya tidak, oleh karena itu metode klasifikasi tidak bekerja di sini . Dalam praktiknya, tugas tersebut adalah, misalnya, mengidentifikasi kegiatan penipuan dengan kartu bank.

1.3 Jenis dasar pembelajaran mesin


Sebagian besar tugas diselesaikan dengan menggunakan metode pembelajaran mesin berkaitan dengan dua jenis: belajar dengan guru (belajar dengan pengawasan) atau tanpa dia (belajar tanpa pengawasan). Namun, guru ini tidak harus programmer sendiri, yang berdiri di atas komputer dan mengendalikan setiap tindakan dalam program. "Guru" dalam hal pembelajaran mesin adalah intervensi manusia itu sendiri dalam proses pemrosesan informasi. Dalam kedua jenis pelatihan, mesin menyediakan data awal yang harus dianalisis dan menemukan pola. Satu-satunya perbedaan adalah bahwa ketika belajar dengan seorang guru, ada sejumlah hipotesis yang perlu disangkal atau dikonfirmasi. Perbedaan ini mudah dipahami dengan contoh.

Pembelajaran mesin dengan seorang guru

Misalkan kita memiliki informasi tentang sepuluh ribu apartemen Moskow: area, lantai, distrik, ada atau tidaknya parkir di rumah, jarak dari metro, harga apartemen, dll. Kita perlu membuat model yang memprediksi nilai pasar apartemen dengan parameternya. Ini adalah contoh ideal pembelajaran mesin dengan seorang guru: kami memiliki data awal (jumlah apartemen dan propertinya, yang disebut tanda-tanda) dan jawaban siap untuk setiap apartemen adalah biayanya. Program harus menyelesaikan masalah regresi.

Contoh lain dari praktik: untuk mengkonfirmasi atau menolak keberadaan kanker pada pasien, mengetahui semua indikator medisnya. Cari tahu apakah pesan yang masuk adalah spam dengan menganalisis teksnya. Ini semua adalah tugas klasifikasi.

Pembelajaran mesin tanpa guru

Dalam hal pelatihan tanpa guru, ketika "jawaban yang benar" yang sudah disiapkan tidak disediakan untuk sistem, semuanya bahkan lebih menarik. Misalnya, kami memiliki informasi tentang berat dan tinggi badan sejumlah orang, dan data ini perlu dibagi menjadi tiga kelompok, yang masing-masing harus menjahit kemeja dengan ukuran yang sesuai. Ini adalah tugas pengelompokan. Dalam hal ini, perlu untuk membagi semua data menjadi 3 kelompok (tetapi, sebagai aturan, tidak ada pembagian yang ketat dan hanya mungkin seperti itu).

Jika kita mengambil situasi yang berbeda, ketika masing-masing objek dalam sampel memiliki ratusan fitur yang berbeda, maka kesulitan utamanya adalah tampilan grafis dari sampel tersebut. Oleh karena itu, jumlah tanda dikurangi menjadi dua atau tiga, dan menjadi mungkin untuk memvisualisasikannya di pesawat atau dalam 3D. Ini adalah tugas mengurangi dimensi.

1.4 Algoritma dasar model pembelajaran mesin


1. Pohon keputusan

Ini adalah metode pendukung keputusan berdasarkan penggunaan grafik pohon: model keputusan yang memperhitungkan konsekuensi potensial mereka (dengan mempertimbangkan kemungkinan terjadinya suatu peristiwa), efisiensi, dan konsumsi sumber daya.

Untuk proses bisnis, pohon ini terdiri dari sejumlah pertanyaan minimum yang memerlukan jawaban pasti - โ€œyaโ€ atau โ€œtidakโ€. Secara konsisten memberikan jawaban untuk semua pertanyaan ini, kami sampai pada pilihan yang tepat. Keuntungan metodologis dari pohon keputusan adalah bahwa struktur dan sistematis masalah, dan keputusan akhir dibuat berdasarkan kesimpulan logis.

2. Klasifikasi Bayesian Naif

Pengklasifikasi Naif Bayes termasuk dalam keluarga pengelompokan probabilistik sederhana dan berasal dari teorema Bayes, yang dalam hal ini menganggap fungsi sebagai independen (ini disebut asumsi yang ketat atau naif). Dalam praktiknya, ini digunakan dalam bidang pembelajaran mesin berikut:

  • Deteksi email spam
  • penautan otomatis artikel berita ke bagian tematik;
  • identifikasi pewarnaan emosional teks;
  • pengenalan wajah dan pola lain dalam gambar.

3. Metode Kuadrat Terkecil

Siapa pun yang telah mempelajari statistik, setidaknya sedikit, akrab dengan konsep regresi linier. Kuadrat terkecil juga terkait dengan opsi implementasinya. Biasanya, regresi linier menyelesaikan masalah pemasangan garis lurus yang melewati banyak titik. Inilah cara melakukannya dengan menggunakan metode kuadrat terkecil: menggambar garis lurus, mengukur jarak dari itu ke setiap titik (hubungkan titik dan garis dengan segmen vertikal), transfer jumlah yang dihasilkan ke atas. Akibatnya, kurva di mana jumlah jarak akan menjadi yang terkecil adalah yang diinginkan (garis ini akan melewati titik-titik dengan deviasi terdistribusi normal dari nilai sebenarnya).

Fungsi linear biasanya digunakan dalam pemilihan data untuk pembelajaran mesin, dan metode kuadrat terkecil digunakan untuk meminimalkan kesalahan dengan membuat metrik kesalahan.

4. Regresi logistik

Regresi logistik adalah cara untuk menentukan hubungan antara variabel, salah satunya tergantung secara kategoris dan yang lain independen. Untuk ini, fungsi logistik (distribusi logistik akumulatif) digunakan. Signifikansi praktis dari regresi logistik adalah bahwa itu adalah metode statistik yang kuat untuk memprediksi peristiwa, yang mencakup satu atau lebih variabel independen. Ini sangat diminati dalam situasi berikut:

  • penilaian kredit;
  • mengukur keberhasilan kampanye iklan yang sedang berlangsung;
  • perkiraan laba untuk produk tertentu;
  • penilaian probabilitas gempa pada tanggal tertentu.

5. Mendukung Metode Vektor (SVM)

Ini adalah seluruh rangkaian algoritma yang diperlukan untuk menyelesaikan masalah klasifikasi dan analisis regresi. Berdasarkan fakta bahwa sebuah objek yang terletak di ruang dimensi N milik salah satu dari dua kelas, metode vektor dukungan membangun hyperplane dengan dimensi (N - 1) sehingga semua objek muncul dalam satu dari dua kelompok. Di atas kertas, ini dapat direpresentasikan sebagai berikut: ada poin dari dua jenis yang berbeda, dan mereka dapat dibagi secara linear. Selain memisahkan titik, metode ini menghasilkan hyperplane sedemikian rupa sehingga sejauh mungkin dari titik terdekat dari masing-masing kelompok.

SVM dan modifikasinya membantu menyelesaikan tugas pembelajaran mesin yang rumit seperti penyambungan DNA, menentukan jenis kelamin seseorang dari foto, dan menampilkan spanduk iklan di situs web.

6. Metode ansambel

Ini didasarkan pada algoritma pembelajaran mesin yang menghasilkan banyak pengklasifikasi dan memisahkan semua objek dari data yang baru diterima berdasarkan rata-rata atau hasil pemungutan suara mereka. Awalnya, metode ensemble adalah kasus khusus rata-rata Bayesian, tetapi kemudian menjadi lebih rumit dan ditumbuhi dengan algoritma tambahan:

  • meningkatkan - mengubah model yang lemah menjadi model yang kuat dengan membentuk ansambel pengklasifikasi (dari sudut pandang matematika, ini adalah persimpangan yang membaik);
  • bagging (bagging) - mengumpulkan pengklasifikasi canggih, sementara secara bersamaan melatih dasar (meningkatkan asosiasi);
  • koreksi kesalahan pengkodean keluaran.

Metode ensemble adalah alat yang lebih kuat dibandingkan dengan model peramalan yang berdiri sendiri, karena:

  • itu meminimalkan pengaruh kecelakaan dengan rata-rata kesalahan masing-masing pengklasifikasi basis;
  • mengurangi dispersi, karena beberapa model berbeda berdasarkan hipotesis berbeda lebih mungkin untuk mencapai hasil yang benar daripada yang diambil secara terpisah;
  • mengecualikan melampaui lingkup himpunan: jika hipotesis agregat berada di luar himpunan hipotesis dasar, maka pada tahap pembentukan hipotesis gabungan itu diperluas menggunakan satu metode atau yang lain, dan hipotesis sudah termasuk di dalamnya.

7. Algoritma Clustering

Clustering terdiri dari distribusi banyak objek ke dalam kategori sehingga dalam setiap kategori - cluster - elemen yang paling mirip ditemukan.

Anda dapat mengelompokkan objek menggunakan algoritma yang berbeda. Yang paling umum digunakan adalah:

  • berdasarkan pusat gravitasi segitiga;
  • berdasarkan koneksi;
  • pengurangan dimensi;
  • kepadatan (berdasarkan pengelompokan spasial);
  • probabilistik;
  • pembelajaran mesin, termasuk jaringan saraf.

Algoritma pengelompokan digunakan dalam biologi (studi tentang interaksi gen dalam genome dengan hingga beberapa ribu elemen), sosiologi (memproses hasil studi sosiologis menggunakan metode Ward, menghasilkan cluster dengan dispersi minimal dan sekitar ukuran yang sama) dan teknologi informasi.

8. Metode Komponen Utama (PCA)

Metode komponen utama, atau PCA, adalah operasi statistik pada transformasi ortogonal, yang bertujuan untuk menerjemahkan pengamatan variabel yang entah bagaimana dapat saling berhubungan menjadi satu set komponen utama - nilai yang tidak berkorelasi linier.

Tugas praktis di mana PCA diterapkan adalah visualisasi dan sebagian besar prosedur untuk mengompresi, menyederhanakan, meminimalkan data untuk memfasilitasi proses pembelajaran. Namun, metode komponen utama tidak cocok untuk situasi di mana data awal tidak tertata dengan baik (yaitu, semua komponen metode ditandai dengan dispersi tinggi). Jadi penerapannya ditentukan oleh seberapa baik bidang studi dipelajari dan dijelaskan.

9. Dekomposisi singular

Dalam aljabar linier, dekomposisi singular, atau SVD, didefinisikan sebagai dekomposisi matriks persegi panjang yang terdiri dari bilangan kompleks atau nyata. Jadi, matriks M dari dimensi [m * n] dapat didekomposisi sedemikian rupa sehingga M = UฮฃV, di mana U dan V adalah matriks kesatuan, dan ฮฃ adalah diagonal.

Salah satu kasus khusus dari dekomposisi singular adalah metode komponen utama. Teknologi visi komputer pertama kali dikembangkan berdasarkan SVD dan PCA dan bekerja sebagai berikut: pertama, wajah (atau pola lain yang ditemukan) direpresentasikan sebagai jumlah komponen dasar, kemudian dimensi mereka dikurangi, setelah itu mereka dibandingkan dengan gambar dari sampel. Algoritma modern penguraian tunggal dalam pembelajaran mesin, tentu saja, jauh lebih kompleks dan canggih dari pendahulunya, tetapi esensi mereka telah berubah secara umum.

10. Analisis Komponen Independen (ICA)

Ini adalah salah satu metode statistik yang mengungkapkan faktor tersembunyi yang mempengaruhi variabel acak, sinyal, dll. ICA menghasilkan model generatif untuk basis data multi-faktor. Variabel dalam model berisi beberapa variabel tersembunyi, dan tidak ada informasi tentang aturan untuk mencampurnya. Variabel tersembunyi ini adalah komponen sampel independen dan dianggap sebagai sinyal non-Gaussian.

Berbeda dengan analisis komponen utama, yang terkait dengan metode ini, analisis komponen independen lebih efektif, terutama dalam kasus-kasus ketika pendekatan klasik tidak berdaya. Ini menemukan penyebab tersembunyi dari fenomena dan, karena ini, telah menemukan aplikasi luas di berbagai bidang, dari astronomi dan kedokteran untuk pengenalan suara, pengujian otomatis dan analisis dinamika indikator keuangan.

1.5 Contoh kehidupan nyata


Contoh 1. Diagnosis penyakit

Pasien dalam kasus ini adalah objek, dan tanda-tanda adalah semua gejala, riwayat, hasil tes, tindakan pengobatan yang sudah diambil (pada kenyataannya, seluruh riwayat medis, diformalkan dan dipecah menjadi kriteria yang terpisah). Beberapa tanda - jenis kelamin, ada atau tidak adanya sakit kepala, batuk, ruam, dan lainnya - dianggap biner. Penilaian tingkat keparahan kondisi (sangat parah, sedang, dll.) Adalah tanda ordinal, dan banyak lainnya bersifat kuantitatif: volume obat, tingkat hemoglobin dalam darah, tekanan darah dan detak jantung, usia, berat badan. Setelah mengumpulkan informasi tentang kondisi pasien, yang mengandung banyak tanda-tanda ini, Anda dapat mengunduhnya ke komputer dan, menggunakan program yang mampu mempelajari mesin, menyelesaikan masalah berikut:

  • melakukan diagnosa banding (menentukan jenis penyakit);
  • pilih strategi perawatan yang paling optimal;
  • untuk memprediksi perkembangan penyakit, durasi dan hasilnya;
  • menghitung risiko kemungkinan komplikasi;
  • mengidentifikasi sindrom - set gejala yang terkait dengan penyakit atau gangguan tertentu.

Tidak ada dokter yang dapat memproses seluruh rangkaian informasi untuk setiap pasien secara instan, merangkum sejumlah besar rekam medis serupa lainnya dan segera memberikan hasil yang jelas. Oleh karena itu, pembelajaran mesin menjadi alat yang sangat diperlukan bagi dokter.

Contoh 2. Pencarian deposit mineral

Dalam peran tanda di sini adalah informasi yang diperoleh melalui eksplorasi geologis: keberadaan batuan apa pun di wilayah tersebut (dan ini akan menjadi tanda jenis biner), sifat fisik dan kimianya (yang diuraikan menjadi sejumlah tanda kuantitatif dan kualitatif).

Untuk sampel pelatihan, diambil 2 jenis preseden: area di mana endapan mineral ada, dan area dengan karakteristik serupa di mana mineral ini tidak ditemukan. Tetapi ekstraksi mineral langka memiliki kekhasan tersendiri: dalam banyak kasus, jumlah tanda secara signifikan melebihi jumlah objek, dan metode statistik tradisional kurang cocok untuk situasi seperti itu. Oleh karena itu, dalam pembelajaran mesin, penekanannya adalah pada mendeteksi pola dalam array data yang sudah dikumpulkan. Untuk ini, set fitur kecil dan paling informatif ditentukan yang paling indikatif menjawab pertanyaan penelitian - apakah ada fosil tertentu di area yang ditunjukkan atau tidak. Orang dapat menggambar analogi dengan obat-obatan: deposito juga dapat mengungkapkan sindrom mereka sendiri. Nilai menggunakan pembelajaran mesin di bidang ini terletak pada kenyataan bahwa hasil yang diperoleh tidak hanya praktis, tetapi juga kepentingan ilmiah yang serius bagi ahli geologi dan ahli geofisika.

Contoh 3. Penilaian keandalan dan solvabilitas kandidat untuk pinjaman

Tugas ini dihadapi setiap hari oleh semua bank yang terlibat dalam mengeluarkan pinjaman. Kebutuhan untuk mengotomatisasi proses ini sudah lama tertunda, kembali pada 1960-1970-an, ketika booming kartu kredit dimulai di Amerika Serikat dan negara-negara lain.

Orang yang meminta pinjaman dari bank adalah objek, tetapi tanda-tandanya akan berbeda tergantung pada apakah individu ini atau badan hukum. Deskripsi karakteristik individu pribadi yang mengajukan pinjaman dibentuk berdasarkan data kuesioner yang diisi. Kemudian kuesioner dilengkapi dengan beberapa informasi lain tentang klien potensial yang diterima bank melalui salurannya. Beberapa dari mereka berhubungan dengan tanda-tanda biner (jenis kelamin, ketersediaan nomor telepon), yang lain dengan tanda-tanda ordinal (pendidikan, posisi), mayoritas adalah kuantitatif (jumlah pinjaman, jumlah total yang terutang ke bank lain, usia, jumlah anggota keluarga, pendapatan, senioritas) ) atau nominal (nama, nama perusahaan pemberi pekerjaan, profesi, alamat).

Untuk pembelajaran mesin, sampel diambil, termasuk peminjam yang riwayat kreditnya diketahui. Semua peminjam dibagi ke dalam kelas-kelas, dalam kasus paling sederhana ada 2 dari mereka - peminjam "baik" dan yang "buruk", dan keputusan positif untuk memberikan pinjaman hanya dibuat untuk yang "baik".

Algoritma pembelajaran mesin yang lebih kompleks, yang disebut penilaian kredit, menyediakan bagi setiap peminjam untuk menerima poin bersyarat untuk setiap atribut, dan keputusan untuk memberikan pinjaman akan tergantung pada jumlah poin yang dicetak. Selama pembelajaran mesin, sistem penilaian kredit pertama-tama menetapkan sejumlah poin untuk setiap karakteristik, dan kemudian menentukan kondisi untuk mengeluarkan pinjaman (jangka waktu, suku bunga, dan parameter lain yang tercermin dalam perjanjian pinjaman). Tetapi ada juga algoritma pembelajaran sistem lain - berdasarkan kasus penggunaan.

PS Dalam artikel berikut, kami akan memeriksa secara lebih rinci algoritma untuk membuat model pembelajaran mesin, termasuk bagian matematika dan implementasi dalam Python.

Source: https://habr.com/ru/post/id448892/


All Articles