• Tidak ada hasil yang ditemukan

(Machine Learning) - Digital Library STIE STEKOM

N/A
N/A
Protected

Academic year: 2023

Membagikan "(Machine Learning) - Digital Library STIE STEKOM"

Copied!
322
0
0

Teks penuh

PENGANTAR

Mengapa Pembelajaran Mesin?

Pada masa-masa awal aplikasi "cerdas", banyak sistem menggunakan aturan keputusan "jika" dan "lainnya" yang dikodekan secara manual untuk memproses data atau beradaptasi dengan masukan pengguna. Pembuatan aturan keputusan secara manual dapat dilakukan untuk beberapa aplikasi, terutama jika orang memiliki pemahaman yang baik tentang proses yang akan dimodelkan. Merancang aturan memerlukan pemahaman mendalam tentang bagaimana keputusan harus dibuat oleh manusia yang ahli.

Contoh kegagalan pendekatan pengkodean manual ini adalah mendeteksi wajah dalam gambar. Perbedaan representasi ini pada dasarnya membuat orang tidak mungkin membuat seperangkat aturan yang baik untuk mendeskripsikan wajah dalam gambar digital. Namun, dengan pembelajaran mesin, menyajikan program dengan banyak koleksi gambar wajah saja sudah cukup bagi algoritme untuk menentukan fitur apa yang diperlukan untuk mengidentifikasi wajah.

Masalah yang Dapat Dipecahkan oleh Pembelajaran Mesin

Dalam pembelajaran tanpa pengawasan, hanya data masukan yang diketahui dan tidak ada data keluaran yang diketahui yang diteruskan ke algoritme. Jika Anda memiliki banyak koleksi data teks, Anda mungkin ingin meringkasnya dan menemukan tema umum. Anda mungkin tidak mengetahui sebelumnya apa topik ini, atau berapa banyak topik yang ada.

Dengan adanya kumpulan data pelanggan, Anda mungkin ingin mengidentifikasi pelanggan mana yang serupa, dan apakah ada kelompok pelanggan dengan preferensi serupa. Karena Anda tidak mengetahui sebelumnya apa saja grup-grup tersebut, atau bahkan berapa jumlahnya, Anda tidak mengetahui keluarannya. Setiap pola abnormal bisa sangat berbeda, dan Anda mungkin tidak mempunyai contoh perilaku abnormal yang terekam.

Namun perlu diingat bahwa tidak ada algoritme pembelajaran mesin yang dapat memprediksi data yang informasinya tidak dimilikinya. Misalnya, jika satu-satunya karakteristik yang Anda miliki untuk seorang pasien adalah nama belakangnya, tidak ada algoritme yang dapat memprediksi jenis kelaminnya.

Mengetahui Tugas Anda dan Mengetahui Data Anda

Untuk tugas pembelajaran yang diawasi dan tidak diawasi, penting untuk memiliki representasi data masukan Anda yang dapat dipahami oleh komputer. Setiap titik data yang ingin Anda jelaskan (setiap email, setiap pelanggan, setiap transaksi) adalah sebuah baris, dan setiap properti yang menjelaskan titik data tersebut (misalnya, usia pelanggan, jumlah transaksi, atau lokasi) adalah sebuah kolom. Setiap entitas atau baris di sini dikenal dalam pembelajaran mesin sebagai contoh (atau titik data), sedangkan kolom (properti yang mendeskripsikan entitas ini) disebut fitur.

Bagaimana solusi pembelajaran mesin akan berinteraksi dengan bagian lain dari penelitian atau produk bisnis saya. Dalam konteks yang lebih luas, algoritme dan metode dalam pembelajaran mesin hanyalah salah satu bagian dari proses yang lebih besar untuk memecahkan masalah tertentu, dan sebaiknya selalu mengingat gambaran besarnya. Banyak orang menghabiskan banyak waktu untuk membuat solusi pembelajaran mesin yang kompleks, hanya untuk mengetahui bahwa solusi tersebut tidak memecahkan masalah yang tepat.

Saat kita mendalami aspek teknis pembelajaran mesin (seperti yang akan kita bahas dalam buku ini), kita akan mudah melupakan tujuan akhirnya. Meskipun kami tidak akan membahas pertanyaan-pertanyaan yang tercantum di sini secara mendetail, kami tetap menganjurkan Anda untuk mengingat asumsi apa pun yang mungkin Anda buat, baik secara eksplisit maupun implisit, saat Anda mulai membuat model pembelajaran mesin.

Mengapa Python?

Scikit-Learn

Dokumentasi online sangat menyeluruh, dan buku ini akan memberi Anda semua prasyarat dalam pembelajaran mesin untuk memahaminya secara detail. Tersedia di Mac OS, Windows dan Linux, ini adalah solusi yang sangat mudah dan merupakan solusi yang kami rekomendasikan bagi orang-orang yang belum menginstal paket ilmiah Python. Penggunaan MKL (yang dilakukan secara otomatis saat Anaconda diinstal) dapat memberikan peningkatan kecepatan yang signifikan untuk banyak algoritma di scikit-learn.

Muncul dengan NumPy, SciPy, matplotlib, pandas dan IPython, tetapi versi gratisnya tidak dilengkapi dengan scikit-learn. Jika Anda adalah bagian dari institusi akademik yang memberikan gelar, Anda dapat meminta lisensi akademik dan mendapatkan akses gratis ke versi berlangganan berbayar dari Enthink Canopy.

Perpustakaan dan Alat Penting

Buku catatan Jupyter memudahkan penyisipan kode, teks, dan gambar, dan semua buku ini sebenarnya ditulis sebagai buku catatan Jupyter. Memvisualisasikan data dan berbagai aspek analisis Anda dapat memberikan wawasan penting, dan kami akan menggunakan matplotlib untuk semua visualisasi. Jika Anda tertarik, Anda dapat mencari semua fungsi yang ada di repositori, namun detail modul mglearn tidak begitu penting untuk materi dalam buku ini.

Jika Anda melihat panggilan untuk mglearn dalam kode, biasanya itu adalah cara untuk membuat gambar bagus atau mendapatkan data menarik dengan cepat. Jika Anda tidak menggunakan notebook atau perintah ajaib ini, Anda harus memanggil plt.show untuk benar-benar menampilkan salah satu nomornya. Jika Anda baru mengenal Python, atau memulai proyek baru dari awal, kami sangat menyarankan menggunakan versi terbaru Python 3 tanpa modifikasi.

Jika Anda memiliki basis kode besar yang Anda andalkan yang ditulis untuk Python 2, Anda tidak diperbolehkan melakukan pemutakhiran saat ini. Saat menulis kode baru, sangat mudah untuk menulis kode yang berfungsi di bawah Python 2 dan Python 3.2. Jika Anda tidak perlu berinteraksi dengan perangkat lunak lama, Anda harus menggunakan Python 3.

Versi yang Digunakan dalam Buku ini

Ada dua versi utama Python yang digunakan secara luas saat ini: Python 2 (lebih tepatnya, 2.7) dan Python 3 (dengan rilis terbaru adalah 3.5 pada saat penulisan). Meskipun tidak penting untuk mencocokkan versi ini dengan tepat, Anda harus memiliki versi scikit-learn terbaru yang kami gunakan. Modul model_selection ditambahkan pada 0.18 dan jika Anda menggunakan scikit-learn versi lama, Anda perlu menyesuaikan impor modul ini.

Aplikasi Pertama: Mengklasifikasikan Spesies Iris

Karena kita memiliki pengukuran yang dapat mengetahui spesies iris mata yang benar, ini adalah masalah pembelajaran yang diawasi. Setiap iris dalam kumpulan data termasuk dalam salah satu dari tiga kelas, jadi masalah ini adalah masalah klasifikasi tiga kelas. Data yang akan kita gunakan untuk contoh ini adalah kumpulan data Iris, kumpulan data klasik dalam pembelajaran mesin dan statistik.

Objek iris yang dikembalikan oleh load_iris adalah objek Bunch, yang sangat mirip dengan kamus. Ini adalah konvensi dalam scikit-learn, dan data Anda akan selalu dipertimbangkan dalam formulir ini. Dari data tersebut terlihat lima bunga pertama memiliki lebar kelopak 0,2 cm dan bunga pertama memiliki sepal terpanjang yaitu 5,1 cm.

Mengukur Keberhasilan: Data Pelatihan dan Pengujian

Kode berikut membuat diagram sebar (Gambar 2.2) yang memvisualisasikan semua titik data dalam kumpulan data ini. Mari kita melalui proses pembuatan pohon keputusan untuk kumpulan data klasifikasi 2D yang ditunjukkan pada Gambar 2.23.

Hal Penting: Lihat Data Anda

Membangun Model Pertama Anda: k-Nearest Neighbors

Untuk membuat prediksi titik data baru, algoritme menemukan titik di set pelatihan yang paling dekat dengan titik baru. K dalam k-tetangga terdekat berarti bahwa alih-alih hanya menggunakan tetangga terdekat untuk titik data baru, kita dapat mempertimbangkan sejumlah k-tetangga dalam pelatihan (katakanlah, tiga atau lima tetangga terdekat). Kami akan membahas hal ini lebih detail di Bab 2; untuk saat ini kami hanya akan menggunakan satu tetangga.

Semua model pembelajaran mesin di scikit-learn diimplementasikan di kelasnya sendiri, yang disebut kelas Estimator. Objek knn merangkum algoritma yang akan digunakan untuk membangun model dari data pelatihan, serta algoritma untuk membuat prediksi pada titik data baru. Metode match mengembalikan objek knn itu sendiri (dan memodifikasinya di tempatnya), sehingga kita mendapatkan representasi string dari pengklasifikasi kita.

Sebagian besar model di scikit-learn memiliki banyak parameter, tetapi sebagian besar merupakan pengoptimalan kecepatan atau untuk kasus penggunaan yang sangat spesifik. Mencetak pola scikit-learn dapat menghasilkan string yang sangat panjang, namun jangan terintimidasi oleh hal itu.

Membuat Prediksi

Hampir semuanya adalah nilai default, tetapi Anda juga dapat menemukan n_neighbors=1, yang merupakan parameter yang kami lewati. Kita tidak mengetahui secara pasti spesies dari spesimen ini, yang merupakan inti dari pemodelan.

Mengevaluasi Model

Untuk aplikasi hobi botani kami, tingkat akurasi yang tinggi ini berarti model kami cukup andal untuk digunakan. Pada bab berikutnya kita membahas bagaimana kita dapat meningkatkan kinerja, dan beberapa peringatan saat menyetel model.

Ringkasan dan Pandangan

PEMBELAJARAN TERAWASI

  • Klasifikasi dan Regresi
  • Generalisasi, Overfitting, dan Underfitting
  • Hubungan Kompleksitas Model dengan Ukuran Dataset
  • Algoritma Pembelajaran Mesin
  • Beberapa Contoh Dataset
  • k-Nearest Neighbors
  • Model Linier
  • Pengklasifikasi Naive Bayes
  • Pohon Keputusan
  • Mesin Vektor Dukungan Kernelized
  • Jaringan Neural (Pembelajaran Mendalam)
  • Perkiraan Ketidakpastian dari Pengklasifikasi
  • Fungsi Keputusan
  • Memprediksi Probabilitas
  • Ketidakpastian dalam Klasifikasi Multiklasi
  • Ringkasan dan Pandangan

PEMBELAJARAN DAN PREPROCESSING TANPA PENGAWASAN

  • Jenis Pembelajaran Tanpa Pengawasan

Referensi

Dokumen terkait

Volume I Tahun 2021 November 2021 E-ISSN: 2808-5361 http://e-journal.fkmumj.ac.id/ Proceeding The First Muhammadiyah Internasional- Public Health and Medicine Conference 755