Kursus Matematika untuk AI · Pelajaran 42 dari 180
Perkalian Titik Mengubah Fitur Menjadi Skor
Uraikan perkalian titik menjadi kontribusi fitur, bangun skor pengklasifikasi linear, dan periksa kekeliruan tentang urutan serta probabilitas dengan NumPy.
Model AI dapat mencetak skor seperti tanpa menunjukkan fitur masukan mana yang membuat angka itu naik atau turun. Perkalian titik membuka perhitungan tersebut sedikit demi sedikit: kalikan setiap fitur dengan bobot yang diberikan pada koordinat yang sama, lalu jumlahkan hasil kalinya.
Pada akhir pelajaran ini, kamu akan dapat menguraikan perkalian titik menjadi kontribusi fitur bertanda, mengimplementasikannya dengan NumPy, dan membaca skor mentah di dalam pengklasifikasi linear biner tanpa mengiranya sebagai probabilitas.
Hasil belajar: Menafsirkan perkalian titik sebagai skor fitur berbobot.
Pelajaran ini dibangun di atas Pelajaran 041: Inner Products Measure Alignment, tempat operasi yang sama menjelaskan bagaimana dua vektor mengarah relatif satu sama lain. Bagian 3.2 dari Mathematics for Machine Learning menyediakan rujukan matematisnya. Nama fitur, angka, kode, visual, penelusuran pengklasifikasi, dan soal evaluasi di sini adalah karya orisinal.
Perkalian titik memasangkan fitur dengan bobot
Misalkan adalah vektor fitur: satu daftar angka berurutan tetap yang merepresentasikan sebuah masukan. Misalkan adalah vektor bobot: satu daftar parameter berurutan tetap yang menyatakan bagaimana model menggabungkan fitur-fitur tersebut. Kedua vektor memiliki koordinat, dan koordinat harus bermakna sama pada kedua daftar.
Notasi transpose membuat pemeriksaan bentuk terlihat jelas. Jika dianggap sebagai kolom , maka berukuran dan menghasilkan nilai —sebuah skor skalar. Notasi penjumlahan menyatakan hal yang sama dalam bentuk yang lebih mudah diperiksa: ada satu perkalian untuk setiap koordinat, lalu satu rangkaian penjumlahan.
Urutan adalah bagian dari kontrak data. Jika adalah tingkat kesalahan, maka harus menjadi bobot tingkat kesalahan. Dua larik dapat memiliki panjang yang sama tetapi tetap menggambarkan model yang salah jika koordinatnya ditukar.
Perkalian titik juga merupakan inner product real standar dari pelajaran sebelumnya, tetapi perannya berbeda di sini. Satu vektor adalah representasi masukan; vektor lainnya adalah sekumpulan parameter penilaian yang dipelajari atau dipilih. Penetapan peran ini membuat setiap hasil kali berguna untuk diperiksa.
Contoh skor yang dikerjakan membuat setiap kontribusi terlihat
Gunakan vektor fitur dan vektor bobot kecil berikut:
Keempat koordinat sudah berupa masukan numerik untuk model. Namanya hanya label untuk contoh ini; dalam pipeline nyata, prapemrosesan menentukan apa arti setiap angka dan skala yang digunakannya.
Kontribusi koordinat adalah . Nilainya positif ketika fitur dan bobot memiliki tanda yang sama, negatif ketika tandanya berbeda, dan nol ketika salah satunya nol. Kontribusi positif mendorong skor ke atas; kontribusi negatif menariknya ke bawah. Besarnya menunjukkan seberapa besar pengaruh langsung koordinat tersebut pada skor khusus ini.
Telusuri setiap hasil kali fitur hingga total perkalian titik
| Fitur | Nilai xᵢ | Bobot wᵢ | Kontribusi wᵢxᵢ |
|---|---|---|---|
| Cakupan | 2.00 | 1.20 | positif +2.40 |
| Indikator kesalahan | 0.50 | −0.80 | negatif −0.40 |
| Deviasi referensi | 4.00 | 0.00 | nol 0.00 |
| Sinyal terverifikasi | 3.00 | 0.40 | positif +1.20 |
| Total perkalian titik | 3.20 | ||
Baca tabel dari atas ke bawah untuk mengikuti setiap nilai, bobot, tanda, dan kontribusi tanpa bergantung pada warna atau geometri diagram.
Tabel tersebut adalah cadangan yang menjadi sumber kebenaran: diagram kontribusi memberi jejak visual singkat tentang total berjalan, tetapi tidak menyembunyikan angka apa pun dalam warna, teks saat diarahkan, atau state sisi klien. Fitur berbobot nol tidak berkontribusi pada skor model ini meskipun nilai fiturnya .
Jika model juga memiliki bias , pisahkan offset tersebut dari hasil kali fitur. Dengan , skor afin menjadi
Bias menggeser skor setiap masukan dengan jumlah yang sama. Bias bukan bukti bahwa salah satu dari empat fitur menyumbang .
Mengapa hasil kali koordinat berguna—tetapi terbatas
Jumlah ini benar-benar aditif. Jika hanya fitur yang berubah sebesar , maka
di mana adalah vektor yang bernilai pada posisi dan di tempat lain. Jadi, skor linear tetap berubah sebesar —tidak ada istilah interaksi tersembunyi antara perubahan itu dan koordinat lain.
Itulah yang membuat berguna untuk menjelaskan satu perhitungan linear ini. Namun, hal itu tidak menjadikan hasil kali tersebut atribusi kausal yang lengkap. Sistem yang dilatih mungkin memiliki fitur berkorelasi, langkah prapemrosesan, atau lapisan nonlinear setelahnya. Selain itu, besar suatu bobot tidak dapat dibandingkan begitu saja antarfitur dengan satuan atau skala berbeda. Standardisasi fitur dapat mengubah bobot numerik sementara prediksi model tetap ekuivalen setelah pembaruan parameter yang sesuai.
Pengklasifikasi linear menerapkan ambang pada skor
Pengklasifikasi linear biner menggunakan skor afin
dan kemudian menerapkan aturan keputusan seperti
Untuk masukan contoh, , sehingga ambang nol menetapkannya ke kelas . Ambang adalah langkah kedua; perkalian titik sendiri hanya menyediakan skor berbobot. Mengubah ambang mengubah keputusan tanpa mengubah hasil kali fitur.
Himpunan titik dengan adalah garis dalam dua dimensi dan hyperplane dalam dimensi yang lebih tinggi. Vektor bobot tegak lurus terhadap batas tersebut dalam geometri Euclidean standar. Menggerakkan masukan ke arah yang sejajar dengan menaikkan skor; menggerakkannya berlawanan arah menurunkan skor. Inilah alasan perkalian titik mengubah daftar fitur menjadi posisi relatif terhadap batas pengklasifikasi.
Perbedaan ini juga muncul di scikit-learn. Panduan linear-model-nya menuliskan prediksi sebagai intersep ditambah kombinasi fitur berbobot (linear models), sedangkan LogisticRegression.decision_function mengembalikan skor kepercayaan yang berkaitan dengan jarak bertanda dari hyperplane (dokumentasi LogisticRegression). Skor tersebut bukan probabilitas. Model logistik dapat menerapkan sigmoid,
yang memetakan menjadi sekitar . Nilai itu adalah perkiraan probabilitas yang dihasilkan fungsi link model; itu bukan makna perkalian titik dengan sendirinya, dan apakah suatu perkiraan terkalibrasi dengan baik adalah pertanyaan terpisah. Dalam dokumentasi yang sama, API yang mengembalikan perkiraan probabilitas adalah predict_proba.
Operasi yang sama dapat berarti kompatibilitas dalam attention
Dalam perhitungan attention, query dan key sama-sama merupakan vektor representasi. Perkalian titiknya, , adalah skor kompatibilitas yang digunakan untuk membandingkan key tersebut dengan key lain bagi query itu. Aritmetikanya tidak berubah: pasangkan koordinat yang sesuai, kalikan, lalu jumlahkan.
Interpretasinya berbeda dari contoh fitur. Dalam , berperan sebagai parameter dan sebagai masukan, sehingga merupakan kontribusi koordinat terhadap satu skor model. Dalam , kedua vektor berasal dari representasi, sehingga satu hasil kali hanyalah bagian dari perhitungan kompatibilitas—bukan otomatis penjelasan kausal tentang mengapa sebuah token penting. Pelajaran 041 mengikuti skor ini melalui penskalaan dan softmax; perkalian titik mentah tetap muncul lebih dahulu.
NumPy menjaga implementasi tetap dekat dengan aljabar
Untuk larik satu dimensi, numpy.dot menghitung inner product kedua vektor dan mengembalikan skalar. Perkalian elemen demi elemen berguna ketika tujuannya adalah memeriksa kontribusi sebelum menjumlahkannya:
import numpy as np
x = np.array([2.0, 0.5, 4.0, 3.0])
w = np.array([1.2, -0.8, 0.0, 0.4])
b = -1.7
contributions = w * x
raw_score = np.dot(w, x)
classifier_score = raw_score + b
assert np.allclose(contributions.sum(), raw_score)
print(contributions)
print(raw_score)
print(classifier_score)
Outputnya adalah:
[ 2.4 -0.4 0. 1.2]
3.2
1.5
assert memeriksa identitas utama: penjumlahan hasil kali koordinat yang terlihat harus sama dengan pemanggilan perkalian titik yang ringkas. Menyimpan kedua bentuk ini dalam notebook debugging membuat skor lebih mudah diaudit daripada memperlakukan dot sebagai kotak hitam.
Kasus batas menangkap kesalahan yang tampak masuk akal
Empat pemeriksaan mencegah sebagian besar kesalahan pemula:
- Bentuk yang sama bukan berarti makna yang sama. Jika urutan fitur diubah tetapi urutan bobot tidak, NumPy masih dapat mengalikan larik berbentuk . Misalnya, memasangkan bobot di atas dengan menghasilkan , bukan . Kodenya berjalan; masukan modelnya salah.
- Vektor nol menghasilkan perkalian titik nol. Jika setiap fitur nol, maka untuk setiap . Dengan bias, skor pengklasifikasi tetap . Jadi, skor nol tidak membuktikan bahwa semua fitur saling meniadakan, dan vektor nol tidak memiliki arah untuk interpretasi berbasis sudut.
- Negatif tidak otomatis berarti buruk. Fitur negatif dan bobot negatif menghasilkan kontribusi positif. Misalnya, . Tanda tersebut menjelaskan hasil kali dalam model ini, bukan label moral untuk fitur.
- Skor bukan probabilitas. Nilai mentah dapat berupa , , atau . Hanya aturan keluaran yang dipilih secara eksplisit—seperti ambang, sigmoid, atau softmax—yang mengubah skor itu menjadi keputusan atau perkiraan ternormalisasi.
Pelajaran berikutnya berpindah dari satu skor berbobot ke pertanyaan geometris yang berbeda: seberapa jauh dua titik ketika gagasan ukuran yang dipilih berubah? Halaman kursus Math for AI mencantumkan Pelajaran 043: Distance depends on the chosen geometry sebagai langkah berikutnya.
Uji pemahamanmu
Question 1
Show the step-by-step solution
Misalkan dan . Hitung ketiga kontribusi koordinat dan perkalian titiknya. Suku mana yang menurunkan skor?
Hasil kali yang berpasangan adalah
Jumlahkan dalam urutan koordinat:
Suku kedua dan ketiga menurunkan total karena keduanya negatif. Suku ketiga memiliki besar penurunan yang lebih besar, yaitu bukannya .
Question 2
Show the step-by-step solution
Untuk dan , hitung skor dan jelaskan mengapa fitur ketiga tidak mengubahnya.
Kalikan koordinat demi koordinat:
Jadi, skornya adalah
Fitur ketiga bernilai , tetapi bobotnya nol, sehingga hasil kalinya nol. Untuk skor hasil fitting ini, koordinat tersebut diabaikan; ini tidak berarti sinyal dasarnya tidak akan pernah penting dalam model lain atau setelah pelatihan ulang.
Question 3
Show the step-by-step solution
Sebuah pengklasifikasi memiliki , , dan . Hitung skor afinnya dan terapkan ambang nol.
Pertama hitung perkalian titik:
Kemudian tambahkan bias:
Skornya tepat berada di ambang. Dengan aturan , masukan ini ditetapkan ke kelas . Aturan yang menggunakan ketat akan membuat konvensi batas lebih jelas dan dapat menetapkan kelas yang berbeda.
Question 4
Show the step-by-step solution
Urutan fitur yang benar adalah dengan bobot . Sebuah bug meneruskan . Hitung kedua skor dan identifikasi kegagalannya.
Dengan urutan yang dimaksud,
Dengan vektor fitur yang diubah urutannya,
Kedua larik memiliki bentuk , sehingga pemeriksaan bentuk saja tidak akan menangkap kesalahan ini. Hasil kali memasangkan bobot dengan makna fitur yang salah; skema data harus mempertahankan urutan koordinat sekaligus bentuk larik.
Question 5
Show the step-by-step solution
Sebuah fitur yang telah dipusatkan bernilai dan bobot yang dipelajarinya adalah . Apakah koordinat ini menurunkan skor?
Hitung hasil kalinya, jangan menilainya hanya dari tanda fitur:
Koordinat itu menaikkan skor sebesar . Kedua tanda negatif saling meniadakan. Dalam ruang fitur yang dipusatkan atau diubah dengan cara lain, nilai fitur negatif adalah angka biasa, bukan kesalahan.
Question 6
Show the step-by-step solution
Skor pengklasifikasi mentah adalah . Apakah merupakan probabilitas? Jika model secara eksplisit menggunakan link sigmoid, angka berapa yang dihasilkannya sebelum membahas kalibrasi?
Skor mentah bukan probabilitas: nilainya dapat berada di luar interval . Sigmoid menghasilkan
Jadi, fungsi link menghasilkan sekitar . Menyebutnya sebagai perkiraan probabilitas yang berguna memerlukan model dan asumsi kalibrasinya; perkalian titik saja hanya menghasilkan skor .
Question 7
Show the step-by-step solution
Di NumPy, x.shape == (4,) dan w.shape == (4,), tetapi skor tiba-tiba berubah setelah refaktor pipeline data. Berikan satu pemeriksaan numerik yang dapat mengungkap bug urutan koordinat dengan menggunakan contoh yang dikerjakan.
Hitung ulang hasil kali elemen demi elemen dan bandingkan jumlahnya dengan skor berurutan yang diharapkan:
Kemudian cetak nama fitur di samping nilainya sebelum perkalian titik. Jika pipeline menghasilkan sementara bobot tetap dalam urutan semula, hasil kali yang terlihat menjadi dan berjumlah . Bentuk larik tetap kompatibel, sehingga selain pemeriksaan bentuk diperlukan tabel kontribusi atau assertion urutan fitur bernama.
Question 8
Show the step-by-step solution
Perbandingan bergaya attention menggunakan dan . Hitung dan jelaskan satu perbedaan interpretasi dari dalam pengklasifikasi.
Pasangkan lalu jumlahkan:
Hasilnya adalah skor kompatibilitas antara query dan key. Dalam pengklasifikasi, adalah vektor parameter dan adalah masukan, sehingga setiap merupakan kontribusi koordinat terhadap skor fitur. Dalam attention, dan sama-sama merupakan representasi; hasil kali koordinat berkontribusi pada perbandingan keduanya tetapi tidak otomatis menjadi atribusi fitur kausal.