Mari Berkenalan Dengan Machine Learning

Penjelasan urut mengenai Machine Learning dalam Bahasa Indonesia (Ramah untuk Pemula)

Philip Purwoko
Sep 2 · 9 min read

Artikel ini ditulis berdasarkan pengalaman saya saat pertama kali mempelajari Machine Learning. Sebelumnya saya membaca artikel dan menonton video secara online. Saya juga sering menerima penjelasan tingkat tinggi dan langsung diberikan rumus matematika, sehingga saya kurang memahami materi. Akibatnya, proses belajar saya pun menjadi lama.

Pada artikel ini, saya tidak akan memberikan penjelasan secara mendalam. Saya tidak akan langsung memberikan coding Machine Learning dan menjabarkan rumus matematika dalam artikel ini. Dengan tujuan, agar ketika membaca artikel ini, anda memiliki gambaran mengenai cara kerja Machine Learning dari nol, serta untuk menumbuhkan rasa penasaran sehingga anda merasa tertarik dan tidak sabar untuk belajar tentang Machine Learning.

Artikel ini dibagi menjadi empat sesi.

  1. Sesi pertama yaitu overview, berisi tentang gambaran awal mengenai Machine Learning.
  2. Sesi kedua yaitu mengenai jenis-jenis Machine Learning.
  3. Sesi ketiga yaitu langkah langkah dalam membuat program Machine Learning, dan
  4. Sesi keempat yaitu resolusi.

Sesi Pertama : Overview

Belum Pernah Belajar Pemrograman ?

Bagi anda yang belum pernah mempelajari cara membuat program sebelumnya. Secara sederhana, program dibuat dengan cara memberikan urutan perintah atau instruksi kepada komputer.

Namun, komputer tidak dapat mengerti instruksi bahasa kita, maka kita memberikan instruksi kepada komputer dengan kaidah atau aturan tersendiri, sehingga instruksi yang kita tulis berbentuk kode. Aturan ini disebut dengan Syntax.

Dengan menulis rangkaian perintah dan mengikuti syntaxnya, maka serangkaian utuh dari semua instruksti tersebut disebut dengan bahasa pemrograman. Silakan analisa perumpamaan di bawah ini.

Ilustrasi mengenai Perumpamaan Bahasa Pemrograman dalam Komputer
Ilustrasi mengenai Perumpamaan Bahasa Pemrograman dalam Komputer
Perumpamaan Bahasa Pemrograman dalam Komputer

Bahasa pemrograman juga bermacam macam. Contoh bahasa pemrograman yaitu Python, Java, C, C++, Pascal, Javascript, dan masih banyak lagi. Syntax setiap bahasa pemrograman berbeda beda dan bisa juga ada yang mirip.

Apa itu Machine Learning ?

Machine Learning adalah sebuah program komputer yang dapat dilatih

Program dapat dilatih untuk memecahkan masalah tanpa harus menulis sistem logika dari program itu satu per satu.

Artificial Inteligence, Machine Learning dan Deep Learning

Machine Learning merupakan bagian dari Artificial Intelligence atau dalam Bahasa Indonesia yaitu Kecerdasan Buatan. Di dalam Machine Learning, terdapat Deep Learning. Namun, dalam artikel ini kita akan fokus dengan Machine Learning terlebih dahulu.

Image for post
Image for post
Artificial Intelligence, Machine Learning dan Deep Learning

Perbedaan Machine Learning Dengan Program Biasa

Program biasa dibuat dengan cara menuliskan urutan perintah untuk menghasilkan output yang diinginkan dari sebuah input tertentu. Namun, dalam Machine Learning, kita memberikan input sekaligus output kepada program, dan program akan membuat sendiri urutan perintahnya.

Jadi, sebagai ganti menuliskan rangkaian perintah yang kemungkinannya sangat panjang, memerlukan waktu lama dan membutuhkan tenaga besar, kita memberikan data berupa output dan input kepada program, dan program akan membuat sendiri urutan perintahnya. Untuk lebih memahami perbedaannya, silakan analisa perumpamaan berikut.

Ilustrasi Mengenai Perbedaan Machine Learning dengan program biasa
Ilustrasi Mengenai Perbedaan Machine Learning dengan program biasa
Perbedaan Machine Learning dengan program biasa

Bagaimana Machine Learning Bekerja ?

Terdapat kata “Learning” , kalau diterjemahkan ke Bahasa Indonesia, artinya belajar. Machine Learning mempelajari data (input dan output) yang kita berikan dengan cara menemukan pola dalam data tersebut.

Mirip dengan manusia, Kecerdasan Buatan belajar dari data yang diberikan, semakin banyak data maka hasil akan semakin akurat. Semakin banyak data, program memerlukan waktu lebih lama untuk menemukan pola dalam data.

Kapan Anda Tidak Perlu Machine Learning ?

Machine Learning bukan solusi untuk segala permasalahan dalam pemrograman. Jika anda dapat menyelesaikan masalah dengan menulis program secara manual, maka anda tidak memerlukan Machine Learning.

Contoh Penerapan Machine Learning

Machine Learning dibuat dengan tujuan spesifik. Artinya, satu Machine Learning hanya dapat memecahkan masalah tertentu saja. Sehingga dibuatlah banyak Machine Learning untuk memecahkan setiap masalah.

Satu Kecerdasan Buatan tunggal yang dapat mempelajari semua hal (Artificial General Intelligence) masih dalam film Science Fiction (Sci-Fi).

Berikut saya berikan dua contoh sederhana dari penggunaan Machine Learning.

  1. Diagnosa pasien untuk melakukan klasifikasi pasien penyakit jantung. Sebagai contoh, diberikan data tes pasien. Data tersebut adalah tekanan darah, suhu, usia, jenis kelamin, dsb. Kemudian data tersebut dibaca oleh program komputer dengan Machine Learning. Program akan menghitung, dan memberikan output, apakah pasien tersebut terkena penyakit jantung atau tidak.
  2. Memprediksi harga sewa villa. Sebagai contoh, diberikan data seperti luas bangunan, jumlah tempat tidur, jumlah kamar mandi, lokasi, dll. Kemudian program akan menghitung, dan memberikan output berupa harga sewa villa tersebut.

Sesi Kedua : Jenis — Jenis Machine Learning

Jika anda menemukan istilah istilah yang baru anda ketahui dalam artikel ini, tolong jangan hawatir. Anda tidak perlu bingung, karena anda tidak perlu mengingat semuanya sekarang juga. Cukup dibaca santai, karena lama kelamaan anda akan familiar dengan istilah tersebut.

Jenis Jenis Machine Learning

Machine Learning memiliki pembagian sesuai dengan permasalahan yang kita miliki. Supaya tidak mengubah arti atau maksud yang sesungguhnya, maka saya menggunakan istilahnya dalam Bahasa Inggris. Berikut pembagian Machine Learning.

  1. Supervised Learning (Data dengan label) dibagi menjadi dua, yaitu
    1. Classification
    2. Regression
  2. Unsupervised Learning (Data tanpa label) dibagi menjadi dua, yaitu
    1. Clustering
    2. Dimensionality Reduction
  3. Reinforcement Learning (Agent and Evironment)
ilustrasi mengenai Jenis jenis machine learning
ilustrasi mengenai Jenis jenis machine learning
Jenis jenis machine learning

Jenis Jenis Data Dalam Machine Learning

ilustrasi mengenai Dua jenis data dalam machine learning
ilustrasi mengenai Dua jenis data dalam machine learning
Dua jenis data dalam machine learning
  1. Data terstruktur (Structured data). Contoh, tanggal, nomor telepon, alamat rumah, tinggi dan berat badan. Data tersebut dapat disimpan dalam tabel (baris dan kolom)
  2. Data tidak terstruktur (Unstructured data). Contoh, file gambar, suara, video, teks pesan, email, dan komentar. Data tersebut tidak dapat disimpan di dalam tabel

Sesi Ketiga : Langkah Langkah Membuat Program Machine Learning

Ilustrasi mengenai langkah langkah membuat machine learning project
Ilustrasi mengenai langkah langkah membuat machine learning project
Langkah langkah membuat machine learning project
  1. Memahami permasalahan. Jenis Machine Learning apa yang akan saya gunakan menurut data yang saya miliki?
  2. Menganalisis dan memproses data. Data mana yang dapat digunakan? Data mana yang seharusnya dibuang? Pada tahap ini dilakukan pengolahan dan analisis data
  3. Berdasarkan permasalahan dan data yang ada. Pada tahap ini Machine Learning Model dibuat.
  4. Melatih program (Machine Learning Model). Model dilatih dengan memberikan data yang sudah diproses sebelumnya.
  5. Melakukan evaluasi terhadap model. Apa yang salah dengan Model? Kenapa akurasinya rendah?
  6. Meningkatkan model. Berdasarkan evaluasi, bagian model mana yang harus diubah? Pada tahap ini Machine Learning Model diperbarui.
  7. Mengulangi semua proses

Memahami Permasalahan

Pahami terlebih dahulu permasalahan apa yang akan Anda selesaikan. Jika Anda memiliki label dalam data tersebut, artinya permasalahan tersebut Supervised Learning. Jika, Anda ingin melakukan klasifikasi, maka itu adalah permasalahan Classification. Jika Anda ingin melakukan prediksi, maka permasalahan Regression.

Jika data yang anda miliki tidak memiliki label, maka permasalahan tesebut Unsupervised Learning. Jika anda ingin mengelompokan data, maka permasalahan Clustering. Atau jika anda ingin meringkas data, maka permasalahan Dimensionality Reduction.

Setelah berhasil menemukan permasalahan Machine Learning, maka dilanjutkan dengan wujud data anda. Apakah Structured Data atau Unstructured Data.

Menganalisis dan Memproses Data

Setelah memahami permasalahan Machine Learning, maka proses dilanjutkan dengan melakukan analisis data. Data mana yang seharusnya dipakai dan dibuang. Temukan korelasi antar data yang Anda miliki. Untuk membantu melakukan analisa, dapat dilakukan dengan visualisasi data.

Pada tahap ini kita juga memproses data, juga disebut dengan istilah Data Preprocessing. Komputer tidak dapat memahami teks, gambar atau suara. Maka data yang kita miliki harus diubah menjadi angka supaya dapat dibaca oleh komputer.

Setelah itu dilanjutkan dengan melakukan pemisahan data. Data yang kita miliki akan dipisah menjadi dua bagian, yaitu data latihan dan data tes. Jika Anda memiliki data dengan jumlah yang besar, Anda dapat memisah data menjadi tiga bagian, yaitu data latihan, validasi dan tes.

Membuat Machine Learning Model

Jika data Anda sudah siap, maka proses dilanjutkan dengan membuat Machine Learning Model. Machine Learning Model dibuat dengan menerapkan rumus matematika.

Namun, dalam membuat Machine Learning khususnya dengan Bahasa Pemrograman Python, rumus sudah tersedia dan kita tinggal memilih rumus mana yang akan kita pakai untuk setiap permasalahan yang kita miliki.

Tentu saja kita harus memahami cara kerja rumus rumus tersebut agar kita dapat memilih rumus yang tepat untuk setiap permasalahan yang berbeda.

Saya berikan beberapa contoh rumus Machine Learning. Contoh, Support Vector Machine (SVM), Random Forest, Logistic Regression, XGBoost dan masih banyak lagi. Untuk sekarang anda tidak perlu khawatir, karena anda tidak perlu menghafalkan semua itu saat ini juga.

Melatih Model

Setelah Model berhasil dibuat dengan rumus matematika yang telah kita pilih, maka langkah selanjutnya adalah melatih model. Model dilatih selama berkali kali, hingga mendapatkan akurasi maksimal.

Saat pertama kali latihan, pasti Model melakukan banyak kesalahan sehingga akurasi model sangat rendah, namun akan terjadi perhitungan setiap kali latihan, sehingga jika kita memilih rumus matematika yang tepat, akurasi dapat meningkat. Program akan terus mencari pola dalam data diri agar akurasi saat latihan mengalami kenaikan.

Ilustrasi mengenai proses latihan machine learning
Ilustrasi mengenai proses latihan machine learning
Proses Pelatihan Machine Learning

Saat proses pelatihan model. Sering terjadi model terlalu banyak mengingat pola data latihan, akibatnya model memiliki akurasi sangat tinggi saat latihan, namun akurasi rendah pada saat dilakukan tes. Isilah ini disebut dengan overfit, sedangkan istilah untuk model dengan akurasi rendah pada semua data disebut dengan underfit, artinya model tidak mempelajari apapun.

Overfiting dapat terjadi karena jumlah data latihan terlalu sedikit atau karena model terlalu banyak melihat data latihan. Sedangkan, Underfiting bisa terjadi karena rumus matematika yang kita pilih terlalu simpel atau tidak sesuai untuk masalah yang kita miliki.

Setelah proses latihan selesai, sekarang saatnya melakukan uji coba model terhadap data tes yang belum pernah dilihat oleh model, untuk membuktikan apakah model tersebut layak diterjunkan dalam pekerjaan di dunia nyata.

Evaluasi Model

Dilakukanlah evaluasi atau analisa terhadap hasil serta proses latihan model. Hasil latihan model dapat diperiksa dalam matrix yang disebut dengan Error Metric. Berdasarkan Error Metric tersebut, kita dapat menganalisa model dan menemukan letak kesalahan model.

Meningkatkan Model

Setelah kita mengetahui letak kesalahan model, saatnya kita evaluasi kesalahan tersebut. Maka kita harus perbarui model untuk meningkatkan akurasi. Untuk meningkatkan model, dapat dilakukan dengan berbagai cara, seperti menambah data latihan atau dengan cara tuning model. Cara ini disebut dengan istilah Tuning Hyperparameters.

Ulangi Proses

Setelah kita berhasil memperbarui model, kita dapat mengulangi semua proses dari awal untuk meningkatkan model terus menerus. Yaitu dengan cara menambah data, memproses kembali data yang dimiliki, melatih model dengan Tuning Hyperparameter, atau mungkin dengan mencoba rumus matematika yang berbeda, serta melakukan evaluasi kembali terhadap model yang kita miliki.

Sesi Keempat : Resolusi

Prasarat Mempelajari Machine Learning

Untuk mempelajari Machine Learning dengan baik, terdapat berbagai prasarat. Yaitu:

  1. Menguasai bahasa pemrograman dengan Python (rekomendasi). Menguasai Syntax dasar, struktur data, algoritma , serta menggunakan module dasar seperti datetime, os dan random.
  2. Mampu melakukan manipulasi data dengan library pandas dan numpy. Menguasai teknik manipulasi data file tabel (csv, excel, dsb).
  3. Mampu melakukan visualisasi dan analisis data dengan matplotlib dan seaborn. Untuk melakukan analisis data, akan lebih mudah jika kita memvisualisasikan data tersebut.
  4. Mampu mengoperasikan jupyter notebook (optional). Kemampuan ini optional namun disarankan. Dalam proses analisis dan visualisasi data, penggunaan Jupyter Notebook akan sangat membantu. Dengan Jupyter Notebook Anda dapat memisahkan kode menjadi blok blok. Anda dapat menjalankan kode blok satu per satu dan langsung melihat outputnya.

Mempelajari Machine Learning

  1. Langkah pertama anda adalah mempelajari library sklearn atau sci-kit learn. Karena pada library sklearn tersedia banyak sekali peralatan siap pakai untuk membuat program Machine Learning.
  2. Mempelajari Tensorflow atau Pytorch untuk mempelajari Deep Learning (Advanced). Setelah anda berhasil memahami Machine Learning dan berhasil membuat beberapa proyek, maka anda harus terus meningkatkan kemampuan anda dengan mempelajari Deep Learning, dimana anda akan mempelajari tentang Neural Network.

Mempermudah Proses Belajar Machine Learning

  1. Kemampuan Bahasa Inggris (English). Hal ini menjadi salah satu alasan kenapa Saya menulis artikel ini dalam Bahasa Indonesia, yaitu agar mempermudah masyarakat Indonesia dalam mengakses informasi dalam Bahasa Indonesia.
  2. Belajar dengan membuat proyek / project. Supaya anda benar benar memahami Machine Learning, anda jangan hanya menonton video atau copy paste kode dari artikel saja. Anda harus membuat proyek sendiri.
  3. Matematika tingkat SMA akan membantu. Matematika SMA seperti vector, matrix, dan aljabar linear akan sering anda temukan. Anda juga akan menemukan banyak lagi matematika dalam Deep Learning, seperti teori graph dan finite state machine.
  4. Mempelajari teori. Jika anda ingin memecahkan permasalahan Machine Learning atau bahkan Deep Learning, Anda tidak bisa 100% coding, karena Anda harus mengerti cara kerja program tersebut secara teori.

Setelah Selesai Membaca Artikel Ini

Sekarang anda telah memiliki gambaran mengenai Machine Learning, setelah ini anda dapat melanjutkan proses belajar anda. Pertama pastikan anda sudah memenuhi prasarat. Setelah itu pelajari sci-kit learn atau sklearn.

Carilah kelas online di internet yang gratis dan mengambil trial pada kelas berbayar sebanyak banyaknya. Selain dengan kelas online, Anda dapat mempelajari di Youtube dan blog. Kerugian saat mengikuti kelas gratis yaitu, anda tidak mendapatkan sertifikat.

Buatlah project Machine Learning pertamamu. Buatlah beberapa model Classification dan Regression sederhana. Anda dapat mencari data online. Carilah data yang kecil dan sederhana. Saya harap, artikel ini dapat digunakan sebagai jembatan untuk melanjutkan belajar. Untuk artikel coding Machine Learning yang pertama akan dibuat pada lain kesempatan.

Jangan melupakan satu hal penting, nikmatilah proses belajar Anda !

Image for post
Image for post

Easyread

Easy read, easy understanding.

Philip Purwoko

Written by

Tertarik pada Komputer, Sains, Pendidikan dan Teknologi | Mahasiswa di Universitas Sebelas Maret | Indonesia | https://github.com/PhilipPurwoko

Easyread

Easyread

Easy read, easy understanding. A good writing is a writing that can be understood in easy ways

Philip Purwoko

Written by

Tertarik pada Komputer, Sains, Pendidikan dan Teknologi | Mahasiswa di Universitas Sebelas Maret | Indonesia | https://github.com/PhilipPurwoko

Easyread

Easyread

Easy read, easy understanding. A good writing is a writing that can be understood in easy ways

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store