Machine Learning / Pembelajaran Mesin

Assalammu’alaikum,

Kali ini saya ingin share mengenai Machine Learning atau Pembelajaran Mesin dalam bahasa Indonesia. Rujukan yang paling banyak digunakan dalam pembelajaran mesin sendiri biasanya adalah bukunya Tom Mitchel buku yang cukup terkenal dalam area pembelajaran mesin, terakhir saya mendengarkan ceramahnya melalui web binar, Prof. Tom Mitchel ini membicarakan mengenai Never Ending Learning (kerenkan?).

Machine learning (Pembelajaran Mesin) merupakan kemampuan komputer untuk melakukan pembelajaran tanpa harus menjelaskan (programmed) secara eksplisit kepada komputer (Arthur, 1959), atau  menurut Tom Mitchel suatu komputer dikatakan melakukan pembelajaran dari pengalaman E terhadap tugas T dan mengukur peningkatan kinerja P, jika kinerja Tugas T  diukur oleh kinerja P, meningkatkan pengalaman E (Mitchel, 1997).

Dengan kata lain machine learning merupakan ilmu yang mempelajari bagaimana memberikan kemampuan terhadap komputer unutk melakukan aktifitas belajar guna menyelesaikan masalah secara mandiri. 

Hari ini pembelajaran mesin sangat popular karena banyak orang yang ingin membangun suatu mesin yang memiliki intelijen (intelligent machines) dan itu ternyata membutuhkan beberapa hal dasar seperti pembangunan jalur terpendek dari suatu posisi P ke Q. Namun untuk bagian bagaimana untuk membangun suatu photo tagging otomatis, spam detector, froud detection, object detection dan banyak lagi terkadang sulit untuk menulis suatu program Ai untuk menyelesaikan kasus seperti yang sudah disebutkan. Pembelajaran mesin menjawab tantangan tersebut dengan berbagai pendekatan solusi dan menyentuk berbagai segmen industry dan keilmuan.

Pada dasarnya ilmu ini mempelajari bagaimana cara mengajarkan komputer cara belajar berdasarkan data-data yang ada dan mempelajari fenomena didalamnya yang nantinya berupa model atau knowledge yang digunakan untuk kasus-kasus yang akan muncul dimasa yang akan datang. Dalam learning dibagi menjadi 2 pendekatan dalam proses learningnya yaitu : inductive learning dan deductive learning.

Deductive learning biasanya merupakan proses belajar berdasarakan informasi yang general untuk menyelesaikan masalah yang spesifik.

Sedangkan inductive learning biasnaya merupakan proses belajar berdasarkan informasi yang spesifik seperti contoh-contoh kasus yang sudah diselesaikan beserta hasilnya guna mendapatkan pola dalam menyelesaikan masalah tersebut, dan pola yang didapatkan dari informasi-informasi spesifik tersebut digunakan untuk menyelesaikan masalah yang baru/akan datang.

Contoh untuk pembelajaran yang deductive adalah sistem pakar, dimana ketika kita akan membangun sistem pakar maka biasanya kita mencari pakar yang sebenarnya guna mendapakan informasi mengenai pengetahuan (knowledge) mengenai kasus tertentu. Knowledge atau pengetahuan yang didapat akan digunakan untuk melakukan klasifikasi atau mengetahui solusi dari kasus atau data yang masuk.

Sedangkan untuk contoh inductive learning adalah misalkan neural network, decission tree dan lain-lain, yang memiliki cara kerja dengan mempelajari pengetahuan (knowledge) atau pattern yang terdapat dalam kumpulan informasi yang ada, yang biasanya berupa data-data yang spesifik. Patern tersebut akan digunakan untuk melakukan pencarian solusi atau klasifikasi terhadap data yang mungkin ada dimasa yang akan datang.

Pada dasarnya pembelajaran mesin dibagi menjadi beberapa jenis (ada yang membaginya kedalam 3 jenis, atau 4 jenis) , yaitu supervised, unsupervised, semi-unsupervised, dan reinforcement learning, bahkan ada yang menambahkan dengan recomander system. Namun dalam tulisan ini menggunakan pembagian 3 jenis pembelajaran yaitu supervised, unsupervised, dan reinforcement learning. Dari masing-masing jenis pembelajaran mesin ini memiliki berbagai metode yang memiliki spesifikasi berbeda dan dapat menyelesaikan masalah dengan kondisi yang berbeda satu sama lainnya, sehingga berbagai kasus belum tentu dapat diselesaikan dengan algoritma yang sama, ataupun dengan jenis pembelajaran mesin yang sama. Masing-masing jenis machine learning memiliki karakteristik yang berbeda.

Supervised Learning memiliki karakteristik masalah yang diselesaikan biasanya berupa klasifikasi, dataset yang dimiliki oleh kasus yang berbentuk klasifikasi biasanya selain memiliki atribut untuk setiap instancesnya namun juga sudah memiliki kelas yang jelas, sehingga task selanjutnya dari hipotesis atau model yang ditemukan adalah melakukan klasifikasi terhadap instance yang baru dan belum memiliki label (belum diklasifikasi).

Contoh algoritma supervised learning seperti ID3, C4.5, Artifcial Neural Network, Support Vector Machine dan lain-lain. Dataset yang digunakan biasanya sudah memiliki label untuk setiap data atau informasi yang sudah diketahui, misalkan ketika cuaca cerah, suhu hangat, angin bertiup dengan kecepatan yang sedang, maka si A akan bermain Tenis. Ketika cuaca mendung, suhu dingin, angin bertiup kencang, maka si A tidak akan bermain Tenis.

Unsupervised Learning biasanya memiliki kata kunci clustering atau melakukan pengklusteran terhadap sekelompok data atau sekelompok instances yang tidak memiliki label, sehingga memiliki informasi bahwa terdapat sekumpulan data yang membentuk cluster, namun kita belum tahu apa pengetahuan atau hipotesis yang membuat instances tersebut saling berkumpul (membuat kelompok) menjadi satu cluster atau lebih. Contohnya seperti K-Mean, Graph Algorithm, EM (Expectation Maximization) Algorithm.

Sedang reinforcement learning biasanya berupa permasalah yang membutuhkan aktifitas eksplorasi, sehingga cukup sesusai jika digunakan untuk membangun suatu intelijen pada suatau game (terutama puzzle).

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s