Apa itu aljabar linier untuk machine learning?

Penulis

Fangfang Lee

Developer Advocate

IBM

Apa itu aljabar linier untuk machine learning?

Dalam machine learning (ML), aljabar linier melibatkan penggunaan operasi matematika untuk menunjukkan dan memanipulasi data, parameter, dan komputasi dalam model ML. Fondasi matematika ini menyediakan bahasa dan alat untuk mengekspresikan bagaimana data mengalir melalui model dan bagaimana model “belajar.”

Algoritma machine learning dan AI generatif modern yang efektif pada intinya didukung oleh aljabar linier. Baik melatih neural networks, membangun sistem rekomendasi, atau menerapkan analisis komponen utama (PCA) pada kumpulan data yang kompleks dan berdimensi tinggi, para praktisi menggunakan aljabar linier untuk melakukan perhitungan masif.

Tren AI terbaru, dipersembahkan oleh para pakar

Dapatkan kurasi insight tentang berita AI yang paling penting dan menarik. Berlangganan buletin Think mingguan. Lihat Pernyataan Privasi IBM.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan dikirimkan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM kami untuk informasi lebih lanjut.

Mengapa aljabar linier penting

Sejak awal pengembangan hingga kemajuan terbaru dalam pembelajaran mendalam, aljabar linier ada di semua lingkungan ML. Banyak model machine learning inti pada dasarnya diekspresikan dan dipecahkan menggunakan prinsip aljabar linier. Dalam praktiknya, data jarang sekali berupa satu angka sederhana; sebaliknya, data sering kali hadir dalam bentuk kumpulan data: kumpulan titik-titik data yang sering kali berantakan. Aljabar linier menyediakan alat untuk mengatur, memanipulasi, dan menganalisis data ini secara efisien.

Hal ini memungkinkan praktisi untuk memanipulasi objek seperti vektor, matriks, dan tensor untuk merepresentasikan data terstruktur (sering kali berupa data tabular) dan data tidak terstruktur seperti gambar atau video. Semua konsep yang tampaknya abstrak ini adalah bahasa data untuk ilmu komputer dan ilmuwan data. Misalnya, gambar dapat direpresentasikan sebagai matriks nilai piksel dan kumpulan fitur yang menggambarkan rumah (seperti lingkungan, usia, dan luas persegi) dapat direpresentasikan sebagai vektor dalam model regresi linier. Regresi linier memodelkan output sebagai kombinasi linier dari fitur input, berfungsi sebagai contoh klasik tentang bagaimana aljabar linier bekerja di dunia nyata.  

Konsep utama aljabar linier

Dalam machine learning dan ilmu data, aljabar linier adalah kerangka kerja yang digunakan untuk menggambarkan dan bekerja dengan data. Ilmu ini menjelaskan bagaimana angka disusun, digabungkan, dan ditransformasikan—baik mengalikan matriks dalam neural networks, menemukan nilai eigen dalam PCA, atau mengurangi dimensi dengan dekomposisi nilai tunggal (SVD).  

Representasi dan manipulasi data

Pada tingkat yang paling dasar, aljabar linier memberikan alat untuk menunjukkan dan bekerja dengan data dalam bentuk terstruktur. Sebagian besar alur kerja machine learning dimulai dengan mengatur data menjadi format numerik dan setiap struktur—skalar, vektor, matriks, dan tensor—memenuhi tujuan yang berbeda.

  • Skalar adalah fondasi paling sederhana yang merupakan nilai numerik tunggal, seperti 5 atau 2,3. Skalar sering kali menunjukkan parameter, faktor penskalaan, atau pengukuran tunggal.

  • Vektor adalah susunan angka berurutan, biasanya ditulis sebagai kolom atau baris. Vektor dapat merepresentasikan apa saja, mulai dari daftar fitur yang menggambarkan satu titik data hingga koordinat posisi dalam ruang. Sebagai contoh, vektor [3,5,7] dapat menunjukkan jumlah kunjungan, pembelian, dan pengembalian untuk seorang pelanggan.

  • Matriks adalah susunan angka dua dimensi yang disusun dalam baris dan kolom. Kumpulan data di mana setiap baris adalah titik data dan setiap kolom adalah fitur secara alami membentuk matriks. Matriks adalah pusat dalam aljabar linier karena memungkinkan penyimpanan data yang efisien. Operasi seperti perkalian skalar (mengalikan setiap elemen matriks dengan bilangan konstan) dan perkalian matriks (menggabungkan dua matriks untuk menerapkan transformasi atau menghitung hubungan) adalah hal umum dalam algoritma.

  • Tensor adalah generalisasi dari skalar, vektor, dan matriks ke dimensi yang lebih tinggi. Contohnya, gambar berwarna dapat disimpan sebagai tensor 3D, di mana tinggi, lebar, dan saluran warna membentuk tiga sumbu terpisah. Dalam pembelajaran mendalam, tensor adalah struktur data standar untuk memasukkan informasi ke neural networks.

Produk titik adalah cara untuk mengalikan dua vektor untuk menghasilkan satu skalar. Ini banyak digunakan untuk menghitung kemiripan antara vektor, yang merupakan langkah penting dalam banyak sistem rekomendasi. Transposisi matriks yang membalik baris dan kolomnya adalah operasi fundamental lain yang memungkinkan seseorang untuk menyelaraskan dimensi untuk perkalian dan mengungkap pola struktural dalam data.

Aljabar linier memungkinkan ekspresi kumpulan data kompleks dengan cara yang dapat dipahami dan diproses oleh algoritma, sehingga memungkinkan pembangunan model yang kompleks menggunakan sejumlah besar data yang dikumpulkan dari dunia nyata. 

A comparison chart illustrating scalar, vector, matrix, and tensor concepts. The image uses colorful numerical representations to differentiate each mathematical structure. Numbers such as '1', '2', '5', and '6' are clearly visible within the matrix and tensor examples.

Memahami algoritma

Banyak algoritma machine learning dibangun di atas sistem persamaan linier. Regresi linier adalah algoritma sederhana namun efektif yang digunakan untuk memprediksi nilai kontinu. Proses menemukan garis atau bidang "paling sesuai" yang meminimalkan kesalahan antara nilai prediksi dan nilai aktual sering kali bermuara pada penyelesaian sistem persamaan linier. Misalnya, saat memprediksi harga rumah berdasarkan luas bangunan dan jumlah kamar tidur, koefisien (bobot) harus ditemukan untuk memenuhi persamaan seperti:

 price=w1*squarefootage+w2*numberofbedrooms+b

...di mana  w1w2 dan  b  adalah koefisien tidak diketahui yang harus dipecahkan. Ini dapat direpresentasikan dan diselesaikan menggunakan matriks. Teknik seperti "kuadrat terkecil" digunakan untuk menemukan solusi perkiraan pada sistem ini ketika solusi yang tepat tidak ada, yang sering kali terjadi pada data tidak akurat di dunia nyata. Dengan kata lain, mendekati fungsi kerugian, direpresentasikan sebagai kumpulan persamaan linier yang diselesaikan dengan kalkulus.

Algoritma yang lebih kompleks, seperti yang ditemukan dalam pembelajaran mendalam dan neural networks, sangat bergantung pada operasi seperti perkalian matriks masif untuk memproses informasi melalui lapisan berbeda. Setiap lapisan dalam neural networks melakukan transformasi linier pada inputnya yang pada dasarnya merupakan transformasi matriks, di mana input dikalikan dengan matriks berat. Hal ini memungkinkan jaringan untuk mempelajari pola dan hubungan yang kompleks dalam data.

Pengurangan dimensi

Banyak kumpulan data dunia nyata berisi sejumlah besar fitur (atau variabel) untuk setiap titik data: terkadang ratusan, ribuan, atau bahkan jutaan. Ini disebut data berdimensi tinggi. Meskipun lebih banyak fitur mungkin memberikan kesan akan membuat model lebih akurat, mereka sering kali mempersulit pembelajaran. Pemrosesan data berdimensi tinggi bisa jadi mahal dari segi komputasi, membutuhkan memori penyimpanan yang signifikan, dan rentan terhadap overfitting, di mana model justru menghafal ketidakakuratan, bukan mempelajari pola yang bermakna.

Tantangan lain adalah kutukan dimensi. Seiring dengan bertambahnya jumlah dimensi, titik-titik data menjadi semakin jarang dalam ruang fitur dan gagasan tentang "kedekatan" di antara titik menjadi kurang bermakna. Kekurangan ini menyulitkan algoritma untuk mendeteksi hubungan dengan andal. Oleh karena itu, memiliki alat yang tepat untuk mengurangi jumlah fitur dan mengekstrak sinyal dari ketidakakuratan sangat penting. Reduksi dimensi adalah proses mengubah data dari ruang berdimensi tinggi menjadi ruang berdimensi rendah sekaligus mempertahankan sebanyak mungkin struktur asli dan informasi penting. Dengan mengurangi jumlah fitur, praktisi dapat menyederhanakan model, meningkatkan generalisasi, mempercepat komputasi, dan sering kali membuat visualisasi data yang bermanfaat.

Aljabar linier adalah inti dari banyak teknik reduksi dimensi. Misalnya, analisis komponen utama menggunakan konsep seperti nilai eigen dan vektor eigen untuk menemukan sumbu baru (komponen utama) yang menangkap varians maksimum dalam data, mewakili atribut yang bermakna dalam kumpulan data berdimensi tinggi. Dengan memproyeksikan data ke beberapa komponen utama pertama, para praktisi mempertahankan pola yang paling penting sekaligus membuang variasi yang kurang berguna.

Misalnya, bayangkan kumpulan data yang menggambarkan ribuan pelanggan dan masing-masing memiliki 100 fitur berbeda (usia, pendapatan, pengeluaran dalam berbagai kategori, dll.). Menganalisis ke-100 fitur sekaligus akan berlangsung lambat dan rumit, dan kebanyakan fitur mungkin berlebihan (misalnya, minat pada “perlengkapan olahraga” sering tumpang tindih dengan “peralatan luar ruangan”). PCA dapat mengurangi kumpulan data menjadi hanya 2 atau 3 komponen yang merangkum sebagian besar variasi dalam perilaku pelanggan, sehingga lebih mudah untuk memvisualisasikan dan menjalankan algoritma hilir dengan lebih efisien.

Singkatnya, reduksi dimensi adalah cara untuk menyaring data kompleks menjadi bagian yang paling informatif, dan aljabar linier menyediakan mesin matematika untuk memungkinkannya.

Analisis komponen utama

Nilai eigen, vektor eigen, dan dekomposisi eigen secara bersama-sama menggambarkan mode perilaku dasar dari transformasi linear atau sistem:

  • Vektor Eigen: Bayangkan sebuah transformasi linier (seperti meregangkan atau memutar ruang vektor). Vektor eigen dari matriks persegi adalah vektor bukan nol yang, ketika transformasi itu diterapkan padanya, hanya berubah hingga faktor skalar. Itu tidak mengubah arahnya. Ini adalah arah khusus dalam data yang tetap stabil di bawah transformasi.
  • Nilai Eigen: Ini adalah faktor skalar yang digunakan untuk menskalakan vektor eigen. Nilai ini memberi tahu Anda seberapa banyak vektor eigen diregangkan atau dikompresi selama transformasi. Dalam PCA, nilai eigen yang lebih besar sesuai dengan komponen utama yang menangkap lebih banyak varians dalam data.
  • Dekomposisi eigen: Ini adalah proses penguraian matriks persegi menjadi sekumpulan vektor eigen dan nilai eigen. Untuk sebuah matriks tertentu, jika kita dapat menemukan vektor eigen dan nilai eigennya, kita dapat merekonstruksi matriks asli dari matriks tersebut. Dalam PCA, dekomposisi eigen dari matriks kovarians data memungkinkan identifikasi komponen utama (vektor eigen) yang paling mewakili varians dalam data, diurutkan berdasarkan nilai eigen yang sesuai.

Teknik lain yang efektif, dekomposisi nilai tunggal (SVD), juga memainkan peran penting dalam reduksi dimensi dan sangat penting pada berbagai bidang seperti faktorisasi matriks dalam sistem rekomendasi. Meskipun terkait dengan dekomposisi eigen, SVD dapat diterapkan pada matriks apa pun (bukan hanya matriks persegi) dan menawarkan cara yang lebih umum untuk menguraikan matriks ke dalam bagian-bagian penyusunnya, yang mengungkapkan struktur yang mendasari dan mengurangi dimensi secara efektif. Misalnya, dalam sistem rekomendasi, SVD membantu menguraikan matriks interaksi pengguna-item menjadi matriks berdimensi lebih rendah yang merepresentasikan fitur laten dari pengguna dan item, yang kemudian digunakan untuk memprediksi rekomendasi baru.

Optimisasi

Banyak model machine learning yang melibatkan masalah optimasi, di mana tujuannya adalah untuk menemukan kumpulan parameter terbaik untuk model yang meminimalkan fungsi kesalahan atau memaksimalkan fungsi kemungkinan. Algoritma seperti penurunan gradien, digunakan secara luas dalam melatih neural networks dan algoritma machine learning lainnya, mengandalkan aljabar linier untuk menghitung gradien (vektor menunjuk ke arah naik paling curam suatu fungsi) dan memperbarui parameter model secara berulang.

Memahami optimasi juga berarti memahami sifat-sifat matriks yang terlibat dalam perhitungan ini. Di sinilah konsep seperti determinan dan matriks identitas menjadi relevan. Penentu matriks persegi adalah bilangan tunggal yang memberikan informasi penting tentang matriks. Misalnya, determinan bukan nol menunjukkan bahwa matriks dapat dibalik (artinya memiliki operasi inversi matriks yang sesuai), yang penting untuk memecahkan sistem persamaan linier secara unik. Jika determinannya nol, sistem mungkin tidak memiliki solusi unik atau banyak hingga tak terhingga, yang mengindikasikan masalah seperti independensi linier (di mana satu vektor dalam suatu kumpulan dapat dinyatakan sebagai kombinasi linier dari vektor lainnya). Matriks identitas (matriks persegi dengan angka satu pada diagonal utama dan nol di tempat lain) sangat istimewa, karena ketika Anda mengalikan matriks apa pun dengan matriks identitas, matriks asli tetap tidak berubah, bertindak seperti angka '1' dalam perkalian skalar.

Mixture of Experts | 12 Desember, episode 85

Decoding AI: Rangkuman Berita Mingguan

Bergabunglah dengan panel insinyur, peneliti, pemimpin produk, dan sosok kelas dunia lainnya selagi mereka mengupas tuntas tentang AI untuk menghadirkan berita dan insight terbaru seputar AI.

Alat dan eksplorasi lebih lanjut

Kabar baiknya adalah praktisi ML tidak perlu melakukan perhitungan yang kompleks ini secara manual. Pustaka seperti NumPy di Python menyediakan fungsi yang sangat dioptimalkan untuk semua konsep aljabar linier ini, menjadikannya standar de facto untuk komputasi numerik dalam machine learning. Misalnya, numpy.linalg.eig() dapat menghitung nilai eigen dan vektor eigen, dan numpy.dot() menangani produk titik dan perkalian matriks dengan mudah. Kerangka kerja seperti TensorFlow (populer dalam pembelajaran mendalam) juga sangat memanfaatkan aljabar linier secara tersembunyi, menghilangkan detail tingkat rendah sehingga pengguna dapat berfokus pada membangun model.

Pengantar aljabar linier untuk machine learning ini sangat mendalam. Konsep seperti transformasi linier dan transformasi matriks menggambarkan bagaimana data dapat dimanipulasi dan dibentuk kembali, misalnya, memutar gambar atau menskalakan fiturnya. Memahami berbagai jenis matriks seperti matriks identitas (yang membuat vektor tidak berubah ketika dikalikan) dan matriks ortogonal (di mana kebalikannya hanyalah transposisi, yang menyederhanakan perhitungan) juga bermanfaat. Meskipun seseorang biasanya tidak akan melakukan eliminasi gaussian (algoritma untuk menyelesaikan sistem persamaan linier) secara manual dalam ML, memahami prinsip-prinsipnya akan menjelaskan bagaimana sistem ini diselesaikan secara komputasi. Independensi linier juga penting untuk memahami keunikan solusi dan dasar ruang vektor (kumpulan semua kombinasi linier yang mungkin dari sekumpulan vektor).

Pada akhirnya, pemahaman yang kuat tentang konsep aljabar linier memberdayakan praktisi ML untuk tidak hanya menggunakan algoritma machine learning yang dibangun sebelumnya, tetapi juga untuk benar-benar memahami mekanisme internal mereka, melakukan debug secara efektif, dan bahkan mengembangkan solusi baru. Ini adalah pekerja keras tanpa suara yang telah mendorong ML selama puluhan tahun dan akan terus mengambil posisi penting dalam masa depan kecerdasan buatan.

Solusi terkait
IBM watsonx.ai

Latih, validasi, lakukan tuning, dan terapkan AI generatif, model dasar, dan kemampuan machine learning dengan IBM watsonx.ai, studio perusahaan generasi berikutnya untuk pembangun AI. Bangun aplikasi AI dalam waktu singkat, dengan sedikit data.

Temukan watsonx.ai
Solusi kecerdasan buatan (AI)

Gunakan AI di bisnis Anda dalam perpaduan antara keahlian AI terdepan di industri dari IBM dan portofolio solusi Anda.

Jelajahi solusi AI
Konsultasi dan layanan AI

Temukan kembali alur kerja dan operasi yang penting dengan menambahkan AI untuk memaksimalkan pengalaman, pengambilan keputusan secara real-time, dan nilai bisnis.

Jelajahi layanan AI
Ambil langkah selanjutnya

Dapatkan akses satu atap ke kemampuan yang mencakup siklus hidup pengembangan AI. Hasilkan solusi AI yang kuat dengan antarmuka ramah pengguna, alur kerja yang efisien, serta akses ke API dan SDK berstandar industri.

Jelajahi watsonx.ai Pesan demo langsung