Apa perbedaan mendasar antara model ML dan fungsi?
Sebuah model yang secara kasar dapat didefinisikan sebagai setiap desain yang mampu menyelesaikan tugas ML. Contoh model adalah jaringan saraf, pohon keputusan, jaringan Markov, dll.
Sebuah fungsi dapat didefinisikan sebagai himpunan pasangan memerintahkan dengan satu-ke-banyak properti dari domain ke co-domain / range.
Apa perbedaan mendasar di antara keduanya secara formal?
Jawaban
Meskipun ini mungkin tidak berlaku untuk semua kasus, saya suka menganggap model sebagai sekumpulan fungsi, jadi inilah perbedaannya.
Mengapa definisi ini berguna? Jika Anda memikirkan jaringan saraf dengan vektor parameter$\theta \in \mathbb{R}^m$sebagai model, maka kombinasi spesifik dari parameter ini mewakili fungsi tertentu. Misalnya, kita memiliki jaringan saraf dengan 2 masukan, 1 neuron tersembunyi (dengan fungsi aktivasi ULT, dilambangkan sebagai$\phi$, yang mengikuti kombinasi linier dari masukan), dan 1 neuron keluaran (dengan fungsi aktivasi sigmoid, $\sigma$). Input terhubung ke satu-satunya unit tersembunyi dan koneksi ini memiliki bobot yang bernilai nyata. Jika kita mengabaikan bias, maka ada 3 parameter yang dapat dikelompokkan dalam vektor parameter$\theta = [\theta_1, \theta_2, \theta_3] \in \mathbb{R}^3 $. Fungsi arbitrer yang diwakili oleh jaringan neural ini dapat didefinisikan sebagai berikut
$$ f(x_1, x_2) = \sigma (\theta_3 \phi(x_1 \theta_1 + x_2 \theta_2)) \tag{1}\label{1}, $$
Dalam kasus ini, persamaan \ ref {1} mewakili model, dengan mempertimbangkan ruang parameter $\Theta = \mathbb{R}^3$. Untuk setiap nilai tertentu itu$\theta_1, \theta_2,$ dan $\theta_3$ dapat mengambil, kami memiliki fungsi (deterministik) tertentu $f: \mathbb{R} \rightarrow [0, 1]$.
Contohnya, $\theta = [0.2, 10, 0.4]$ mewakili beberapa fungsi tertentu, yaitu
$$ f(x_1, x_2) = \sigma (0.4 \phi(x_1 0.2 + x_2 10.0)) $$Anda dapat memplot fungsi ini (dengan Matplotlib) untuk beberapa nilai input untuk melihat tampilannya. Catat itu$x_1$ dan $x_2$ bisa sewenang-wenang (karena itu hanya input, yang saya asumsikan bilangan real).
Interpretasi model ini konsisten dengan definisi kelas hipotesis (atau ruang) dalam teori pembelajaran komputasi, yang pada dasarnya adalah sekumpulan fungsi . Interpretasi ini juga konsisten dengan teorema aproksimasi universal untuk jaringan neural , yang menyatakan bahwa Anda dapat menemukan sekumpulan parameter tertentu sehingga Anda dapat menghitung kira-kira beberapa fungsi tertentu dengan baik, mengingat beberapa kondisi terpenuhi. Interpretasi ini juga dapat diterapkan ke pohon keputusan, HMM, RNN, dan semua model ML ini.
Istilah model juga terkadang digunakan untuk merujuk pada distribusi probabilitas, misalnya dalam konteks pembelajaran penguatan, dimana $p(s', r \mid s, a)$ adalah distribusi probabilitas selama status berikutnya $s'$ dan hadiah $r$ mengingat keadaan saat ini $s$ dan aksi $a$ diambil dalam keadaan itu $s$. Periksa pertanyaan ini untuk lebih jelasnya. Distribusi probabilitas juga dapat dianggap sebagai sekumpulan fungsi (kemungkinan besar tak terhingga), tetapi ini bukan hanya sekumpulan fungsi, karena Anda juga dapat mengambil sampel dari distribusi probabilitas (yaitu ada beberapa stokastisitas yang terkait dengan distribusi probabilitas). Jadi, distribusi probabilitas dapat dianggap sebagai model statistik atau dapat digunakan untuk merepresentasikannya. Periksa jawaban ini .
Model apa pun dapat dianggap sebagai fungsi. Istilah "model" secara sederhana menunjukkan suatu fungsi yang digunakan dengan cara tertentu, yaitu untuk mendekati beberapa fungsi lain yang menarik.
Secara sederhana, model jaringan saraf adalah aproksimeter fungsi yang mencoba menyesuaikan kurva fungsi hipotesis. Fungsi itu sendiri memiliki persamaan yang akan menghasilkan kurva tetap:
Jika kita memiliki persamaan (yaitu, fungsinya), kita tidak memerlukan jaringan saraf untuk data masukannya. Namun, ketika kita hanya memiliki beberapa gagasan tentang kurvanya (atau data input dan output), kita mencari aproksimeter fungsi, sehingga untuk data input baru yang tidak terlihat, kita dapat menghasilkan output.
Melatih jaringan saraf ini adalah tentang mendapatkan pendekatan sedekat mungkin dengan aslinya (fungsi tidak diketahui).
Setiap model adalah sebuah fungsi. Tidak setiap fungsi adalah model.
Sebuah fungsi secara unik memetakan elemen dari beberapa set ke elemen set lain, mungkin set yang sama.
Setiap model AI adalah fungsi karena diimplementasikan sebagai program komputer dan setiap program komputer adalah fungsi yang secara unik memetakan kombinasi urutan bit dalam memori dan penyimpanan saat program dimulai, ditambah masukan, ke urutan bit dalam memori dan penyimpanan. , ditambah keluaran, pada penghentian program.
Namun, 'model' secara khusus merupakan representasi dari sesuatu. Ambil kurva logistik:
$$ f(x) = \frac{L}{1 + e^{k(x-x_{0})} } $$
Diberikan nilai riil sewenang-wenang untuk $L$, $k$, dan $x_{0}$, itulah fungsinya. Namun, mengingat lebih banyak nilai spesifik yang dipelajari dari data, ini bisa menjadi model pertumbuhan populasi.
Demikian pula, jaringan neural dengan bobot yang diinisialisasi ke semua nol adalah fungsi, tetapi fungsi yang sangat tidak menarik dengan codomain yang agak terbatas $\{0\}$. Namun, jika Anda kemudian melatih jaringan dengan memberinya banyak data sampai bobotnya bertemu untuk memberikan prediksi atau tindakan yang secara kasar sesuai dengan beberapa proses pembuatan dunia nyata, sekarang Anda memiliki model proses pembuatan tersebut.