Pemelajaran mesin
Artikel ini membutuhkan rujukan tambahan agar kualitasnya dapat dipastikan. (November 2013) |
Pembelajaran mesin, cabang dari kecerdasan buatan, adalah disiplin ilmu yang mencakup perancangan dan pengembangan algoritma yang memungkinkan komputer untuk mengembangkan perilaku yang didasarkan pada 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 pembelajaran 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 disini adalah mesin dalam pengertian lebih mendekati ‘sistem’ bukan mesin mekanik. Istilah learning pertama kali muncul dalam disiplin ilmu AI (Artificial Intelligence). Pembelajaran berarti menambah pengetahuan, memahami dengan belajar, mengikuti intruksi. Pembelajaran mesin merupakan salah satu cabang dari kecerdasan buatan yang membahas mengenai pembangunan sistem yang didapat berdasarkan pada pembelajaran data, atau sebuah studi yang mempelajari cara untuk memprogram sebuah komputer untuk belajar. Inti dari pembelajaran mesin adalah representasi dan generelisasi. Pada tahun 1959, Arthur Samuel mendefinisikan bahwa pembelajaran 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 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. Pembelajaran 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 syaraf, dan studi mengenai intelijen 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 pembelajaran mesin dan mendapatkan hasil diatas 96% untuk ke akuratan dari percobaannya. Setelah Yarowsky banyak orang-orang yang melakukan percobaan menggunakan pembelajaran mesin dan mendapatkan hasil yang memuaskan, dari sinilah pembelajaran mesin dapat semakin berkembang hingga hari ini [1].
Perbedaan dengan Data Mining / 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 [2]. Dengan kata lain data mining merupakan ekstraksi atau penggalian pengetahuan yang diinginkan dari data dalam jumlah yang sangat besar [3].
Dari definisi diatas dapat disimpulkan bahwa pada pembelajaran mesin berkaitan dengan studi, desain dan pengembangan dari suatu algoritma yang dapat memampukan 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 algoritma dari pembelajaran mesin digunakan.
Tipe algoritma
Algoritma dalam pembelajaran mesin dapat dikelompokkan berdasarkan masukan dan keluaran yang diharapkan dari algoritma.
- Pembelajaran terarah (supervised learning) membuat fungsi yang memetakan masukan ke keluaran yang dikehendaki. Misalnya pengelompokan (klasifikasi).
Merupakan algoritma yang belajar berdasarkan sekumpulan contoh pasangan masukan-keluaran yang diinginkan dalam jumlah yang cukup besar. Algoritma ini mengamati contoh-contoh tersebut dan kemudian menghasilkan sebuah model yang mampu memetakan masukan yang baru menjadi keluaran yang tepat [1].
Salah satu contoh yang paling sederhana adalah terdapat sekumpulan contoh masukan berupa umur seseorang dan contoh keluaran yang berupa tinggi badan orang tersebut. Algoritma pembelajaran melalui contoh mengamati contoh-contoh tersebut dan kemudian mempelajari sebuah fungsi yang pada akhirnya dapat “memperkirakan” tinggi badan seseorang berdasarkan masukan umur orang tersebut.
- Pembelajaran tak terarah (unsupervised learning) memodelkan himpunan masukan, seperti penggolongan (clustering).
Algoritma ini mempunyai tujuan untuk mempelajari dan mencari pola-pola menarik pada masukan yang diberikan [4]. Meskipun tidak disediakan keluaran yang tepat secara eksplisit. Salah satu algoritma unsupervised learning yang paling umum digunakan adalah clustering/pengelompokan [1].
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 [1].
- Pembelajaran semi terarah (semi-supervised learning): Tipe ini menggabungkan antara Supervised dan Unsupervised untuk menghasilkan suatu fungsi.
Algoritma pembelajaran semi terarah menggabungkan kedua tipe algoritma di atas, di mana diberikan contoh masukan-keluaran yang tepat dalam jumlah sedikit dan sekumpulan masukan yang keluarannya belum diketahui. Algoritma ini harus membuat sebuah rangkaian kesatuan antara dua tipe algoritma di atas untuk dapat menutupi kelemahan pada masing-masing algoritma [1].
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 (pembelajaran terarah). Akan tetapi, pada kenyataannya beberapa orang sering kali berbohong tentang umur mereka sehingga menimbulkan noise pada data. Oleh karena itu, digunakan juga pembelajaran tak terarah agar dapat saling menutupi kelemahan masing-masing, yaitu noise pada data dan ketiadaan contoh masukan-keluaran [1].
- Reinforcement learning: Tipe ini mengajarkan bagaimana cara bertindak untuk menghadapi suatu masalah, yang suatu tindakan itu mempunyai dampak.
Adalah sebuah algoritma pembelajaran 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 [1].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 [1].
- Pembelajaran berkembang (developmental learning algorithm) adalah sebuah bidang yang bertujuan untuk mempelajari mekanisme pengembangan, arsiterktur, dan batasan yang memungkinkan dibuatnya metode pembelajaran yang berlaku seumur hidup, serta bersifat terbuka terhadap kemampuan dan pengetahuan untuk dipasangkan kepada mesin [5].
- 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 algoritma untuk mempelajari yang sebelumnya.
Contoh Pendekatan
Decision Tree / Pohon keputusan
Pembelajaran 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 pembelajaran 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. Pembelajaran pohon keputusan merupakan representasi sederhana untuk contoh pengklasifikasian. Pembelajaran pohon keputusan merupakan salah satu teknik dari supervised learning. Terdapat banyak algoritma 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.
Artificial Neural Network / Jaringan Syaraf Tiruan (JST)
JST adalah sebuah algoritma 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 didalam komputer digital [6].
Clustering / Pengelompokan
Pengelompokan merupakan salah satu pembelajaran yang tergolong dalam pembelajaran 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 [7]. Algoritma 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 [8].
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” [1].
Bayesian Network / 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 syaraf. 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 [9].
Inductive logic programming / Pemrograman logika induktif
Pemrograman logika induksi merupakan salah satu pendekatan pembelajaran mesin yang mempelajari konstruksi induktif dalam bentuk first-order berdasarkan contoh dan latar belakang pengetahuan yang ada [10]. Pendekatan ini menekankan pada representasi dari hipotesis sebagai program logika.
Contohnya pada pembelajaran 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)] [1].
Manfaat dan Contoh Implementasi
Pembelajaran mesin menjaganya agar tetap sederhana, sebuah algoritma 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 algoritma untuk tujuan tertentu. Aplikasi untuk pembelajaran 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
Future Works
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 pembelajaran 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
Pranala luar
- ^ a b c d e f g h i j S. J. Russell, P. Norvig, J. F. Canny, J. M. Malik, and D. D. Edwards, Artificial Intelligence: A Modern Approach, vol. 2. Prentice hall Englewood Cliffs, 1995.
- ^ M. J. Zaki, W. Meira Jr., Data Mining and Analysis: Fundamental Concepts and Algorithms, Cambridge University Press, 2014.
- ^ J. Han, M. Kamber, Data Mining: Concepts and Techniques, Morgan Kaufmann, 2006.
- ^ K. P. Murphy, Machine Learning: A Probabilistic Perspective, The MIT Press, Cambridge, Massachusetts, London, England.
- ^ https://en.wiki-indonesia.club/wiki/Machine_learning
- ^ S. Hayken, Neural Networks: A Comprehensive Foundation, Macmillan College Publishing Company, 1994.
- ^ B. R. Jipkate, V. V. Gohokar, A Comparative Analysis of Fuzzy C-Means Clustering and K Means Clustering Algorithms, International Journal of Computational Engineering Research, ISSN: 2250-3005.
- ^ T. Finley, T. Joachims, Supervised Clustering with Support Vector Machine, Department of Computer Science, Cornell University, Ithaca, NY 14853 USA.
- ^ http://www.eng.tau.ac.il/~bengal/BN.pdf
- ^ S. Muggleton, L. D. Raedt, Inductive Logic Programming: Theory and Methods, Journal of Logic Programming, 1994: 19, 20: 629-679.