Sejarah Machine Learning dalam Fishbone Diagram

Diposting pada

Pengertian, sejarah machine learning menurut para ahli sudah kami sediakan dalam postingan lain. Definisi machine learning yang disediakan di halaman ini merupakan pengertian teknis yang dapat dengan mudah dipahami.

Bagi anda yang ingin mempelajari machine learning secara sistematis dapat menempuh program master bidang ilmu komputer, fokus keilmuannya artificial intelligence, dan data science. Ada juga berbagai bootcamp data science yang dapat Anda tempuh jika tujuannya adalah untuk pekerjaan profesionalisme, dan itu bisa memakan waktu antara 4 hingga 10 pekan.

Sejarah Machine Learning dan Implementasinya

Tugas utama machine learning adalah mengeksplorasi dan membangun algoritma yang dapat belajar dari data historis dan membuat prediksi pada data masukan baru. Untuk solusi berbasis data, kita perlu mendefinisikan (atau didefinisikan oleh algoritma) fungsi evaluasi yang disebut loss function atau cost function, yang mengukur seberapa baik model belajar.

Tonggak Sejarah Machine Learning

Pada tahun 1959, IBM menerbitkan paper di IBM Journal of Research and Development dengan judul yang tidak jelas dan aneh pada saat itu. Ditulis oleh Arthur Samuel dari IBM, makalah tersebut menginvestasikan penggunaan machine learning dalam permainan catur, pernyataannya “to verify the fact that a computer can be programmed so that it will learn to play better game of checkers that can be played by the person who wrote the program” atau kurang lebih untuk memverifikasi fakta bahwa komputer dapat diprogram bisa belajar memainkan permainan catur yang lebih baik daripada yang dapat dimainkan oleh orang yang menulis programnya[1].

Meskipun ini bukan publikasi pertama yang menjadi tonggak sejarah machine learning yang menggunakan istilah “machine learning”, Arthur Samuel secara luas dianggap sebagai orang pertama yang meletakkan batu pertama dan mendefinisikan machine learning dalam bentuk yang kita kenal sekarang. Paper lain dari Samuel dengan judul “Some Studies in Machine Learning Using the Game of Checkers“, juga merupakan indikasi awal tekad manusia untuk menanamkan sistem pembelajaran kita sendiri ke dalam mesin buatan manusia.

Definisi Machine Learning

Setiap peneliti memiliki definisi sendiri-sendiri tentang machine learning jadi tidak ada ketetapan yang pasti tentang apa itu machine learning, tetapi kami akan menggunakan machine learning untuk merujuk pada pembuatan dan penggunaan model yang dipelajari dari data. Dalam konteks lain, ha ini mungkin disebut predictive modeling atau data mining, tetapi kami akan tetap menggunakan istilah machine learning.

Untuk definisi machine learning lainnya silahkan baca machine learning menurut para ahli.

Biasanya, tujuan kami adalah menggunakan data yang ada untuk mengembangkan model yang dapat kami gunakan untuk memprediksi berbagai hasil untuk data baru, seperti:

  • Apakah pesan email adalah spam atau bukan
  • Apakah transaksi kartu kredit itu dikatakan sah atau tidak (fraud)
  • Iklan mana yang paling mungkin diklik oleh pembeli
  • Tim sepak bola mana yang akan memenangkan pertandingan Super Bowl

4 Jenis Machine Learning (General)

Machine learning melibatkan kode program yang secara otomatis menyesuaikan kinerjanya sesuai dengan keterpaparannya terhadap informasi dalam data. Pembelajaran ini dicapai melalui model dengan parameter yang secara otomatis disesuaikan dengan kriteria kinerja yang berbeda.

Machine learning dapat dianggap sebagai subbidang kecerdasan buatan (artificial intelligence). Berdasarkan pada sifat learning data, machine learning secara umum dapat diklasifikasikan menjadi empat kategori sebagai berikut[2]:

Ada juga peneliti yang membagi klasifikasi machine learning menjadi lebih dari empat, silahkan lihat jenis machine learning lengkap.

Supervised Learning

Pada Supervised Learning: (1) komputer dituntun melakukan sesuatu; (2) dataset berpasangan ada variabel input dan output D = {(x0,y0), (x1,y1), … , (xn,yn)}; dan (3) digunakan menyelesaikan masalah yang berkaitan dengan Classification, dan Regression. Algoritma yang termasuk supervised learning:

  • Support Vector Machine
  • Linear Regression
  • Logistic Regression
  • Naïve Bayes
  • Linear Discriminant Analysis (LDA)
  • Decision Tree
  • K-nearest neighbor
  • Neural Networks (multilayer perceptron)
  • Similiarity Learning, dll

Unsupervised Learning

Unsupervised Learning: (1) komputer dibiarkan belajar sendiri; (2) dataset tidak berpasangan hanya variabel input D = {x0, x1, … , xn}; dan (3) digunakan untuk menyelesaikan persoalan Association, dan Clustering. Algoritma yang termasuk unsupervised learning:

  • K-means
  • Hierarchical Clustering
  • DBSCAN
  • Fuzzy C-means
  • Local Outlier Factor
  • Deep Belief Nets
  • Generative Adversarial Networks
  • Expectation Maximization (EM), dll

Semi Supervised Learning

Semi supervised learning merupakan jenis algoritma yang dilatih berdasarkan kombinasi data berlabel dan tidak berlabel. Biasanya, kombinasi ini akan berisi data berlabel dalam jumlah yang sangat kecil dan data tak berlabel dalam jumlah yang sangat besar.

Prosedur dasar yang terlibat adalah yang pertama, programmer akan mengelompokkan data serupa menggunakan algoritma pembelajaran tanpa pengawasan dan kemudian menggunakan data berlabel yang ada untuk memberi label sisa data yang tidak berlabel. Kasus penggunaan tipikal algoritma semacam ini memiliki kesamaan di antara mereka – Akuisisi data tanpa label relatif murah sementara pelabelan data tersebut sangat mahal.

Secara umum, algoritma semi-supervised learning beroperasi pada kerangka kerja ini:

  • Algoritma semi-supervised learning menggunakan sekumpulan data sampel berlabel terbatas untuk melatih dirinya sendiri, menghasilkan model ‘dilatih sebagian’.
  • Model yang dilatih sebagian memberi label pada data yang tidak berlabel. Karena sampel kumpulan data berlabel memiliki banyak keterbatasan (misalnya, bias pemilihan dalam data dunia nyata), hasil pelabelan dianggap sebagai data ‘berlabel semu’.
  • Kumpulan data berlabel dan pseudo-label digabungkan, menciptakan algoritma unik yang menggabungkan aspek deskriptif dan prediktif dari supervised dan unsupervised learning.
  • Semi-supervised learning menggunakan proses klasifikasi untuk mengidentifikasi aset data dan proses clustering untuk mengelompokkannya menjadi beberapa bagian.

Semi-Supervised GAN, disingkat SGAN, adalah variasi dari arsitektur Generative Adversarial Network untuk mengatasi masalah pembelajaran semi-supervised learning ini.

Reinforcement Learning

Reinforcement Learning: (1) komputer melakukan pencarian sendiri –self discovery dengan cara berinteraksi dengan lingkungan; (2) dataset didapatkan dari pengalaman / experience, input didapatkan dari proses training; dan (3) digunakan untuk menyelesaikan persoalan Classification, dan Control.

Algoritma yang termasuk reinforcement learning: Q-Learning, State-Action-Reward-State-Action (SARSA), Deep Q Network (DQN), Deep Deterministic Policy Gradient (DDPG), Actor Critic, Monte Carlo Tree Search (MCTS).

Machine Learning dari 1900 – 2006

Kita akan mengulas sedikit tentang sejarah machine learning mulai dari tahun 1990 an. Sebelum tahun 1900 tidak ditemukan adanya bukti penemuan di bidang machine learning (wajar karena komputer elektrik dikenal sekitar tahun 1937). Untuk tahun berikutnya adalah sebagai berikut:

Tahun 1913: Andrey Markov menemukan teknik menganalisa puisi yang dinamainya dengan Markov Chains, dan ternyata di kemudian hari digunakan untuk aplikasi pengambilan keputusan (decision making)

Tahun 1936: Alan Turing mengenalkan konsep universal machine (Turing Machine) yang dapat melakukan berbagai komputasi

Tahun 1937-1941: JV Atnasoff membuat komputer elektrik yang dinamainya Asatanof Berry Computer (ABC) yang dapat menyelesaikan 29 persamaan secara bersamaan. Inilah komputer yang diakui sudah dapat menyimpan informasi pada memori.

Tahun 1943-1944: Prof. John Mauchly dan Presper Eckert membuat komputer ENIAC yang diakui sebagai cikal bakal komputer digital.

Tahun 1950: Alan Turing memublikasikan paper dengan judul “Computing Machineri and Intelligence” yang isinya menceritakan tentang komputer yang dapat berpikir. Dalam paper ini ia mempropose pertanyaan yang dinamainya Turing Test. Turing test sendiri idenya adalah agar komputer dapat lulus tes maka dia harus meyakinkan manusia bahwa komputer tersebut adalah manusia, komputer harus dapat melakukan percakapan dengan manusia secara riil.

Tahun 1952-1962: Arthur Samuel membuat program komputer yang dapat bermain catur. Uniknya program buatannya ini dapat belajar sendiri setiap kali permainan catur dilakukan.

Tahun 1956: John Mc Carthy & Martin Misnky memperkenalkan istilah artificial intelligence. Sehingga tahun 1956 merupakan tahun kebangkitan era kecerdasan buatan

Tahun 1957: Frank Rosenblatt merancang neural network untuk diterapkan ke dalam komputer. Desainnya disebut Perceptron, yang mencoba menirukan cara kerja otak manusia.

Tahun 1960: Henry Kelley dengan papernya “Gradient Theory of Optimal Flight Paths” yang berisi tentang teori kontrol banyak diadopsi pada artificial intelligence dan artificial neural network.

Tahun 1963: Donald Michie membuat mesin yang dapat digunakan untuk mengimplementasikan reinforcement learning. Mesin ini dapat memainkan permainan Tic Tac Toe

Tahun 1967: Algoritma “nearest neighbor” ditemukan yang dapat membuat komputer mengenali pola dasar (basic pattern recognition)

Tahun 1970: Algoritma backpropagation mulai ditemukan oleh Seppo Linnainmaa yang mempublikasikan metode umum bagaimana melakukan automatic differentiation (AD) untuk permasalahan discrete network.

Tahun 1979: Seorang mahasiswa Standford University menemukan cart yang dapat membimbing dan menghindari rintangan dalam sebuah ruangan. Dan hasil karyanya dikenal dengan nama Standford Cart.

Tahun 1980: Fukushima mengenalkan Neo Cognition, adalah salah satu jenis artificial neural network yang kemudian menginspirasi muculnya algoritma Artificial Neural Network (ANN).

Tahun 1995: Tin Kam Ho menerbitkan paper yang isinya menjelaskan random decision forest. Dengan paper ini ia mengembangkan algoritma yang dinamakan algoritma Random Forest.

Tahun 1995: Corinna Cortes dan Vladimir Vapnik mengenalkan Support Vector Machine (SVM) yang merupakan salah satu algoritma machine learning yang handal untuk pengenalan tulisan tangan dan berbagai persoalan classification lainnya

Tahun 1997: Untuk pertama kalinya komputer IBM yang dinamainya IBM Deep Blue mengalahkan pemain catur dunia yaitu Kasparov

Tahun 2006: Geoffrey Hinton memperkenalkan istilah “Deep Learning” untuk menjelaskan algoritma baru yang dapat membuat komputer “melihat”. Dengan deep learning ini komputer bisa membedakan antara objek dan teks pada gambar-gambar dan video.

Dengan melihat sejarah machine learning di atas, setidaknya kita tahu beberapa istilah dalam machine learning yaitu algoritma CNN, random forest, dan SVM juga tahu bagaimana terlahirnya deep learning.

Daftar Pustaka:

  1. Samuel, Arthur, 1959, Some Studies in Machine Learning Using the Game of Checkers, Vol. 3, Issue. 3, IBM Journal of Research and Development.
  2. Liu, Yuxi, 2017, Python Machine Learning By ExampleEasy-to-follow examples that get you up and running with machine learning, Packt, Birmingham.