Introduction to ML
Machine Learning merupakan salah satu subset dari Artificial Intelligence (AI) yang berfokus pada pengembangan sistem yang mampu belajar dari data dan meningkatkan kinerjanya secara otomatis tanpa harus diprogram secara eksplisit untuk setiap kemungkinan.
Jika AI mencakup seluruh konsep dan pendekatan untuk membuat mesin bertindak cerdas seperti manusia, maka machine learning secara khusus menekankan penggunaan data, algoritma, dan pengalaman sebelumnya sebagai dasar pengambilan keputusan.
Dengan kata lain, Machine Learning adalah bagian dari AI yang memungkinkan sistem menjadi “lebih pintar” seiring waktu melalui proses pembelajaran dari data.

#Link to this headingML pada Knowledge-based System
Machine learning berperan penting dalam knowledge-based system sebagai teknik automatic knowledge acquisition. Alih-alih sepenuhnya bergantung pada pengetahuan yang dimasukkan secara manual oleh seorang ahli, sistem dapat mempelajari pengetahuan baru secara otomatis dari data historis.
Knowledge yang dihasilkan oleh machine learning merupakan hasil dari proses generalisasi melalui inductive reasoning, yang diekspresikan dalam bentuk pola-pola data.
Pola ini kemudian disimpan sebagai bagian dari knowledge base dan digunakan oleh inference engine untuk menghasilkan keputusan atau rekomendasi.

Dengan pendekatan ini, knowledge-based system dapat meningkatkan akurasi dan konsistensi keputusan seiring bertambahnya data yang dipelajari.
#Link to this headingDefinisi
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E. (Tom Mitchell, 1998)
An automated process that extracts patterns from data. (Kelleher et al., 2015)
#Link to this headingTipe dalam learning
Secara singkat, terdapat 3 tipe berbeda dalam Machine Learning:
Supervised learning - proses memodelkan hubungan antara data inputs dan labels. Tugas: classification, regression.
Unsupervised learning - proses mengeksplorasi struktur data untuk mengekstraksi informasi yang bermakna tanpa panduan known outcome variable atau reward function. Tugas: clustering, market basket analysis.
Reinforcement learning - proses dari sebuah sistem (agent) yang meningkatkan kinerjanya berdasarkan interaksi dengan environment.

#Link to this headingLebih terkait Supervised Learning
Supervised Learning adalah paradigma pembelajaran mesin di mana agen belajar dari sekumpulan data yang sudah diberi label dengan benar. Setiap data poin dalam set pelatihan terdiri dari pasangan input-output.
Input: Disebut juga fitur, atribut, atau variabel independen (disimbolkan dengan X).
Output: Disebut juga label, target, atau variabel dependen (disimbolkan dengan y atau f (x)).

#Link to this headingTerminologi
Dalam machine learning, terdapat beberapa terminologi dasar yang penting untuk memahami bagaimana sebuah model dibangun dan bekerja.
Feature merepresentasikan atribut atau karakteristik dari data input, misalnya panjang dan lebar sepal atau petal pada Iris dataset.
Target atau class label adalah nilai keluaran yang ingin diprediksi oleh model, seperti jenis bunga iris (Setosa, Versicolor, atau Virginica).
Pattern mengacu pada pola atau hubungan yang dapat dipelajari model dari kumpulan feature dan label tersebut.

Proses training merupakan tahap di mana model belajar dari data dengan menyesuaikan parameternya agar prediksi yang dihasilkan semakin akurat.
Setiap baris data yang digunakan dalam proses ini disebut training example, yang terdiri dari sekumpulan feature beserta labelnya.
Untuk mengukur seberapa baik kinerja model selama proses pembelajaran, digunakan loss function, yaitu fungsi yang menghitung tingkat kesalahan antara hasil prediksi model dan nilai target yang sebenarnya.
#Link to this headingDataset to Pattern (Learning or Training)
Pada fase learning atau training, model machine learning belajar dari sebuah dataset yang terdiri atas kumpulan fitur dan label. Proses ini dikenal sebagai inductive learning, yaitu upaya sistem untuk mengekstraksi pola umum dari data yang tersedia.
Berbagai algoritma seperti Naive Bayes, Decision Tree, Logistic Regression, dan SVM membangun pola dengan cara yang berbeda sesuai dengan pendekatan masing-masing.
Hasil dari tahap ini adalah sebuah model yang merepresentasikan hubungan antara data input dan label, bukan hasil prediksi secara langsung.

#Link to this headingPattern to Decision (Inference)
Tahap inference merupakan proses menggunakan model yang telah dilatih untuk menghasilkan prediction pada data baru.
Input yang belum pernah ditemui sebelumnya dimasukkan ke dalam model, kemudian diproses berdasarkan pola yang telah dipelajari.
Baik melalui perhitungan probabilitas, struktur pohon keputusan, maupun fungsi matematis, model akan menghasilkan sebuah prediksi sebagai dasar pengambilan keputusan.

#Link to this headingRegresi vs Klasifikasi
Dalam supervised learning, regresi dan klasifikasi merupakan dua pendekatan utama yang digunakan untuk memodelkan hubungan antara data input dan label. Keduanya memiliki tujuan yang berbeda, tergantung pada jenis output yang ingin diprediksi oleh model.

#Link to this headingRegresi
Regresi digunakan ketika label yang diprediksi berupa nilai numerik atau kontinu. Tujuan regresi adalah memperkirakan sebuah nilai, misalnya memprediksi suhu udara, harga rumah, atau jumlah penjualan di masa depan.

#Link to this headingKlasifikasi
Klasifikasi digunakan ketika label yang diprediksi berasal dari himpunan nilai yang terbatas (kategori). Tujuan klasifikasi adalah menentukan kelas dari suatu data, misalnya mengklasifikasikan kondisi cuaca menjadi panas atau dingin, atau mengelompokkan email sebagai spam atau non-spam.

#Link to this headingImage Classification
Klasifikasi gambar bertujuan untuk mengenali objek dalam sebuah citra digital. Prosesnya dimulai dari Real World Input berupa gambar (seperti foto sepeda), yang kemudian dikonversi menjadi Model Input dalam bentuk angka-angka yang merepresentasikan nilai piksel.

Proses Utama: Menggunakan image encoder berupa Convolutional Layer pada struktur Convolutional Neural Network (CNN) untuk mengekstraksi fitur visual.
Output: Model akan menghasilkan probabilitas (skor) untuk berbagai label yang tersedia. Label dengan nilai tertinggi (misalnya: "Bicycle") akan dipilih sebagai Real World Output.
#Link to this headingText Classification
Klasifikasi teks digunakan untuk menentukan kategori atau sentimen dari sebuah data teks. Dalam contoh ini, kalimat ulasan pelanggan diubah menjadi urutan angka (Sequence of Tokens) agar dapat dipahami oleh mesin.

Proses Utama: Teks dipelajari sebagai urutan data menggunakan arsitektur Recurrent Neural Network (RNN) seperti LSTM, GRU, ReGU, atau menggunakan teknologi yang lebih modern seperti Transformer Network.
Output: Model memproses hubungan antar kata untuk menentukan hasil akhir, seperti melakukan sentimen analisis untuk mengategorikan ulasan tersebut ke dalam label "Positive" atau "Negative".
#Link to this headingDesain Sistem ML
Membangun sistem ML yang handal memerlukan alur kerja sistematis untuk mengubah data mentah menjadi model prediktif yang siap produksi.

Alur kerja pemodelan prediktif terdiri dari tahapan berikut:
Pengumpulan & Prapemrosesan Awal: Mengumpulkan data mentah, menangani data hilang, serta melakukan seleksi fitur awal.
Pembagian Dataset: Memisahkan data menjadi set pelatihan (training) dan pengujian (test).
Optimasi Data Latih: Melakukan penskalaan fitur dan reduksi dimensi sebelum masuk ke algoritma pembelajaran mesin.
Pelatihan & Validasi: Memilih hyperparameter dan melatih model secara iteratif melalui validasi silang (cross-validation).
Evaluasi Akhir: Menguji model prediktif final menggunakan data uji sebelum diterapkan pada dataset baru.