Kursus Matematika untuk AI · Pelajaran 2 dari 180
Fungsi adalah mesin yang dapat digunakan kembali untuk perhitungan AI
Beralih dari variabel ke fungsi: evaluasi pemetaan masukan-aturan-keluaran, gabungkan perhitungan sederhana, dan lihat mengapa satu model dapat memproses banyak contoh.
Dalam Pelajaran 1, variabel memberikan nama untuk masukan, parameter, dan keluaran. Fungsi mengemas hubungan antara variabel-variabel tersebut menjadi aturan yang dapat digunakan kembali.
Struktur itu sudah cukup untuk menggambarkan tindakan inti inferensi. Model menerima masukan, menerapkan aturan yang ditentukan oleh parameternya, lalu mengembalikan keluaran. Di akhir pelajaran ini, Anda akan mampu mengevaluasi fungsi, memisahkan aturan dari satu perhitungan tertentu, dan menerjemahkan hubungan yang sama ke dalam Python.
Satu aturan, banyak evaluasi
Perhatikan fungsi
Notasi dibaca “ dari ”. Notasi itu menamai keluaran yang dihasilkan ketika fungsi menerima nilai masukan .
Untuk :
Untuk :
Ini adalah dua evaluasi dari satu fungsi. Aturan tidak berubah.
Pada keadaan ini, f((2)) = 2x menghasilkan 4. Memasukkan kembali 2 dengan aturan yang sama selalu menghasilkan keluaran yang sama.
Gambaran mesin ini berguna selama kita mengingat apa yang dihilangkannya. Fungsi matematika tidak harus diimplementasikan melalui langkah-langkah fisik di dalam sebuah kotak. Janji utamanya adalah pemetaan: masukan yang diizinkan masuk, lalu satu keluaran yang telah ditentukan keluar.
Model adalah fungsi dengan parameter
Aturan skor kecil dari Pelajaran 1 adalah
Kita dapat menamainya sebagai fungsi:
Titik koma adalah konvensi yang membantu. Tanda ini memisahkan masukan biasa dari parameter dan . Tanda ini tidak menciptakan jenis aritmetika baru.
Setelah pelatihan selesai, misalkan parameter yang tersimpan adalah dan . Model yang telah diterapkan kemudian merupakan fungsi
Fungsi itu dapat memproses banyak masukan:
Pelatihan memilih nilai parameter yang mendefinisikan aturan model yang diterapkan. Inferensi mengevaluasi aturan tersebut untuk masukan baru.
Notasi fungsi membuat alur mudah dibaca
Misalkan sebuah aplikasi terlebih dahulu mengubah pengukuran mentah menjadi nilai ternormalisasi, lalu mengubah nilai tersebut menjadi skor.
Misalkan
adalah fungsi normalisasi, dan
adalah fungsi penilaian. Untuk , evaluasi alur dari bagian dalam ke luar:
Notasi gabungan
disebut komposisi. Keluaran dari menjadi masukan bagi .
Pola ini muncul di seluruh sistem AI. Pra-pemrosesan menghasilkan fitur; lapisan model mengubah representasi; fungsi terakhir mengubah skor menjadi probabilitas atau keputusan. Pelajaran selanjutnya akan menunjukkan bahwa aturan rantai yang digunakan dalam backpropagation mengikuti jalur ketergantungan yang sama secara terbalik.
Aturan yang sama dalam Python
Sintaks fungsi Python membuat struktur masukan-aturan-keluaran terlihat jelas. Tutorial Python menjelaskan def sebagai cara memperkenalkan definisi fungsi.
def normalize(x):
return (x - 10) / 5
def score(z):
return 2 * z + 1
def model(x):
normalized = normalize(x)
return score(normalized)
print(model(20)) # 5.0
print(model(5)) # -1.0
Nama lokal normalized mencatat keluaran perantara. Fungsi model mengomposisikan kedua aturan tanpa menduplikasi salah satunya.
Notasi matematika dan sintaks Python berbeda:
| Gagasan | Matematika | Python |
|---|---|---|
| Mendefinisikan aturan | def f(x): return 2*x + 1 | |
| Mengevaluasinya | f(3) | |
| Mengomposisikan aturan | g(f(x)) | |
| Menamai hasil perantara | z = f(x) |
Korespondensi ini berguna, tetapi tidak sempurna. Fungsi Python dapat membaca berkas, mengubah keadaan eksternal, menggunakan keacakan, atau mengembalikan hasil yang berbeda pada waktu yang berbeda. Fungsi matematika, menurut definisi, menetapkan satu keluaran untuk setiap masukan. Ketika tulisan tentang pembelajaran mesin menyebut prosedur stokastik sebagai fungsi, keadaan acak harus dianggap sebagai bagian dari masukan lengkap atau deskripsi model.
Kasus batas: tidak setiap aturan mendefinisikan keluaran yang valid di semua tempat
Perhatikan
Ekspresi tersebut tidak dapat menghasilkan keluaran bilangan real pada karena pembagian dengan nol tidak terdefinisi. Karena itu, hanya mengatakan “ menerima bilangan real” terlalu longgar. Masukan real yang diizinkan tidak mencakup nol.
Hal ini penting dalam kode AI. Fungsi normalisasi yang membagi dengan simpangan baku suatu fitur membutuhkan rencana untuk varians nol. Logaritma yang digunakan dalam fungsi kerugian membutuhkan masukan positif. Fungsi tensor mengharapkan bentuk yang kompatibel. Fungsi memiliki kondisi validitas; Pelajaran 3 akan memberi kondisi-kondisi tersebut nama yang tepat.
Uji pemahaman
Pertanyaan 1
Evaluasikan f(x) = 3x - 2 pada x = 4 dan x = -1.
Tampilkan solusi langkah demi langkah
Untuk , substitusikan di setiap tempat muncul:
Untuk :
Aturan fungsinya tetap. Hanya nilai masukan yang berubah.
Pertanyaan 2
Sebuah aturan memetakan masukan 2 ke keluaran 5 pada satu evaluasi dan ke keluaran 7 pada evaluasi lain, tanpa menyebutkan masukan atau keadaan lain. Apakah aturan itu merupakan fungsi matematika yang hanya bergantung pada masukan tersebut?
Tampilkan solusi langkah demi langkah
Tidak. Fungsi harus menetapkan tepat satu keluaran untuk setiap masukan yang diizinkan. Masukan yang sama, yaitu , tidak dapat dipetakan ke dan sekaligus oleh satu fungsi yang tidak berubah.
Prosedur tersebut mungkin bergantung pada masukan yang tidak disebutkan, seperti keadaan acak atau waktu. Jika keadaan itu disertakan, fungsi yang lebih besar dapat didefinisikan—misalnya, dengan sebagai nilai awal acak. Namun, aturan tersebut bukan fungsi yang hanya bergantung pada masukan yang dinyatakan.
Pertanyaan 3
Misalkan n(x) = (x - 4) / 2 dan g(z) = z². Hitung g(n(10)) langkah demi langkah.
Tampilkan solusi langkah demi langkah
Evaluasikan fungsi bagian dalam terlebih dahulu:
Gunakan keluaran tersebut sebagai masukan untuk :
Dengan demikian, fungsi komposisi tersebut memetakan ke .
Pertanyaan 4
Dalam f(x; w, b) = wx + b, apa yang berubah selama inferensi biasa dan apa yang berubah selama pelatihan?
Tampilkan solusi langkah demi langkah
Selama inferensi biasa, model menerima nilai yang berbeda, sedangkan parameter tersimpan dan biasanya tetap. Pelatihan adalah proses yang mengubah dan agar sesuai dengan data.
Kedua tahap mengevaluasi fungsi, tetapi peran variabelnya berbeda:
Pertanyaan 5
Mengapa implementasi h(x) = 1/x harus menangani x = 0 sebelum evaluasi?
Tampilkan solusi langkah demi langkah
Pada , aturan meminta , yang tidak memiliki nilai bilangan real. Masukan tersebut berada di luar domain real yang valid untuk aturan itu.
Implementasi harus menolak masukan tersebut, memilih nilai pengganti yang didefinisikan secara terpisah, atau merumuskan ulang operasinya. Menambahkan bilangan kecil secara diam-diam mengubah fungsi yang dihitung dan harus didokumentasikan sebagai konvensi numerik, bukan disajikan sebagai kesetaraan yang tepat.