Matematika untuk AI: Dasar Aljabar Linear, Statistik, dan Probabilitas
Artificial Intelligence (AI) sering terlihat seperti teknologi yang mampu memahami bahasa, mengenali gambar, memprediksi hasil, atau menghasilkan kode. Namun, di balik kemampuan tersebut terdapat fondasi matematika yang membantu komputer merepresentasikan data, menemukan pola, mengukur ketidakpastian, dan memperbaiki prediksi.
Memahami matematika AI tidak berarti kamu harus menguasai seluruh cabang matematika sebelum mulai membuat program. Kamu bisa mempelajarinya secara bertahap sesuai kebutuhan. Tiga fondasi yang sangat berguna untuk memulai adalah aljabar linear, statistik, dan probabilitas, kemudian dilengkapi dengan kalkulus dan optimasi ketika mulai mempelajari model yang lebih kompleks.
Artikel ini membahas konsep-konsep tersebut melalui contoh angka, perhitungan sederhana, dan implementasi Python agar kamu dapat memahami hubungan antara rumus matematika dan cara kerja machine learning.
Daftar Isi
- Mengapa matematika diperlukan dalam AI?
- Aljabar linear: vektor, matriks, dan operasi data
- Statistik untuk AI dan machine learning
- Probabilitas dan ketidakpastian dalam AI
- Kalkulus, gradien, dan optimasi model
- Matematika untuk mengukur kinerja model
- Praktik matematika AI menggunakan Python
- Urutan belajar matematika untuk AI
- Kesalahan umum saat mempelajari matematika AI
- Pertanyaan yang sering diajukan
1. Mengapa Matematika Diperlukan dalam Artificial Intelligence?
Komputer pada dasarnya memproses representasi data melalui operasi komputasi. Agar sistem dapat melakukan prediksi atau mempelajari pola, data perlu diubah menjadi bentuk yang dapat diproses oleh algoritma. Matematika menyediakan bahasa untuk merepresentasikan data, merumuskan hubungan antarkomponen, dan mengevaluasi hasil perhitungan.
Misalnya, sebuah aplikasi ingin memperkirakan harga rumah berdasarkan luas bangunan, jumlah kamar, dan usia bangunan. Aplikasi tersebut membutuhkan data historis, metode untuk mempelajari hubungan antara fitur dan harga, serta ukuran untuk mengevaluasi seberapa dekat prediksinya dengan harga sebenarnya.
Secara sederhana, prosesnya dapat digambarkan sebagai berikut.
- Representasi data: mengubah informasi rumah menjadi angka yang dapat diproses.
- Perhitungan matematis: mengolah fitur dan parameter menggunakan operasi matematika.
- Pelatihan model: menyesuaikan parameter berdasarkan data dan fungsi tujuan.
- Prediksi: menggunakan parameter yang telah dipelajari untuk memperkirakan harga rumah lain.
- Evaluasi: mengukur kesalahan prediksi pada data yang tidak digunakan untuk melatih model.
Dalam proses tersebut, aljabar linear membantu merepresentasikan dan mengolah data, statistik membantu memahami karakteristik dataset, probabilitas membantu memodelkan ketidakpastian, sedangkan kalkulus dan optimasi membantu memperbaiki parameter model.
Hubungan cabang matematika dengan AI
| Cabang matematika | Fungsi utama | Contoh penerapan |
|---|---|---|
| Aljabar linear | Merepresentasikan dan mengolah data numerik. | Vektor fitur, matriks dataset, jaringan saraf. |
| Statistik | Merangkum data dan menilai variasi. | Rata-rata, distribusi, evaluasi eksperimen. |
| Probabilitas | Memodelkan kejadian dan ketidakpastian. | Klasifikasi probabilistik, prediksi risiko. |
| Kalkulus | Memahami perubahan fungsi. | Turunan dan gradien fungsi loss. |
| Optimasi | Mencari parameter yang memperbaiki fungsi tujuan. | Gradient descent saat pelatihan model. |
Setiap sistem AI tidak selalu menggunakan semua cabang matematika dengan tingkat yang sama. Model berbasis aturan sederhana, regresi linear, sistem rekomendasi, dan model bahasa berukuran besar memiliki kebutuhan matematis yang berbeda. Karena itu, pelajari konsep sesuai jenis sistem yang ingin dibangun.
2. Aljabar Linear: Fondasi Representasi Data dalam AI
Aljabar linear mempelajari objek seperti vektor dan matriks serta operasi yang dapat dilakukan terhadapnya. Dalam machine learning, struktur tersebut sangat berguna karena dataset sering kali berisi banyak fitur dan ribuan hingga jutaan contoh.
2.1. Skalar: satu nilai numerik
Skalar adalah satu nilai tunggal. Contohnya, suhu ruangan sebesar 28 derajat Celsius, jumlah kamar rumah sebanyak 3, atau harga barang sebesar Rp150.000.
Dalam model machine learning, skalar juga dapat digunakan untuk menyimpan parameter seperti bias, nilai loss, atau learning rate. Meskipun sederhana, nilai tunggal ini menjadi bagian dari perhitungan yang lebih besar.
2.2. Vektor: kumpulan nilai yang terurut
Vektor merupakan kumpulan nilai yang memiliki urutan tertentu. Misalnya, sebuah rumah direpresentasikan menggunakan tiga fitur berikut:
rumah = [120, 3, 5]
Dalam contoh ini, angka 120 mewakili luas bangunan dalam meter persegi, angka 3 mewakili jumlah kamar, dan angka 5 mewakili usia bangunan dalam tahun. Urutan fitur harus konsisten agar model tidak salah menafsirkan makna setiap angka.
Vektor tersebut dapat ditulis secara matematis sebagai:
\[x = \begin{bmatrix}120\\3\\5\end{bmatrix}\]
Vektor membantu mengemas beberapa karakteristik sebuah objek ke dalam satu struktur. Gambar digital, misalnya, dapat direpresentasikan sebagai susunan nilai piksel. Teks juga dapat diubah menjadi representasi numerik melalui metode tertentu sehingga dapat diproses oleh model.
2.3. Matriks: kumpulan data dalam bentuk baris dan kolom
Jika vektor menggambarkan satu contoh data, matriks dapat digunakan untuk menyimpan banyak contoh sekaligus. Bayangkan sebuah dataset rumah dengan tiga fitur utama.
| Rumah | Luas (m²) | Kamar | Usia (tahun) |
|---|---|---|---|
| A | 80 | 2 | 10 |
| B | 120 | 3 | 5 |
| C | 150 | 4 | 2 |
Matriks fitur untuk dataset tersebut dapat ditulis sebagai:
\[X = \begin{bmatrix}80 & 2 & 10\\120 & 3 & 5\\150 & 4 & 2\end{bmatrix}\]
Matriks tersebut memiliki tiga baris dan tiga kolom. Setiap baris mewakili satu rumah, sedangkan setiap kolom mewakili satu fitur. Dalam banyak implementasi machine learning, data pelatihan disimpan menggunakan susunan dengan bentuk seperti ini.
Perlu diperhatikan bahwa harga rumah belum termasuk dalam matriks fitur di atas. Jika tujuan model adalah memprediksi harga, nilai harga biasanya disimpan terpisah sebagai target atau label, yang sering ditulis sebagai y.
2.4. Penjumlahan dan perkalian skalar
Operasi sederhana membantu menjelaskan bagaimana data numerik dimanipulasi. Misalnya, terdapat dua vektor:
\[a = [2, 4, 6], \quad b = [1, 3, 5]\]
Penjumlahan kedua vektor dilakukan dengan menjumlahkan elemen yang posisinya sama.
\[a+b = [2+1, 4+3, 6+5] = [3,7,11]\]
Jika vektor dikalikan dengan skalar 2, setiap elemennya dikalikan 2.
\[2a = [4,8,12]\]
Operasi seperti ini digunakan dalam berbagai perhitungan numerik, termasuk manipulasi fitur dan perhitungan parameter model. Penjumlahan vektor mensyaratkan dimensi yang sesuai, sedangkan perkalian skalar dapat dilakukan terhadap setiap elemen vektor.
2.5. Perkalian titik atau dot product
Dot product adalah operasi penting yang mengalikan setiap pasangan elemen dari dua vektor lalu menjumlahkan hasilnya. Operasi ini menjadi salah satu fondasi model linear dan banyak perhitungan jaringan saraf.
Misalkan terdapat vektor fitur dan bobot:
\[x=[2,3,4], \quad w=[0.5,2,1]\]
Dot product dihitung sebagai berikut:
\[x \cdot w = (2 \times 0.5)+(3 \times 2)+(4 \times 1)\]
\[x \cdot w = 1+6+4=11\]
Hasilnya adalah 11. Dalam model linear, hasil tersebut dapat menjadi bagian dari perhitungan prediksi. Model biasanya juga memiliki bias, sehingga bentuk sederhananya menjadi:
\[\hat{y}=w \cdot x+b\]
Simbol \(\hat{y}\) menunjukkan prediksi, \(w\) adalah bobot, \(x\) adalah fitur, dan \(b\) adalah bias. Bobot menentukan kontribusi setiap fitur terhadap prediksi, sedangkan bias menggeser nilai keluaran.
2.6. Perkalian matriks
Ketika model memproses banyak contoh data sekaligus, perhitungan vektor dapat diperluas menggunakan matriks. Misalnya, matriks fitur \(X\) memiliki tiga baris data, sedangkan vektor bobot \(w\) memiliki tiga elemen. Perkalian \(Xw\) menghasilkan satu prediksi untuk setiap baris data.
Jika matriks memiliki ukuran \(m \times n\), sedangkan matriks kedua berukuran \(n \times p\), perkalian keduanya menghasilkan matriks berukuran \(m \times p\). Jumlah kolom matriks pertama harus sama dengan jumlah baris matriks kedua.
Memahami aturan dimensi sangat penting ketika bekerja dengan pustaka seperti NumPy, scikit-learn, atau framework deep learning. Banyak kesalahan implementasi terjadi karena bentuk array tidak sesuai dengan operasi yang dilakukan.
2.7. Mengapa skala fitur perlu diperhatikan?
Perhatikan dua fitur rumah: luas bangunan yang dapat bernilai ratusan dan jumlah kamar yang biasanya hanya bernilai satu digit. Perbedaan skala ini dapat memengaruhi proses pelatihan algoritma tertentu, terutama algoritma yang sensitif terhadap jarak atau besar gradien.
Salah satu teknik yang sering digunakan adalah standardisasi. Untuk sebuah fitur dengan rata-rata \(\mu\) dan standar deviasi \(\sigma\), nilai yang distandardisasi dihitung dengan rumus:
\[z=\frac{x-\mu}{\sigma}\]
Hasilnya menunjukkan berapa standar deviasi suatu nilai berada dari rata-rata. Standardisasi dapat membantu fitur berada pada skala yang lebih sebanding, tetapi tidak selalu diperlukan untuk semua model. Pohon keputusan, misalnya, umumnya tidak memerlukan standardisasi fitur seperti yang sering dibutuhkan oleh model berbasis jarak atau optimasi gradien.
3. Statistik untuk AI dan Machine Learning
Statistik membantu kita memahami isi dataset sebelum melatih model. Tanpa analisis statistik, data yang tidak seimbang, pencilan, nilai yang hilang, atau perubahan distribusi dapat luput dari perhatian dan memengaruhi kualitas hasil.
3.1. Mean, median, dan modus
Ketiga ukuran ini digunakan untuk menggambarkan kecenderungan pusat data, tetapi masing-masing memiliki karakteristik berbeda.
| Ukuran | Pengertian | Kegunaan |
|---|---|---|
| Mean | Jumlah seluruh nilai dibagi jumlah data. | Merangkum rata-rata numerik. |
| Median | Nilai tengah setelah data diurutkan. | Menggambarkan pusat data yang memiliki pencilan. |
| Modus | Nilai atau kategori yang paling sering muncul. | Menemukan nilai atau kategori yang paling umum. |
Misalkan terdapat data pengunjung harian sebuah situs: 10, 12, 12, 14, dan 52 orang.
Mean dihitung sebagai:
\[\bar{x}=\frac{10+12+12+14+52}{5}=20\]
Median adalah 12 karena nilai tersebut berada di posisi tengah setelah data diurutkan. Modusnya juga 12 karena angka tersebut muncul paling sering.
Perbedaan mean sebesar 20 dan median sebesar 12 muncul karena angka 52 relatif jauh dari nilai lainnya. Jika kita hanya melihat mean, kita mungkin mendapatkan gambaran yang kurang mewakili jumlah pengunjung pada hari-hari biasa.
Dalam analisis data AI, mean dan median dapat digunakan untuk memeriksa distribusi fitur, menentukan strategi imputasi nilai yang hilang, atau memahami karakteristik target. Pemilihan ukuran harus mempertimbangkan bentuk data dan tujuan analisis.
3.2. Varians dan standar deviasi
Rata-rata saja tidak cukup untuk menggambarkan data. Dua kelompok bisa memiliki mean yang sama tetapi tingkat penyebaran yang berbeda. Varians dan standar deviasi membantu mengukur seberapa jauh nilai-nilai menyebar dari rata-ratanya.
Untuk populasi berukuran \(N\), varians dihitung dengan:
\[\sigma^2=\frac{1}{N}\sum_{i=1}^{N}(x_i-\mu)^2\]
Standar deviasi merupakan akar kuadrat varians:
\[\sigma=\sqrt{\sigma^2}\]
Misalkan data A adalah 4, 5, 6, sedangkan data B adalah 1, 5, 9. Keduanya memiliki mean 5, tetapi data B lebih menyebar.
Varians populasi data A adalah:
\[\sigma_A^2=\frac{(4-5)^2+(5-5)^2+(6-5)^2}{3}=\frac{2}{3}\]
Varians populasi data B adalah:
\[\sigma_B^2=\frac{(1-5)^2+(5-5)^2+(9-5)^2}{3}=\frac{32}{3}\]
Dengan demikian, data B memiliki penyebaran yang jauh lebih besar. Dalam machine learning, informasi tentang variasi dapat membantu memahami stabilitas fitur, mendeteksi anomali, dan memilih transformasi data yang sesuai.
Rumus di atas menggunakan varians populasi. Jika data hanya merupakan sampel untuk memperkirakan varians populasi, rumus yang lazim digunakan membagi jumlah kuadrat selisih dengan \(n-1\), bukan \(n\).
3.3. Distribusi data
Distribusi menggambarkan bagaimana nilai atau kategori tersebar dalam sebuah dataset. Distribusi dapat menunjukkan apakah sebagian besar data berkumpul pada rentang tertentu, apakah terdapat ekor panjang, atau apakah data memiliki beberapa kelompok nilai.
Sebagai contoh, distribusi harga produk mungkin memiliki banyak barang murah dan hanya sedikit barang yang sangat mahal. Dalam situasi seperti ini, distribusi dapat menceng ke kanan. Mean dapat tertarik ke arah nilai ekstrem sehingga median sering lebih representatif untuk menggambarkan nilai tengah.
Memahami distribusi berguna saat memilih metode transformasi, menentukan ukuran ringkasan, memahami asumsi model, dan mendeteksi pergeseran data. Tidak semua algoritma mensyaratkan fitur berdistribusi normal, sehingga distribusi normal tidak boleh dianggap sebagai syarat universal untuk AI.
3.4. Korelasi tidak sama dengan sebab-akibat
Korelasi menggambarkan hubungan statistik antara dua variabel. Korelasi positif menunjukkan kecenderungan dua variabel meningkat bersama, sedangkan korelasi negatif menunjukkan kecenderungan satu variabel meningkat ketika variabel lainnya menurun.
Koefisien korelasi Pearson untuk dua variabel numerik dapat ditulis sebagai:
\[r=\frac{\operatorname{Cov}(X,Y)}{\sigma_X\sigma_Y}\]
Nilainya berada pada rentang -1 sampai 1 ketika kedua variabel memiliki varians yang tidak nol. Nilai mendekati 1 menunjukkan hubungan linear positif yang kuat, sedangkan nilai mendekati -1 menunjukkan hubungan linear negatif yang kuat.
Misalnya, sebuah dataset menunjukkan bahwa rumah dengan luas bangunan lebih besar cenderung memiliki harga lebih tinggi. Hubungan tersebut dapat membantu model memprediksi harga, tetapi tidak berarti luas bangunan adalah satu-satunya faktor yang menentukan harga. Lokasi, kondisi bangunan, dan faktor pasar juga dapat berperan.
3.5. Sampel, populasi, dan bias data
Populasi adalah keseluruhan kelompok yang ingin dipelajari, sedangkan sampel adalah sebagian anggota populasi yang diamati. Dalam proyek AI, dataset pelatihan sering menjadi sampel dari situasi nyata yang akan dihadapi model.
Jika sampel tidak mewakili kondisi penggunaan sebenarnya, model dapat belajar pola yang tidak sesuai. Misalnya, sistem pengenalan gambar yang hanya dilatih menggunakan foto dengan pencahayaan terang mungkin berkinerja lebih buruk ketika digunakan pada gambar yang gelap.
Karena itu, kualitas dataset bukan hanya soal jumlah baris. Representativitas, cara pengumpulan, konsistensi label, dan cakupan variasi kondisi juga menentukan seberapa berguna data untuk melatih model.
3.6. Membagi data pelatihan dan pengujian
Untuk mengukur kemampuan generalisasi, data biasanya dibagi menjadi beberapa bagian. Data pelatihan digunakan untuk mempelajari parameter model, data validasi membantu memilih konfigurasi atau melakukan penyetelan, sedangkan data pengujian digunakan untuk evaluasi akhir yang tidak terlibat dalam pemilihan model.
Pembagian yang tepat bergantung pada masalah. Untuk data berurutan menurut waktu, pembagian acak dapat menyebabkan informasi masa depan masuk ke data pelatihan. Pada kasus seperti ini, pembagian berdasarkan waktu sering lebih sesuai.
Selain itu, proses seperti standardisasi dan imputasi harus dipelajari dari data pelatihan saja, lalu diterapkan pada data validasi dan pengujian. Jika statistik seluruh dataset digunakan sebelum pembagian, informasi dari data pengujian dapat bocor ke proses pelatihan. Masalah ini dikenal sebagai data leakage.
4. Probabilitas: Memahami Ketidakpastian dalam AI
Model AI tidak selalu memberikan jawaban yang pasti. Dalam banyak aplikasi, sistem perlu memperkirakan seberapa mungkin suatu kejadian terjadi berdasarkan data dan asumsi model. Probabilitas menyediakan kerangka matematika untuk membicarakan ketidakpastian tersebut.
4.1. Konsep dasar probabilitas
Untuk ruang sampel berhingga dengan hasil yang sama-sama mungkin, probabilitas sebuah kejadian A dapat dihitung menggunakan:
\[P(A)=\frac{\text{jumlah hasil yang mendukung A}}{\text{jumlah seluruh hasil yang mungkin}}\]
Misalnya, sebuah dadu enam sisi yang adil dilempar sekali. Peluang mendapatkan angka 4 adalah:
\[P(A)=\frac{1}{6}\approx0{,}167\]
Artinya, peluang tersebut sekitar 16,7%. Angka ini menggambarkan peluang dalam model matematis dadu yang adil, bukan jaminan hasil pada lemparan berikutnya.
Untuk setiap probabilitas, nilainya berada antara 0 dan 1. Nilai 0 menunjukkan kejadian mustahil dalam model yang digunakan, sedangkan nilai 1 menunjukkan kejadian pasti dalam model tersebut.
4.2. Probabilitas gabungan dan bersyarat
Probabilitas gabungan membahas peluang dua kejadian terjadi bersama. Jika A dan B adalah dua kejadian, maka \(P(A \cap B)\) menyatakan peluang keduanya terjadi.
Probabilitas bersyarat menyatakan peluang suatu kejadian ketika informasi tentang kejadian lain sudah diketahui:
\[P(A\mid B)=\frac{P(A\cap B)}{P(B)}\]
Rumus tersebut berlaku ketika \(P(B)>0\). Dalam konteks AI, probabilitas bersyarat menjadi konsep penting karena prediksi sering dibuat berdasarkan fitur yang sudah diamati.
Misalnya, sebuah model memperkirakan kemungkinan sebuah pesan termasuk spam berdasarkan kata-kata, pola pengirim, dan karakteristik lainnya. Model tidak sekadar menghitung peluang spam secara umum, tetapi memperkirakan peluang berdasarkan informasi yang tersedia pada pesan tersebut.
4.3. Teorema Bayes
Teorema Bayes menghubungkan probabilitas awal suatu kejadian dengan informasi baru yang diamati. Rumusnya adalah:
\[P(A\mid B)=\frac{P(B\mid A)P(A)}{P(B)}\]
Di sini, \(P(A)\) adalah probabilitas awal atau prior, \(P(B\mid A)\) adalah kemungkinan mengamati B jika A benar, dan \(P(A\mid B)\) adalah probabilitas A setelah informasi B diketahui.
Sebagai contoh, bayangkan sistem penyaring pesan memiliki probabilitas awal spam sebesar 10%. Sebuah pola tertentu muncul pada 80% pesan spam, tetapi juga muncul pada 20% pesan bukan spam.
Jika pola itu ditemukan, peluang pesan tersebut benar-benar spam dihitung sebagai:
\[P(\text{spam}\mid B)=\frac{0{,}8\times0{,}1}{(0{,}8\times0{,}1)+(0{,}2\times0{,}9)}\]
\[P(\text{spam}\mid B)=\frac{0{,}08}{0{,}26}\approx0{,}308\]
Hasilnya sekitar 30,8%, bukan 80%. Alasannya, pola tersebut juga muncul pada pesan bukan spam dan jumlah pesan bukan spam jauh lebih besar pada asumsi awal contoh ini.
Contoh ini memperlihatkan pentingnya mempertimbangkan probabilitas awal. Sebuah ciri yang sering muncul pada kategori tertentu belum tentu membuat suatu sampel sangat mungkin termasuk kategori itu jika kategori tersebut jarang terjadi.
4.4. Distribusi probabilitas
Distribusi probabilitas menjelaskan bagaimana probabilitas dialokasikan ke berbagai hasil yang mungkin. Untuk distribusi diskret, probabilitas seluruh hasil harus berjumlah 1. Pada distribusi kontinu, probabilitas dihitung melalui luas di bawah fungsi kepadatan pada suatu rentang.
Salah satu distribusi yang sering dipelajari adalah distribusi normal, yang memiliki bentuk menyerupai lonceng dan ditentukan oleh mean serta variansnya. Distribusi ini berguna dalam berbagai model statistik, tetapi tidak semua data mengikuti distribusi normal.
Distribusi Bernoulli menggambarkan satu percobaan dengan dua kemungkinan hasil, seperti berhasil atau gagal. Distribusi binomial dapat digunakan untuk menghitung jumlah keberhasilan dalam sejumlah percobaan Bernoulli independen dengan probabilitas keberhasilan yang sama.
Memahami distribusi membantu pengembang memilih model statistik, menginterpretasikan data, dan memahami asumsi yang digunakan. Pemilihan distribusi yang tidak sesuai dapat menghasilkan estimasi yang kurang akurat.
4.5. Probabilitas keluaran model bukan selalu tingkat kepercayaan yang akurat
Dalam klasifikasi, beberapa model menghasilkan skor yang dapat ditafsirkan sebagai probabilitas kelas. Namun, skor tersebut tidak otomatis mencerminkan peluang yang terkalibrasi dengan baik.
Misalnya, jika model memberikan probabilitas 0,8 kepada banyak contoh, model yang terkalibrasi dengan baik diharapkan benar pada sekitar 80% contoh dalam kelompok prediksi tersebut, dalam kondisi evaluasi yang sesuai. Untuk memeriksanya, pengembang dapat menggunakan kurva kalibrasi dan metrik seperti Brier score.
Pada model bahasa besar, pernyataan yang terdengar yakin juga tidak menjamin bahwa jawaban benar. Cara model menghasilkan teks, cara probabilitas token digunakan, dan tingkat kebenaran faktual jawaban merupakan persoalan yang berbeda.
5. Kalkulus, Gradien, dan Optimasi Model
Aljabar linear, statistik, dan probabilitas menyediakan fondasi penting, tetapi untuk memahami bagaimana banyak model dilatih, kamu juga perlu mengenal kalkulus dan optimasi.
5.1. Turunan sebagai ukuran perubahan
Turunan menggambarkan bagaimana nilai suatu fungsi berubah ketika masukannya berubah. Misalnya, jika fungsi:
\[f(x)=x^2\]
maka turunannya adalah:
\[f'(x)=2x\]
Pada \(x=3\), nilai turunannya adalah 6. Artinya, kemiringan garis singgung fungsi pada titik tersebut bernilai 6. Secara intuitif, turunan membantu kita memahami arah dan besarnya perubahan lokal suatu fungsi.
Dalam machine learning, fungsi loss mengukur ketidaksesuaian antara prediksi model dan target yang diharapkan. Turunan loss terhadap parameter menunjukkan bagaimana loss berubah ketika parameter tersebut diubah sedikit.
5.2. Fungsi loss
Fungsi loss memberikan ukuran numerik mengenai kesalahan sebuah prediksi atau model. Pemilihannya bergantung pada jenis tugas, bentuk target, dan tujuan optimasi.
Salah satu fungsi yang umum digunakan untuk regresi adalah Mean Squared Error (MSE):
\[\operatorname{MSE}=\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2\]
Misalkan target sebenarnya adalah 10, 12, dan 14, sedangkan prediksi model adalah 11, 10, dan 15. Kesalahannya berturut-turut adalah -1, 2, dan -1 jika dihitung sebagai target dikurangi prediksi.
MSE-nya adalah:
\[\operatorname{MSE}=\frac{(-1)^2+2^2+(-1)^2}{3}=2\]
Karena kesalahan dikuadratkan, nilai kesalahan yang besar mendapat penalti lebih besar. MSE berguna untuk banyak tugas regresi, tetapi dapat sensitif terhadap pencilan. Untuk beberapa masalah, MAE atau fungsi loss lain mungkin lebih sesuai.
5.3. Gradient descent
Gradient descent adalah metode optimasi yang memperbarui parameter secara bertahap untuk mengurangi fungsi tujuan. Dalam bentuk sederhana, pembaruan parameter ditulis sebagai:
\[\theta_{\text{baru}}=\theta_{\text{lama}}-\eta\nabla_\theta L(\theta)\]
Simbol \(\theta\) mewakili parameter model, \(\eta\) adalah learning rate, \(L\) adalah fungsi loss, dan \(\nabla_\theta L\) adalah gradien loss terhadap parameter.
Secara intuitif, gradien menunjukkan arah kenaikan fungsi yang paling curam secara lokal. Karena tujuan pelatihan biasanya meminimalkan loss, pembaruan bergerak ke arah yang berlawanan dengan gradien.
Learning rate menentukan besar langkah pembaruan. Jika terlalu besar, proses optimasi dapat melampaui daerah yang baik atau menjadi tidak stabil. Jika terlalu kecil, pelatihan bisa berjalan lambat. Dalam praktik, optimasi model memiliki berbagai variasi dan tidak menjamin setiap langkah selalu menurunkan loss.
5.4. Mengapa jaringan saraf menggunakan kalkulus?
Jaringan saraf terdiri atas lapisan operasi matematis yang mengubah input menjadi keluaran. Parameter seperti bobot dan bias memengaruhi keluaran tersebut. Ketika prediksi tidak sesuai dengan target, model menghitung loss dan menggunakan aturan rantai dalam proses backpropagation untuk memperoleh gradien terhadap parameter.
Gradien tersebut kemudian digunakan oleh algoritma optimasi untuk memperbarui parameter. Proses ini diulang pada banyak contoh data atau kelompok data hingga model mencapai kondisi pelatihan yang dinilai memadai.
Kamu tidak harus menghitung turunan setiap neuron secara manual. Framework seperti PyTorch dan TensorFlow menyediakan mekanisme diferensiasi otomatis. Namun, memahami gagasan dasar turunan, loss, dan gradien akan memudahkan kamu mendiagnosis masalah pelatihan.
6. Matematika untuk Mengukur Kinerja Model AI
Model yang mampu menghasilkan prediksi belum tentu berguna. Kita perlu mengevaluasinya menggunakan metrik yang sesuai dengan tujuan aplikasi dan karakteristik data.
6.1. Metrik regresi
Untuk masalah regresi, model menghasilkan nilai numerik seperti harga rumah atau estimasi waktu pengiriman. Dua metrik yang sering digunakan adalah MAE dan RMSE.
Mean Absolute Error (MAE) dihitung menggunakan rata-rata nilai absolut selisih antara target dan prediksi:
\[\operatorname{MAE}=\frac{1}{n}\sum_{i=1}^{n}|y_i-\hat{y}_i|\]
Root Mean Squared Error (RMSE) merupakan akar kuadrat MSE:
\[\operatorname{RMSE}=\sqrt{\frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2}\]
MAE mudah diinterpretasikan dalam satuan target dan tidak mengkuadratkan kesalahan. RMSE memberi bobot lebih besar kepada kesalahan yang besar karena selisih dikuadratkan sebelum dirata-ratakan.
Jika model memprediksi harga dalam rupiah, MAE dan RMSE juga dinyatakan dalam rupiah. Namun, membandingkan metrik dari dataset dengan skala target berbeda memerlukan kehati-hatian.
6.2. Metrik klasifikasi
Dalam klasifikasi, model memprediksi kategori seperti spam atau bukan spam. Accuracy adalah proporsi prediksi yang benar dari seluruh contoh yang dievaluasi.
\[\operatorname{Accuracy}=\frac{TP+TN}{TP+TN+FP+FN}\]
TP adalah positif benar, TN negatif benar, FP positif palsu, dan FN negatif palsu. Istilah positif dan negatif merujuk pada kelas yang ditetapkan dalam evaluasi.
Misalkan sistem mendeteksi transaksi mencurigakan. Jika hanya 1% transaksi yang benar-benar mencurigakan, model yang selalu memprediksi semua transaksi sebagai normal dapat mencapai accuracy 99%, tetapi gagal menemukan transaksi yang menjadi perhatian utama.
Dalam kondisi seperti ini, accuracy saja tidak cukup. Precision mengukur proporsi prediksi positif yang benar, sedangkan recall mengukur proporsi kasus positif sebenarnya yang berhasil ditemukan.
\[\operatorname{Precision}=\frac{TP}{TP+FP}\]
\[\operatorname{Recall}=\frac{TP}{TP+FN}\]
F1-score merupakan rata-rata harmonik precision dan recall. Metrik ini dapat membantu ketika keduanya perlu dipertimbangkan bersama, tetapi pemilihan metrik tetap harus mengikuti dampak kesalahan dalam aplikasi nyata.
6.3. Evaluasi harus sesuai tujuan
Dalam sistem penyaring spam, terlalu banyak pesan penting yang salah ditandai sebagai spam dapat mengganggu pengguna. Sebaliknya, terlalu banyak spam yang lolos juga merupakan masalah. Dalam sistem kesehatan atau deteksi penipuan, konsekuensi kesalahan bisa lebih serius sehingga evaluasi membutuhkan pertimbangan domain yang lebih ketat.
Karena itu, tidak ada satu metrik yang selalu terbaik untuk seluruh model AI. Tentukan dahulu kesalahan seperti apa yang paling merugikan, lalu pilih metrik, ambang keputusan, dan prosedur evaluasi yang sesuai.
7. Praktik Matematika AI Menggunakan Python
Setelah mengenal konsep dasarnya, kamu dapat mulai mempraktikkan operasi matematika dengan Python. Contoh berikut menggunakan NumPy untuk mengolah vektor, menghitung statistik, dan melakukan prediksi linear sederhana.
NumPy adalah pustaka komputasi numerik yang menyediakan array multidimensi serta operasi matematika yang efisien. Pustaka ini banyak digunakan sebagai fondasi dalam ekosistem machine learning Python.
7.1. Persiapan lingkungan
Jika NumPy belum terpasang, jalankan perintah berikut melalui terminal pada lingkungan Python yang kamu gunakan:
python -m pip install numpy
Setelah instalasi selesai, buat berkas Python, misalnya matematika_ai.py, lalu masukkan kode berikut.
7.2. Mengolah vektor dan menghitung dot product
import numpy as np
# Representasi fitur dan bobot
fitur = np.array([2.0, 3.0, 4.0])
bobot = np.array([0.5, 2.0, 1.0])
# Perkalian titik
hasil = np.dot(fitur, bobot)
print("Fitur:", fitur)
print("Bobot:", bobot)
print("Dot product:", hasil)
Output yang diharapkan:
Fitur: [2. 3. 4.]
Bobot: [0.5 2. 1. ]
Dot product: 11.0
Nilai 11 diperoleh dari penjumlahan hasil perkalian elemen yang bersesuaian. Contoh ini memperlihatkan bagaimana operasi aljabar linear yang sebelumnya dihitung secara manual dapat diterapkan menggunakan kode.
7.3. Menghitung statistik sederhana
import numpy as np
data = np.array([10, 12, 12, 14, 52])
print("Mean:", np.mean(data))
print("Median:", np.median(data))
print("Modus:", np.unique(data, return_counts=True)[0][
np.argmax(np.unique(data, return_counts=True)[1])
])
print("Varians populasi:", np.var(data))
print("Standar deviasi populasi:", np.std(data))
Kode tersebut menghitung mean, median, modus, varians populasi, dan standar deviasi populasi. Perhatikan bahwa np.var() dan np.std() secara default menggunakan ddof=0, yaitu perhitungan varians dan standar deviasi populasi. Untuk estimasi varians sampel yang lazim, gunakan ddof=1.
Dalam proyek nyata, perhitungan statistik perlu dilengkapi dengan pemeriksaan nilai yang hilang, tipe data, distribusi fitur, dan kemungkinan pencilan. Angka ringkasan saja belum tentu menjelaskan keseluruhan karakteristik dataset.
7.4. Membuat prediksi linear sederhana
Berikut contoh fungsi yang menghitung prediksi menggunakan bobot dan bias. Model ini belum dilatih dari dataset; bobot dan bias ditetapkan secara manual untuk memperlihatkan mekanisme perhitungannya.
import numpy as np
# Setiap baris mewakili satu contoh data.
X = np.array([
[2.0, 3.0],
[4.0, 1.0],
[5.0, 2.0]
])
# Parameter model yang ditetapkan secara manual.
w = np.array([2.0, 0.5])
b = 1.0
# Prediksi untuk seluruh baris data.
prediksi = X @ w + b
print("Prediksi:", prediksi)
Outputnya adalah:
Prediksi: [7.5 9.5 12. ]
Operator @ melakukan perkalian matriks atau dot product sesuai bentuk array. Setelah itu, bias ditambahkan pada setiap prediksi. Pada model regresi linear, parameter tersebut biasanya dipelajari dari data pelatihan, bukan dipilih secara sembarang seperti pada contoh ini.
7.5. Menghitung MAE dan MSE
Misalkan kamu sudah memiliki target sebenarnya dan hasil prediksi model. Kamu dapat menghitung dua metrik evaluasi dasar dengan kode berikut.
import numpy as np
aktual = np.array([10.0, 12.0, 14.0])
prediksi = np.array([11.0, 10.0, 15.0])
mae = np.mean(np.abs(aktual - prediksi))
mse = np.mean((aktual - prediksi) ** 2)
print("MAE:", mae)
print("MSE:", mse)
Output yang diharapkan:
MAE: 1.3333333333333333
MSE: 2.0
MAE sebesar sekitar 1,33 menunjukkan rata-rata kesalahan absolut sebesar 1,33 satuan target. MSE sebesar 2 merupakan rata-rata kuadrat kesalahan. Jika target adalah harga dalam juta rupiah, satuan MAE adalah juta rupiah, sedangkan satuan MSE adalah kuadrat juta rupiah.
7.6. Apa yang belum dilakukan oleh contoh ini?
Contoh-contoh sebelumnya baru memperlihatkan operasi numerik dasar. Belum ada proses untuk mempelajari bobot dari data, memisahkan data pelatihan dan pengujian, membandingkan beberapa model, atau memastikan prediksi dapat digeneralisasikan ke data baru.
Langkah selanjutnya adalah mempelajari regresi linear menggunakan scikit-learn, lalu membandingkan prediksi model dengan target sebenarnya pada data yang tidak digunakan untuk pelatihan. Dari sana, kamu dapat memperluas proyek menuju klasifikasi, evaluasi model, dan jaringan saraf sederhana.
8. Urutan Belajar Matematika untuk AI
Jika kamu baru mulai mempelajari matematika untuk machine learning, jangan mencoba menguasai seluruh materi sekaligus. Gunakan urutan yang memungkinkan setiap konsep langsung diterapkan pada kode.
- Aritmetika dan aljabar dasar. Kuasai pecahan, persentase, persamaan linear, pangkat, akar, dan manipulasi rumus.
- Vektor dan matriks. Pelajari dimensi, penjumlahan, perkalian skalar, dot product, serta perkalian matriks.
- Statistik deskriptif. Pahami mean, median, varians, standar deviasi, distribusi, dan pencilan.
- Probabilitas. Pelajari kejadian, probabilitas bersyarat, Teorema Bayes, dan distribusi probabilitas dasar.
- Kalkulus dasar. Pahami fungsi, turunan, aturan rantai, dan gradien.
- Optimasi. Pelajari fungsi loss, gradient descent, learning rate, dan pengaruh parameter terhadap proses pelatihan.
- Penerapan machine learning. Gunakan Python, NumPy, dan scikit-learn untuk membangun serta mengevaluasi model sederhana.
- Deep learning. Setelah fondasi cukup kuat, pelajari jaringan saraf, backpropagation, dan framework seperti PyTorch atau TensorFlow.
Target latihan yang dapat diukur
Kamu dapat menggunakan latihan berikut untuk memeriksa pemahaman sebelum beralih ke materi berikutnya.
| Materi | Latihan | Tanda sudah memahami |
|---|---|---|
| Vektor | Hitung dot product dua vektor berukuran tiga. | Dapat menghitung hasil manual dan memeriksa hasil Python. |
| Statistik | Hitung mean dan median dataset yang memiliki pencilan. | Dapat menjelaskan mengapa hasil keduanya berbeda. |
| Probabilitas | Hitung probabilitas bersyarat dari data sederhana. | Dapat membedakan probabilitas awal dan probabilitas setelah pengamatan. |
| Loss | Bandingkan MAE dan MSE untuk tiga prediksi. | Dapat menjelaskan dampak kesalahan besar terhadap MSE. |
| Model linear | Buat prediksi menggunakan fitur, bobot, dan bias. | Dapat menjelaskan asal setiap nilai hasil prediksi. |
9. Kesalahan Umum Saat Mempelajari Matematika AI
Menghafal rumus tanpa memahami maknanya
Rumus akan lebih mudah digunakan jika kamu memahami apa yang dihitung dan kapan rumus tersebut sesuai. Saat mempelajari MSE, misalnya, jangan hanya menghafal persamaan. Hitung kesalahan dari beberapa prediksi dan amati bagaimana kesalahan besar memengaruhi hasil akhirnya.
Menganggap semua algoritma membutuhkan matematika yang sama
Model berbasis pohon keputusan tidak memiliki kebutuhan matematis yang identik dengan jaringan saraf. Sistem berbasis aturan juga berbeda dari model yang mempelajari parameter melalui optimasi. Pelajari fondasi umum terlebih dahulu, kemudian perdalam matematika yang relevan dengan algoritma yang sedang digunakan.
Mengabaikan kualitas dan konteks data
Perhitungan yang benar tidak otomatis menghasilkan kesimpulan yang benar jika datanya bias, tidak representatif, atau mengandung kebocoran informasi. Periksa bagaimana data dikumpulkan, apa yang diwakili setiap fitur, dan apakah evaluasi mencerminkan penggunaan nyata.
Menganggap skor model sebagai kebenaran mutlak
Prediksi merupakan keluaran dari model yang dibangun berdasarkan data dan asumsi tertentu. Model bisa gagal ketika menghadapi distribusi data baru, fitur yang tidak tersedia, atau situasi yang berbeda dari data pelatihan. Evaluasi, pemantauan, dan pengujian berkelanjutan tetap diperlukan.
Menunda praktik sampai seluruh teori selesai
Kamu tidak harus menunggu menguasai kalkulus tingkat lanjut sebelum menulis program AI pertama. Mulailah dari operasi vektor, statistik dataset, atau regresi linear sederhana. Ketika menemukan keterbatasan, pelajari teori yang diperlukan untuk memahami dan memperbaikinya.
10. Pertanyaan yang Sering Diajukan
Tidak harus langsung mahir. Kamu dapat mulai dari aritmetika, aljabar dasar, vektor, dan statistik sederhana. Kebutuhan matematika meningkat sesuai kompleksitas model dan tingkat pemahaman yang ingin dicapai. Menguasai fondasi secara bertahap jauh lebih berguna daripada menunggu sampai merasa menguasai semua matematika.
Tidak. Ketiga bidang tersebut merupakan fondasi penting, tetapi kalkulus, optimasi, teori informasi, dan bidang matematika lainnya juga digunakan dalam berbagai pendekatan AI. Materi yang diperlukan bergantung pada model dan masalah yang dikerjakan.
Bisa. Pustaka seperti scikit-learn dan PyTorch menyediakan implementasi banyak algoritma sehingga kamu dapat membangun aplikasi tanpa menulis seluruh perhitungan dari awal. Namun, memahami konsep matematis dasarnya membantu memilih model, membaca metrik, menemukan kesalahan, dan mengetahui keterbatasan hasilnya.
Statistik membantu memahami data yang diamati, memperkirakan karakteristik populasi, dan mengevaluasi hasil. Probabilitas memodelkan kemungkinan kejadian berdasarkan asumsi tertentu. Keduanya saling berkaitan dan sering digunakan bersama dalam pengembangan serta evaluasi model machine learning.
Untuk memahami pelatihan jaringan saraf secara mendalam, kalkulus sangat berguna. Turunan dan gradien digunakan untuk menghitung bagaimana fungsi loss berubah terhadap parameter. Framework deep learning dapat menghitung gradien secara otomatis, tetapi memahami prinsipnya tetap membantu proses debugging dan optimasi.
Mulailah dengan aljabar dasar, lalu pelajari vektor dan matriks. Praktikkan operasi tersebut menggunakan Python dan NumPy. Setelah itu, lanjutkan ke mean, median, varians, probabilitas, serta model regresi sederhana agar setiap konsep memiliki penerapan yang jelas.
Kesimpulan
Matematika merupakan fondasi penting untuk memahami bagaimana banyak sistem AI merepresentasikan data, mempelajari pola, menghasilkan prediksi, dan mengukur kesalahan. Aljabar linear membantu mengolah fitur dalam bentuk vektor dan matriks, statistik membantu memahami dataset, probabilitas membantu memodelkan ketidakpastian, sedangkan kalkulus dan optimasi mendukung proses pelatihan berbagai model.
Kamu tidak harus mempelajari semua rumus sekaligus. Mulailah dengan contoh kecil, hitung hasilnya secara manual, lalu bandingkan dengan implementasi Python. Setelah memahami hubungan antara rumus dan kode, lanjutkan ke proyek machine learning sederhana dan tingkatkan kompleksitasnya secara bertahap.
Tujuan mempelajari matematika AI bukan sekadar mampu menghitung. Tujuannya adalah memahami alasan sebuah model bekerja, mengenali kapan model bisa keliru, dan membuat keputusan teknis yang lebih tepat saat membangun sistem cerdas.