Pembelajaran mesin

Pembelajaran mesin, cabang dari kecerdasan buatan, adalah disiplin ilmu yang mencakup perancangan dan pengembangan algoritme yang memungkinkan komputer untuk mengembangkan perilaku berdasarkan data empiris, seperti dari sensor data basis data. Sistem pembelajar dapat memanfaatkan contoh (data) untuk menangkap ciri yang diperlukan dari probabilitas yang mendasarinya (yang tidak diketahui). Data dapat dilihat sebagai contoh yang menggambarkan hubungan antara variabel yang diamati. Fokus besar penelitian pemelajaran mesin adalah bagaimana mengenali secara otomatis pola kompleks dan membuat keputusan cerdas berdasarkan data. Kesukarannya terjadi karena himpunan semua peri laku yang mungkin, dari semua masukan yang dimungkinkan, terlalu besar untuk diliput oleh himpunan contoh pengamatan (data pelatihan). Karena itu pembelajar harus merampatkan (generalisasi) perilaku dari contoh yang ada untuk menghasilkan keluaran yang berguna dalam kasus-kasus baru.

Definisi 
Mesin yang dimaksud di sini adalah mesin dalam pengertian lebih mendekati kepada ‘sistem’, bukan mesin 'mekanik'. Istilah pemelajaran pertama kali muncul dalam disiplin ilmu kecerdasan buatan. Pemelajaran berarti menambah pengetahuan, memahami dengan belajar, dan mengikuti perintah. Pemelajaran mesin merupakan salah satu cabang dari kecerdasan buatan yang membahas mengenai pembangunan sistem yang didapat berdasarkan pada pemelajaran data, atau sebuah studi yang mempelajari cara untuk memprogram sebuah komputer untuk belajar. Inti dari pemelajaran mesin adalah representasi dan generalisasi. Pada tahun 1959, Arthur Samuel mendefinisikan bahwa pemelajaran mesin adalah bidang studi yang memberikan kemampuan untuk belajar tanpa diprogram secara eksplisit. Kemampuan belajar yang menjadi dominan ditentukan oleh kemampuan perangkat lunak atau alogaritmanya. Implementasi kemampuan belajar dapat dicapai dengan berbagai teknik, ada yang menggunakan kaidah (rule), ada yang menggunakan statistika, ada yang menggunakan pendekatan fisiologi yaitu sistem saraf manusia atau disebut dengan ANN (artificial neural network) atau jaringan saraf tiruan. Pemelajaran mesin dapat berfungsi untuk beradaptasi dengan suatu keadaan yang baru, serta untuk mendeteksi dan memperkirakan suatu pola.

Sejarah 
Pada tahun 1951, John McCarthy yang baru saja mendapatkan gelar PhD meyakinkan Minsky, Claude Shannon, dan Nathaniel Rochester untuk membantunya membawa peneliti Amerika Serikat yang memiliki ketertarikan pada teori automata, jaring saraf, dan studi mengenai kecerdasan menjadi satu. Mereka mengorganisir sebuah lokakarya di Dartmouth College di Hanover, New Hampshire pada tahun 1956. Pada saat itulah dianggap menjadi tahun lahirnya kecerdasan buatan. Sejak awal, para peneliti kecerdasan buatan tidak segan membuat prediksi mengenai keberhasilan dari kecerdasan buatan ini. Pada awalnya kecerdasan buatan berkembang cukup pesat, hal ini disebabkan karena ekspektasi yang terlalu tinggi dari para peneliti di bidang ini. Hingga pada tahun 1974, bidang kecerdasan buatan mulai kurang diminati. Sampai pada tahun 1980, ketertarikan terhadap kecerdasan buatan sebagai bidang penelitian mulai bangkit kembali. Salah satu yang mendukung hal ini adalah hasil kerja Yarowsky (1995), ia melakukan percobaan menggunakan pemelajaran mesin dan mendapatkan hasil diatas 96% untuk ke akuratan dari percobaannya. Setelah Yarowsky banyak orang-orang yang melakukan percobaan menggunakan pemelajaran mesin dan mendapatkan hasil yang memuaskan, dari sinilah pemelajaran mesin dapat semakin berkembang hingga hari ini.

Perbedaan dengan penggalian data 
Penggalian data (data mining) adalah sebuah proses untuk menemukan pengetahuan, ketertarikan, dan pola baru dalam bentuk model yang deskriptif, dapat dimengerti, dan prediktif dari data dalam skala besar. Dengan kata lain data mining merupakan ekstraksi atau penggalian pengetahuan yang diinginkan dari data dalam jumlah yang sangat besar.

Dari definisi diatas dapat disimpulkan bahwa pada pemelajaran mesin berkaitan dengan studi, desain dan pengembangan dari suatu algoritme yang dapat memungkinkan sebuah komputer dapat belajar tanpa harus diprogram secara eksplisit. Sedangkan pada data mining dilakukan proses yang dimulai dari data yang tidak terstruktur lalu diekstrak agar mendapatkan suatu pengetahuan ataupun sebuah pola yang belum diketahui. Selama proses data mining itulah algoritme dari pemelajaran mesin digunakan.

Tipe algoritme 
Algoritme dalam pemelajaran mesin dapat dikelompokkan berdasarkan masukan dan keluaran yang diharapkan dari algoritme.

 Pemelajaran terarah (supervised learning) membuat fungsi yang memetakan masukan ke keluaran yang dikehendaki, misalnya pada pengelompokan (klasifikasi).
Pemelajaran terarah merupakan algoritme yang mempelajari sekumpulan contoh pasangan masukan-keluaran yang diinginkan dalam jumlah yang cukup besar. Algoritme ini menggunakan data latih (data train), yaitu data-data yang sudah diberi label untuk melakukan pembelajaran. Metode ini bertujuan agar mesin mampu mengidentifikasi label input baru dengan menggunakan fitur yang ada untuk melakukan prediksi maupun klasifikasi. Dengan mengamati data-data tersebut, metode ini akan menghasilkan sebuah model yang mampu memetakan masukan yang baru menjadi keluaran yang tepat.
Salah satu contoh yang paling sederhana adalah terdapat sekumpulan contoh masukan berupa umur seseorang dan contoh keluaran yang berupa tinggi badan orang tersebut. Algoritme pemelajaran melalui contoh mengamati contoh-contoh tersebut dan kemudian mempelajari sebuah fungsi yang pada akhirnya dapat "memperkirakan" tinggi badan seseorang berdasarkan masukan umur orang tersebut.
Contoh implementasi dengan metode ini adalah pada kasus deteksi spam pada surel. Data latih yang digunakan akan diberi label berupa spam dan bukan spam. Mesin akan mempelajari data-data tersebut melalui proses learning sehingga dapat menghasilkan keluaran berupa mesin yang sudah terlatih untuk mengelompokkan surel yang spam dan bukan spam.

 Pemelajaran tak terarah (unsupervised learning) memodelkan himpunan masukan, seperti penggolongan (clustering).
Algoritme ini mempunyai tujuan untuk mempelajari dan mencari pola-pola menarik pada masukan yang diberikan. Meskipun tidak disediakan keluaran yang tepat secara eksplisit. Salah satu algoritme unsupervised learning yang paling umum digunakan adalah clustering atau pengelompokan.
Berbeda dengan metode sebelumnya, metode ini tidak menggunakan data latih dalam melakukan pembelajaran. Dengan kata lain, data-data yang diberikan kepada mesin adalah data-data yang tidak berlabel sehingga mesin dapat mempelajari data-data tersebut berdasarkan fitur-fiturnya. Algoritme ini tidak memiliki variabel target dan bertujuan untuk mengelompokkan objek yang serupa dalam suatu area tertentu.
Contoh unsupervised learning dalam dunia nyata, misalnya seorang supir taksi yang secara perlahan-lahan menciptakan konsep "macet" dan "tidak macet" tanpa pernah diberikan contoh oleh siapapun.
 Pemelajaran semi terarah (semi-supervised learning), yakni tipe yang menggabungkan antara supervised dan unsupervised untuk menghasilkan suatu fungsi.
Algoritme pemelajaran semi terarah menggabungkan kedua tipe algoritme di atas, di mana diberikan contoh masukan-keluaran yang tepat dalam jumlah sedikit dan sekumpulan masukan yang keluarannya belum diketahui. Algoritme ini harus membuat sebuah rangkaian kesatuan antara dua tipe algoritme di atas untuk dapat menutupi kelemahan pada masing-masing algoritme.
Misalnya sebuah sistem yang dapat menebak umur seseorang berdasarkan foto orang tersebut. Sistem tersebut membutuhkan beberapa contoh, misalnya yang didapatkan dengan mengambil foto seseorang dan menanyakan umurnya (pemelajaran terarah). Akan tetapi, pada kenyataannya beberapa orang sering kali berbohong tentang umur mereka sehingga menimbulkan noise pada data. Oleh karena itu, digunakan juga pemelajaran tak terarah agar dapat saling menutupi kelemahan masing-masing, yaitu noise pada data dan ketiadaan contoh masukan-keluaran.
 Reinforcement learning: Tipe ini mengajarkan bagaimana cara bertindak untuk menghadapi suatu masalah, yang suatu tindakan itu mempunyai dampak. Adalah sebuah algoritme pemelajaran yang diterapkan pada agen cerdas agar ia dapat menyesuaikan dengan kondisi dilingkungannya, hal ini dicapai dengan cara memaksimalkan nilai dari hadiah ‘reward’ yang dapat dicapai. Suatu hadiah didefinisikan sebuah tanggapan balik ‘feedback’ dari tindakan agen bahwa sesuatu baik terjadi .Sebagai contoh, sangatlah sulit untuk memrogram sebuah agen untuk menerbangkan sebuah helikopter, tetapi dengan memberikan beberapa nilai negatif untuk menabrak, bergoyang-goyang, serta melenceng dari jalur tujuan perlahan-lahan agen tersebut dapat belajar menerbangkan helikopter dengan lebih baik.

 Pemelajaran berkembang (developmental learning algorithm) adalah sebuah bidang yang bertujuan untuk mempelajari mekanisme pengembangan, arsiterktur, dan batasan yang memungkinkan dibuatnya metode pemelajaran yang berlaku seumur hidup, serta bersifat terbuka terhadap kemampuan dan pengetahuan untuk dipasangkan kepada mesin.
 Transduction: Tipe ini hampir mirip dengan Supervised Learning, tapi tidak secara jelas untuk membangun suatu fungsi melainkan mencoba memprediksi output baru yang berdasarkan dari input baru, masukan pelatihan input dan output
 Learning to learn: Tipe ini menggunakan algoritme untuk mempelajari yang sebelumnya.

Contoh pendekatan

Pohon keputusan 
Pemelajaran pohon keputusan bisa dijadikan sebagai model prediktif yang dapat memetakan pengamatan sebuah pilihan ke kesimpulan target dari pilihan tersebut. Pohon keputusan memiliki pendekatan pemodelan prediksi menggunakan statistik, data mining, dan pemelajaran mesin. Pada pohon keputusan ini node-node daunnya akan merepresentasikan label kelas, sedangkan cabangnya merepresentasikan kaitan dari fitur-fitur yang dapat menuntun menuju label kelas yang ada. Pemelajaran pohon keputusan merupakan representasi sederhana untuk contoh pengklasifikasian. Pemelajaran pohon keputusan merupakan salah satu teknik dari supervised learning. Terdapat banyak algoritme pohon keputusan, diantaranya adalah id3 (iterative dichotomiser 3), c4.5, cart (classification and regression tree), CHAID (CHi-squared Automatic Interaction Detector), MARS, dan lain-lain.

Sebagai contoh pohon keputusan dapat digunakan untuk penyaringan email. Dengan memasukan fitur-fitur dari email yang telah ditentukan menjadi cabangnya, dan nantinya cabang-cabang tersebut memiliki daun yang dapat menentukan email tersebut masuk ke label yang mana yang telah tersedia.

Jaringan saraf tiruan 
Jaringan saraf tiruan (artificial neural network) adalah sebuah algoritme yang didesain untuk memodelkan cara kerja jaringan saraf dalam melakukan suatu pekerjaan atau fungsi tertentu. Jaringan ini biasanya diimplementasikan dengan menggunakan komponen elektronik atau disimulasikan dalam sebuah perangkat lunak di dalam komputer digital.

Pengelompokan 
Pengelompokan (clustering) merupakan salah satu pemelajaran yang tergolong dalam pemelajaran yang tidak memerlukan contoh (unsupervised learning). Definisi sederhana dari pengelompokan adalah sebuah proses untuk mengorganisasikan objek menjadi beberapa kelompok yang memiliki anggota yang mirip dalam hal tertentu. Algoritme pengelompokan menerima sekumpulan masukan dan kemudian membuat sebuah pembagian (kelompok-kelompok) dari masukan tersebut. Dua masukan yang berada pada kelompok yang sama seharusnya memiliki banyak kesamaan dibandingkan dengan dua masukan yang berada pada kelompok yang berbeda.

Sebagai contoh, para astronom harus melakukan pengelompokan untuk menentukan tipe dari bintang-bintang berdasarkan data spektrum dari ratusan ribu bintang sehingga pada akhirnya mendapatkan istilah seperti “red giant” dan “white dwarf”.

Jaringan Bayes 
Bayesian network diciptakan karena adanya penelitian 'Alasan Probabilistik dalam Kecerdasan Sistem oleh Judea Pearl (1988) yang menuntun pada diterimanya probabilitas dan teori keputusan dalam kecerdasan buatan. Bayesian Network secara formal diciptakan untuk memungkinkan representasi yang efisien, dan penalaran yang teliti dengan, pengetahuan pasti. Bayesian network memungkinkan untuk dapat belajar dari pengalaman serta menggabungkan kecerdasan buatan yang terbaik dan jaringan saraf. Bayesian network merupakan keluarga dari model graf probabilistik. Struktur graf ini digunakan untuk merepresentasikan pengetahuan dari suatu domain yang belum pasti. Nantinya setiap node yang ada pada graf merepresentasikan variabel acak, dimana sisi-sisi antar node tersebut merepresentasikan probabilitas ketergantungan antar variabel yang acak tersebut.

Pemrograman logika induktif 
Pemrograman logika induksi (inductive logic programming) merupakan salah satu pendekatan pemelajaran mesin yang mempelajari konstruksi induktif dalam bentuk first-order berdasarkan contoh dan latar belakang pengetahuan yang ada. Pendekatan ini menekankan pada representasi dari hipotesis sebagai program logika.

Contohnya pada pemelajaran relasi keluarga dari data yang diberikan. Proses klasifikasi dilakukan dengan memproses latar belakang pengetahuan, hipotesis, dan deskripsi yang diberikan. Deskripsi akan terdiri dari istilah seperti Father(Philip, Charles), Mother(Mum, Margaret), dan lainnya. Pada awalnya, belum latar belakang pengetahuan yang dapat digunakan. Sehingga memunculkan beberapa hipotesis seperti Grandparent(x,y). Seiring berjalannya waktu, latar belakang pengetahuan akan terus meningkat dan menemukan bahwa Parent(x,y) ⟺ [Mother(x,y) V Father(x,y)]. Dengan demikian, definisi dari Grandparent dapat dikurangi menjadi Grandparent(x,y) ⟺ [∃z Parent(x,z) ∧ Parent(z,y)].

Manfaat dan implementasi 
Pemelajaran mesin menjaganya agar tetap sederhana, sebuah algoritme dikembangkan untuk mencatat perubahan dalam data dan berevolusi dalam desain itu untuk mengakomodasi temuan baru. Seperti diterapkan untuk analisis prediktif, fitur ini memiliki dampak luas mulai pada kegiatan yang biasanya dilakukan untuk mengembangkan, menguji, dan memperbaiki algoritme untuk tujuan tertentu.
Aplikasi untuk pemelajaran mesin termasuk:
 Machine perception
 Computer vision, including object recognition
 Natural language processing
 Syntactic pattern recognition
 Machine learning
 Medical diagnosis
 Bioinformatics
 Brain-machine interfaces
 Cheminformatics
 Detecting credit card fraud
 Stock market analysis
 Classifying DNA sequences
 Sequence mining
 Speech and handwriting recognition
 Games
 Software engineering
 Adaptive websites
 Robot locomotion
 Computational advertising
 Computational finance
 Structural health monitoring
 Sentiment analysis (or opinion mining)
 Affective computing
 Menerima Informasi
 Recommender systems

Penerapan pada masa depan 
Meskipun Machine Learning tidak dapat secara efektif memprediksi jengkel pengguna, kita masih percaya bahwa masih banyak yang bisa dilakukan untuk mencapai hasil yang lebih baik pada proyek ini. Pertama-tama, kumpulan data kami adalah kecil untuk metode pemelajaran mesin, kami ingin mengumpulkan lebih banyak data untuk melihat apakah meningkatkan hasil kami sama sekali.
Hal lain yang kita ingin mencoba adalah mengubah permainan yang memainkan pengguna . Karena kita menggunakan jenis permainan penembak, banyak " menumbuk tombol " adalah terlibat. Sesuatu yang lebih seperti permainan balap dapat bekerja lebih baik untuk mendeteksi gangguan dengan sensor gaya, karena ada lebih banyak tombol memegang terlibat daripada dengan game jenis shooter. Sebuah permainan balap juga dapat memperkenalkan lebih terkait game stres dari sebuah permainan yang melibatkan menembak.

Lihat pula 
 Pengenalan pola
 Pemelajaran dalam

Referensi 

Pemelajaran mesin