Lompat ke isi

Pemelajaran mesin daring: Perbedaan antara revisi

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Konten dihapus Konten ditambahkan
Menambahkan konten: contoh
Baris 14: Baris 14:
Model pembelajaran daring murni dalam kategori ini akan belajar hanya berdasarkan input baru <math>(x_{t+1}, y_{t+1})</math>, prediktor terbaik saat ini <math>f_{t}</math>, dan beberapa informasi tambahan yang disimpan (yang biasanya diharapkan memiliki kebutuhan penyimpanan yang independen dari ukuran data pelatihan). Untuk beberapa formulasi, misalnya [[metode kernel]], pemelajaran daring murni tidak mungkin dilakukan. Namun, terdapat suatu bentuk pemelajaran daring campuran dengan menggunakan algoritma rekursif dengan <math>f_{t+1}</math> diperbolehkan bergantung pada <math>f_t</math> dan semua titik data sebelumnya <math>(x_1, y_1), \ldots, (x_t, y_t)</math>. Dalam kasus ini, kebutuhan ruang penyimpanan tidak lagi dapat dijamin bernilai konstan karena ruang penyimpanan tersebut memerlukan penyimpanan titik-titik data sebelumnya. Namun, solusi ini mungkin saja membutuhkan waktu komputasi yang lebih sedikit jika dibandingkan dengan teknik pemelajaran lompok (''batch learning'').
Model pembelajaran daring murni dalam kategori ini akan belajar hanya berdasarkan input baru <math>(x_{t+1}, y_{t+1})</math>, prediktor terbaik saat ini <math>f_{t}</math>, dan beberapa informasi tambahan yang disimpan (yang biasanya diharapkan memiliki kebutuhan penyimpanan yang independen dari ukuran data pelatihan). Untuk beberapa formulasi, misalnya [[metode kernel]], pemelajaran daring murni tidak mungkin dilakukan. Namun, terdapat suatu bentuk pemelajaran daring campuran dengan menggunakan algoritma rekursif dengan <math>f_{t+1}</math> diperbolehkan bergantung pada <math>f_t</math> dan semua titik data sebelumnya <math>(x_1, y_1), \ldots, (x_t, y_t)</math>. Dalam kasus ini, kebutuhan ruang penyimpanan tidak lagi dapat dijamin bernilai konstan karena ruang penyimpanan tersebut memerlukan penyimpanan titik-titik data sebelumnya. Namun, solusi ini mungkin saja membutuhkan waktu komputasi yang lebih sedikit jika dibandingkan dengan teknik pemelajaran lompok (''batch learning'').


Strategi yang umumnya digunakan untuk menyelesaikan permasalahan di atas adalah dengan belajar menggunakan kelompok kecil (''mini-batch)'' yang memproses sebuah kelompok kecil dari <math> b \ge 1 </math> titik-titik data dalam satu waktu. Strategi ini bisa dianggap sebagai pemelajaran daring semu (''pseudo-online'') untuk <math> b </math> yang jauh lebih kecil dari total jumlah data pelatihan. Teknik ini biasanya digunakan dengan berulang-ulang melalui data pelatihan untuk mendapatkan versi [[out-of-core]] teroptimasi dari algoritma pemelajaran mesin, seperti [[penurunan gradien stokastik]] yang ketika digabungkan dengan [[perambatan mundur]], merupakan strategi metode pelatihan ''de facto'' untuk [[jaringan saraf buatan]].
Strategi yang umumnya digunakan untuk menyelesaikan permasalahan di atas adalah dengan belajar menggunakan kelompok kecil (''mini-batch)'' yang memproses sebuah kelompok kecil dari <math> b \ge 1 </math> titik-titik data dalam satu waktu. Strategi ini bisa dianggap sebagai pemelajaran daring semu (''pseudo-online'') untuk <math> b </math> yang jauh lebih kecil dari total jumlah data pelatihan. Teknik ini biasanya digunakan dengan berulang-ulang melalui data pelatihan untuk mendapatkan versi [[out-of-core]] teroptimasi dari algoritma pemelajaran mesin, seperti [[penurunan gradien stokastik]] yang ketika digabungkan dengan [[algoritme perambatan mundur|perambatan mundur]], merupakan strategi metode pelatihan ''de facto'' untuk [[jaringan saraf tiruan]].

=== Contoh: ''linear least squares'' ===
{{Main| Linear least squares (matematika)}}
Contoh sederhana dari ''linear least squares'' digunakan untuk menjelaskan berbagai konsep dalam pemelajaran daring. Konsep-konsep tersebut cukup umum sehingga dapat diterapkan pada pendekatan lain. Contohnya, dengan fungsi kerugian konveks yang berbeda.

=== Pemelajaran ''batch'' ===
Pertimbangkan dalam pemelajaran terawasi terdapat fungsi linear <math>f</math> yang akan dipelajari:
: <math> f(x_j) = \langle w,x_j\rangle = w \cdot x_j </math>
dengan <math> x_j \in \mathbb{R}^d</math> adalah vektor masukan (titik-titik data atau ''data points'') dan <math>w \in \mathbb{R}^d </math> adalah vektor filter linear.
Di sini tujuan yang ingin dicapai adalah menghitung vektor filter <math>w</math> dengan fungsi kerugian kuadrat (''square loss function''):
:<math> V(f(x_j), y_j) = (f(x_j) - y_j)^2 = (\langle w,x_j\rangle - y_j)^2 </math>
Fungsi tersebut digunakan untuk menghitung vektor <math>w</math> yang meminimalkan kerugian empiris:
: <math> I_n[w] = \sum_{j=1}^{n} V(\langle w,x_j\rangle,y_j) = \sum_{j=1}^{n} (x_j^Tw-y_j)^2 </math>
dengan
: <math>y_j \in \mathbb{R} </math>.
Di sini, <math>y_j</math> adalah nilai target yang bersesuaian dengan masukan <math>x_j</math> dan berada di ruang <math>\mathbb{R} </math>.

Misal, <math>X</math> adalah matriks data berukuran <math> i \times d </math> dan <math>y \in \mathbb{R}^i</math> adalah kolom nilai target setelah kedatangan <math>i</math> titik-titik data.
Asumsikan matriks kovarian <math> \Sigma_i = X^T X</math> dapat diinvers (jika tidak, pendekatan dengan regularisasi Tikhonov lebih disukai), solusi terbaik <math> f^*(x) = \langle w^*, x \rangle </math> untuk masalah ''linear least squares'' diberikan oleh
: <math> w^* = (X^TX)^{-1}X^T y = \Sigma_i^{-1} \sum_{j=1}^{i} x_j y_j </math>.

Sekarang, perhitungan kovarian matriks <math> \Sigma_i = \sum_{j=1}^{i} x_j x_j^T </math> memerlukan waktu <math> O(id^2) </math>, menginverskan matriks <math>d \times d</math> memerlukan waktu <math>O(d^3)</math>, sementara perkalian sisanya memerlukan waktu <math>O(d^2)</math>, memberikan total waktu yang diperlukan sebesar <math>O(id^2 + d^3)</math>. Ketika terdapat total <math>n</math> titik di himpunan data, untuk menghitung ulang solusi setelah kedatangan dari setiap titik data <math>i=1, \ldots, n</math>, pendekatan naif akan membutuhkan waktu <math>O(n^2d^2 + nd^3)</math>. Di sini bisa dilakukan alternatif dengan menyimpan matriks <math> \Sigma_i </math>, kemudian memperbarui solusi dengan menambahkan <math> x_{i+1}x_{i+1}^T </math> setiap kali kedatangan titik data baru, dapat menurunkan kompleksitas menjadi <math> O(d^2) </math>. Pendekatan ini menurunkan kompleksitas waktu secara keseluruhan menjadi <math>O(nd^2 + nd^3) = O(nd^3)</math>, tetapi dengan tambahan penyimpanan sebesar <math> O(d^2) </math> untuk <math> \Sigma_i </math>.<ref name="lorenzo">L. Rosasco, T. Poggio, Machine Learning: a Regularization Approach, MIT-9.520 Lectures Notes, Manuscript, Dec. 2015. Chapter 7 - Online Learning</ref>

===Pemelajaran daring dengan ''least squares'' rekursif===
Algoritma ''Recursive Least Squares'' (RLS) merupakan pendekatan daring (''online approach'') terhadap masalah ''least squares''. Algoritma ini memungkinkan kita untuk menghitung solusi dari masalah least squares secara bertahap, dengan memperbarui solusi setiap kali ada ''datapoint'' baru. Hal tersebut dapat ditunjukkan dengan menginisialisasi
:<math> \textstyle w_0 = 0 \in \mathbb{R}^d</math> dan <math>\textstyle \Gamma_0 = I \in \mathbb{R}^{d \times d}</math>
dengan <math>I</math> adalah matriks identitas.

Pada setiap iterasi ke-<math>i</math>, algoritma akan menghitung <math>\Gamma_i</math> dan <math>w_i</math> dengan memperbarui solusi dari iterasi sebelumnya.

Solusi dari masalah ''linear least square'' yang diberikan pada bagian sebelumnya dapat dihitung dengan iterasi berikut:
: <math> \Gamma_i=\Gamma_{i-1}-\frac{\Gamma_{i-1}x_i x_i^T \Gamma_{i-1}}{1+x_i^T\Gamma_{i-1}x_i} </math>
dengan <math>x_i</math> merupakan vektor masukan dari datapoint ke-<math>i</math> dan <math>\Gamma_i-1</math> merupakan matriks kovarian dari iterasi sebelumnya. Adapun untuk vektor bobot diperbarui <math>w_i</math> dengan rumus
: <math>w_i = w_{i-1}-\Gamma_ix_i(x_i^T w_{i-1}-y_i)</math>
dengan <math>y_i</math> adalah nilai target yang sesuai dengan ''datapoint'' ke-<math>i</math>.

Algoritma iterasi di atas dapat dibuktikan dengan menggunakan induksi pada <math> i </math>.<ref>{{cite book|last1=Yin|first1=Harold J. Kushner, G. George|title=Stochastic approximation and recursive algorithms and applications|url=https://archive.org/details/stochasticapprox00yinh|url-access=limited|date=2003|publisher=Springer|location=New York|isbn=978-0-387-21769-7|pages=[https://archive.org/details/stochasticapprox00yinh/page/n30 8]–12|edition=Second}}</ref> Pembuktian tersebut juga menyatakan bahwa <math> \Gamma_i = \Sigma_i^{-1} </math>. Algoritma RLS juga dapat dipandang dalam konteks filter adaptif (lihat [[Recursive least squares|RLS]]).

Kompleksitas waktu untuk <math>n</math> langkah dari algoritma ini adalah <math>O(nd^2)</math>, yang jauh lebih cepat daripada Kompleksitas pemelajaran ''batch'' yang sesuai. Di setiap langkah <math>i</math>, perlu menyimpan matriks <math>\Gamma_i</math>, keperluan penyimpanan ini konstan pada <math>O(d^2)</math>. Untuk kasus ketika matriks kovarian <math> \Sigma_i </math> tidak bisa diinvers, algoritma dapat disesuaikan dengan menggunakan versi teregulasi dari fungsi kerugian <math> \sum_{j=1}^{n} (x_j^Tw - y_j)^2 + \lambda || w ||_2^2 </math>. Kemudian, akan mudah menunjukkan algoritma yang sama dapat bekerja dengan <math> \Gamma_0 = (I + \lambda I)^{-1} </math> dan ketika iterasi berlangsung akan menghasilkan <math> \Gamma_i = (\Sigma_i + \lambda I)^{-1} </math>.<ref name="lorenzo" />



==Lihat juga==
==Lihat juga==
Baris 32: Baris 72:
* [[Turunan gradien stokastik]]
* [[Turunan gradien stokastik]]


'''Learning models'''
'''Model pemelajaran'''
* [[Teori Resonansi Adaptif]]
* [[Teori Resonansi Adaptif]]
* ''[[Hierarchical temporal memory]]''
* ''[[Hierarchical temporal memory]]''

Revisi per 14 Desember 2023 17.00

Dalam ilmu komputer, pemelajaran mesin daring (bahasa Inggris: online machine learning atau online learning) adalah suatu paradigma dalam pemelajaran mesin yang menekankan pembaruan atau penyesuaian model secara dinamis seiring dengan masuknya data baru secara real-time. [1] Dalam metode ini, pemelajar bertujuan untuk mempelajari dan meningkatkan prediktor terbaik untuk data masa depan pada setiap langkah, berbeda dengan pemelajaran lompok (batch learning) yang menggunakan seluruh himpunan data pelatihan sekaligus. Pemelajaran mesin daring umumnya digunakan ketika tidak memungkinkan secara komputasional untuk melakukan proses pelatihan di keseluruhan data himpunan sehingga memerlukan algoritma out-of-core. Selain itu, metode ini juga diterapkan dalam kondisi ketika algoritma perlu beradaptasi secara dinamis dengan pola-pola baru dalam data, atau ketika data itu sendiri dihasilkan sebagai fungsi waktu, misalnya, prediksi harga saham. Namun, perlu dicatat bahwa algoritma pemelajaran daring dapat menghadapi tantangan seperti catastrophic interference, suatu fenomena dengan pemelajaran informasi baru menghapus pengetahuan yang sudah diperoleh sebelumnya. Masalah ini dapat diatasi dengan menggunakan pendekatan incremental learning, memungkinkan algoritma untuk belajar dan beradaptasi secara iteratif tanpa mengakibatkan gangguan yang signifikan pada pola-pola yang telah dipelajari sebelumnya.

Pengenalan

Dalam konteks paradigma pemelajaran terarah, fungsi yang akan dipelajari oleh model adalah dengan sebagai ruang masukan (input) dan sebagai label atau ruang keluaran (output). Fungsi ini diharapkan dapat memprediksi dengan baik titik-titik data yang diambil dari distribusi probabilitas bersama pada . Namun dalam kenyataannya, pemelajar atau model tidak mengetahui true distribution terhadap titik-titik data dan biasanya hanya mengakses himpunan pelatihan yang berisi titik-titik data . Untuk mengukur seberapa baik prediksi model, digunakan fungsi kerugian , yang memberikan nilai dari selisih antara prediksi dan nilai sebenarnya . Ide utamanya adalah mengubah parameter dalam fungsi sedemikian rupa sehingga kesalahan (loss) pada himpunan data pelatihan menjadi sekecil mungkin. Dengan cara ini, model dapat memberikan prediksi yang lebih akurat pada data yang belum pernah dilihat sebelumnya. Bergantung pada jenis model yang digunakan, baik itu bersifat statistis maupun adversarial, dapat dirancang berbagai konsep kerugian (loss) yang mengarah pada algoritma pembelajaran yang berbeda.

Pandangan statistik pemelajaran daring

Dalam model pemelajaran statistik, sampel pelatihan diasumsikan diambil dari true distribution dengan tujuan meminimalkan "risiko" harapan

Pendekatan yang umum digunakan di situasi ini adalah memperkirakan sebuah fungsi melalui minimasi risiko empiris atau minimasi risiko empiris yang teregularisasi (biasanya regularisasi Tikhonov). Pemilihan fungsi kerugian di sini menyebabkan munculnya beberapa algoritma terkenal, seperti algoritma least squares yang teregularisasi dan support-vector machines.

Model pembelajaran daring murni dalam kategori ini akan belajar hanya berdasarkan input baru , prediktor terbaik saat ini , dan beberapa informasi tambahan yang disimpan (yang biasanya diharapkan memiliki kebutuhan penyimpanan yang independen dari ukuran data pelatihan). Untuk beberapa formulasi, misalnya metode kernel, pemelajaran daring murni tidak mungkin dilakukan. Namun, terdapat suatu bentuk pemelajaran daring campuran dengan menggunakan algoritma rekursif dengan diperbolehkan bergantung pada dan semua titik data sebelumnya . Dalam kasus ini, kebutuhan ruang penyimpanan tidak lagi dapat dijamin bernilai konstan karena ruang penyimpanan tersebut memerlukan penyimpanan titik-titik data sebelumnya. Namun, solusi ini mungkin saja membutuhkan waktu komputasi yang lebih sedikit jika dibandingkan dengan teknik pemelajaran lompok (batch learning).

Strategi yang umumnya digunakan untuk menyelesaikan permasalahan di atas adalah dengan belajar menggunakan kelompok kecil (mini-batch) yang memproses sebuah kelompok kecil dari titik-titik data dalam satu waktu. Strategi ini bisa dianggap sebagai pemelajaran daring semu (pseudo-online) untuk yang jauh lebih kecil dari total jumlah data pelatihan. Teknik ini biasanya digunakan dengan berulang-ulang melalui data pelatihan untuk mendapatkan versi out-of-core teroptimasi dari algoritma pemelajaran mesin, seperti penurunan gradien stokastik yang ketika digabungkan dengan perambatan mundur, merupakan strategi metode pelatihan de facto untuk jaringan saraf tiruan.

Contoh: linear least squares

Contoh sederhana dari linear least squares digunakan untuk menjelaskan berbagai konsep dalam pemelajaran daring. Konsep-konsep tersebut cukup umum sehingga dapat diterapkan pada pendekatan lain. Contohnya, dengan fungsi kerugian konveks yang berbeda.

Pemelajaran batch

Pertimbangkan dalam pemelajaran terawasi terdapat fungsi linear yang akan dipelajari:

dengan adalah vektor masukan (titik-titik data atau data points) dan adalah vektor filter linear. Di sini tujuan yang ingin dicapai adalah menghitung vektor filter dengan fungsi kerugian kuadrat (square loss function):

Fungsi tersebut digunakan untuk menghitung vektor yang meminimalkan kerugian empiris:

dengan

.

Di sini, adalah nilai target yang bersesuaian dengan masukan dan berada di ruang .

Misal, adalah matriks data berukuran dan adalah kolom nilai target setelah kedatangan titik-titik data. Asumsikan matriks kovarian dapat diinvers (jika tidak, pendekatan dengan regularisasi Tikhonov lebih disukai), solusi terbaik untuk masalah linear least squares diberikan oleh

.

Sekarang, perhitungan kovarian matriks memerlukan waktu , menginverskan matriks memerlukan waktu , sementara perkalian sisanya memerlukan waktu , memberikan total waktu yang diperlukan sebesar . Ketika terdapat total titik di himpunan data, untuk menghitung ulang solusi setelah kedatangan dari setiap titik data , pendekatan naif akan membutuhkan waktu . Di sini bisa dilakukan alternatif dengan menyimpan matriks , kemudian memperbarui solusi dengan menambahkan setiap kali kedatangan titik data baru, dapat menurunkan kompleksitas menjadi . Pendekatan ini menurunkan kompleksitas waktu secara keseluruhan menjadi , tetapi dengan tambahan penyimpanan sebesar untuk .[2]

Pemelajaran daring dengan least squares rekursif

Algoritma Recursive Least Squares (RLS) merupakan pendekatan daring (online approach) terhadap masalah least squares. Algoritma ini memungkinkan kita untuk menghitung solusi dari masalah least squares secara bertahap, dengan memperbarui solusi setiap kali ada datapoint baru. Hal tersebut dapat ditunjukkan dengan menginisialisasi

dan

dengan adalah matriks identitas.

Pada setiap iterasi ke-, algoritma akan menghitung dan dengan memperbarui solusi dari iterasi sebelumnya.

Solusi dari masalah linear least square yang diberikan pada bagian sebelumnya dapat dihitung dengan iterasi berikut:

dengan merupakan vektor masukan dari datapoint ke- dan merupakan matriks kovarian dari iterasi sebelumnya. Adapun untuk vektor bobot diperbarui dengan rumus

dengan adalah nilai target yang sesuai dengan datapoint ke-.

Algoritma iterasi di atas dapat dibuktikan dengan menggunakan induksi pada .[3] Pembuktian tersebut juga menyatakan bahwa . Algoritma RLS juga dapat dipandang dalam konteks filter adaptif (lihat RLS).

Kompleksitas waktu untuk langkah dari algoritma ini adalah , yang jauh lebih cepat daripada Kompleksitas pemelajaran batch yang sesuai. Di setiap langkah , perlu menyimpan matriks , keperluan penyimpanan ini konstan pada . Untuk kasus ketika matriks kovarian tidak bisa diinvers, algoritma dapat disesuaikan dengan menggunakan versi teregulasi dari fungsi kerugian . Kemudian, akan mudah menunjukkan algoritma yang sama dapat bekerja dengan dan ketika iterasi berlangsung akan menghasilkan .[2]


Lihat juga

Paradigma pemelajaran

Algoritma umum

Model pemelajaran


Referensi

  1. ^ Hoi, Steven C. H.; Sahoo, Doyen; Lu, Jing; Zhao, Peilin (2021-10-12). "Online learning: A comprehensive survey". Neurocomputing. 459. doi:10.1016/j.neucom.2021.04.112. 
  2. ^ a b L. Rosasco, T. Poggio, Machine Learning: a Regularization Approach, MIT-9.520 Lectures Notes, Manuscript, Dec. 2015. Chapter 7 - Online Learning
  3. ^ Yin, Harold J. Kushner, G. George (2003). Stochastic approximation and recursive algorithms and applicationsAkses gratis dibatasi (uji coba), biasanya perlu berlangganan (edisi ke-Second). New York: Springer. hlm. 8–12. ISBN 978-0-387-21769-7. 

Pranala luar