Artikel ini bukan mengenai daring dan luring.

|  |
| --- |
| Bagian dari seri |
| Pemelajaran mesindan Penggalian Data |
| Ilustrasi Jaringan saraf tiruan |
| Paradigma
* Pemelajaran terawasi
* Pemelajaran tak terawasi
* Pemelajaran mesin daring
* Pemelajaran mesin luring
* *Meta-learning*
* Pemelajaran semi terawasi
* Pemelajaran terawasi mandiri
* *Reinforcement learning*
* Pemelajaran berbasis aturan
* Pemelajaran mesin kuantum
 |
| Masalah
* Klasifikasi
* Model generatif
* Regresi
* Kluster
* Reduksi dimensi
* Estimasi densitas
* Deteksi anomali
* Pembersihan data
* AutoML
* Aturan asosiasi
* Analisis semantik
* Rekayasa fitur
* Pemelajaran fitur
 |
| Pemelajaran diawasi(**Klasifikasi** • **Regresi**) 
* Pohon keputusan
* Pemelajaran ensambel
	+ *Bagging*
	+ *boosting*
	+ Random forest
* *k*-NN
* Regresi linear
* Naive Bayes
* Jaringan saraf tiruan
* Regresi logistik
* Perseptron
* Support vector machine (SVM)
 |
| Klustering
* BIRCH
* CURE
* Hierarki
* *k*-means
* Fuzi
 |
| Reduksi dimensionalitas
* AKU
 |
| Jaringan saraf tiruan
* Pemelajaran dalam
* Jaringan saraf konvolusional
 |
| Diagnostik model
* Kurva belajar
 |
| * l
* b
* s
 |

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. 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 {\displaystyle f:X\to Y} dengan {\displaystyle X} sebagai ruang masukan (*input*) dan {\displaystyle Y} sebagai label atau ruang keluaran (*output*). Fungsi ini diharapkan dapat memprediksi dengan baik titik-titik data yang diambil dari distribusi probabilitas bersama {\displaystyle p(x,y)} pada {\displaystyle X\times Y}. Namun dalam kenyataannya, pemelajar atau model tidak mengetahui *true distribution* {\displaystyle p(x,y)} terhadap titik-titik data dan biasanya hanya mengakses himpunan pelatihan yang berisi titik-titik data {\displaystyle (x\_{1},y\_{1}),\ldots ,(x\_{n},y\_{n})}. Untuk mengukur seberapa baik prediksi model, digunakan fungsi kerugian {\displaystyle V:Y\times Y\to \mathbb {R} }, yang memberikan nilai dari selisih antara prediksi {\displaystyle f(x)} dan nilai sebenarnya {\displaystyle y}. Ide utamanya adalah mengubah parameter dalam fungsi {\displaystyle f} 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 {\displaystyle (x\_{i},y\_{i})} diasumsikan diambil dari *true distribution* {\displaystyle p(x,y)} dengan tujuan meminimalkan "risiko" harapan

{\displaystyle I[f]=\mathbb {E} [V(f(x),y)]=\int V(f(x),y)\,dp(x,y)\ .}
Pendekatan yang umum digunakan di situasi ini adalah memperkirakan sebuah fungsi {\displaystyle {\hat {f}}} 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 {\displaystyle (x\_{t+1},y\_{t+1})}, prediktor terbaik saat ini {\displaystyle f\_{t}}, 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 {\displaystyle f\_{t+1}} diperbolehkan bergantung pada {\displaystyle f\_{t}} dan semua titik data sebelumnya {\displaystyle (x\_{1},y\_{1}),\ldots ,(x\_{t},y\_{t})}. 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 {\displaystyle b\geq 1} titik-titik data dalam satu waktu. Strategi ini bisa dianggap sebagai pemelajaran daring semu (*pseudo-online*) untuk {\displaystyle b} yang jauh lebih kecil dari total jumlah data pelatihan. Teknik ini biasanya digunakan dengan memanggil berulang pada data pelatihan untuk mendapatkan versi out-of-core yang 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*

Artikel utama: 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 terdapat fungsi linear {\displaystyle f} dalam pemelajaran diawasi yang akan dipelajari:

{\displaystyle f(x\_{j})=\langle w,x\_{j}\rangle =w\cdot x\_{j}}
dengan {\displaystyle x\_{j}\in \mathbb {R} ^{d}} adalah vektor masukan (titik-titik data atau *data points*) dan {\displaystyle w\in \mathbb {R} ^{d}} adalah vektor filter linear.
Di sini tujuan yang ingin dicapai adalah menghitung vektor filter {\displaystyle w} dengan fungsi kerugian kuadrat (*square loss function*): 

{\displaystyle V(f(x\_{j}),y\_{j})=(f(x\_{j})-y\_{j})^{2}=(\langle w,x\_{j}\rangle -y\_{j})^{2}}
Fungsi tersebut digunakan untuk menghitung vektor {\displaystyle w} yang meminimalkan kerugian empiris:

{\displaystyle I\_{n}[w]=\sum \_{j=1}^{n}V(\langle w,x\_{j}\rangle ,y\_{j})=\sum \_{j=1}^{n}(x\_{j}^{T}w-y\_{j})^{2}}
dengan

{\displaystyle y\_{j}\in \mathbb {R} }.
Di sini, {\displaystyle y\_{j}} adalah nilai target yang bersesuaian dengan masukan {\displaystyle x\_{j}} dan berada di ruang {\displaystyle \mathbb {R} }.

Misal, {\displaystyle X} adalah matriks data berukuran {\displaystyle i\times d} dan {\displaystyle y\in \mathbb {R} ^{i}} adalah kolom nilai target setelah kedatangan {\displaystyle i} titik-titik data.
Asumsikan matriks kovarian {\displaystyle \Sigma \_{i}=X^{T}X} dapat diinvers (jika tidak, pendekatan dengan regularisasi Tikhonov lebih disukai), solusi terbaik {\displaystyle f^{\*}(x)=\langle w^{\*},x\rangle } untuk masalah *linear least squares* diberikan oleh

{\displaystyle w^{\*}=(X^{T}X)^{-1}X^{T}y=\Sigma \_{i}^{-1}\sum \_{j=1}^{i}x\_{j}y\_{j}}.
Sekarang, perhitungan kovarian matriks {\displaystyle \Sigma \_{i}=\sum \_{j=1}^{i}x\_{j}x\_{j}^{T}} memerlukan waktu {\displaystyle O(id^{2})}, menginverskan matriks {\displaystyle d\times d} memerlukan waktu {\displaystyle O(d^{3})}, sementara perkalian sisanya memerlukan waktu {\displaystyle O(d^{2})}, memberikan total waktu yang diperlukan sebesar {\displaystyle O(id^{2}+d^{3})}. Ketika terdapat total {\displaystyle n} titik di himpunan data, untuk menghitung ulang solusi setelah kedatangan dari setiap titik data {\displaystyle i=1,\ldots ,n}, pendekatan naif akan membutuhkan waktu {\displaystyle O(n^{2}d^{2}+nd^{3})}. Di sini bisa dilakukan alternatif dengan menyimpan matriks {\displaystyle \Sigma \_{i}}, kemudian memperbarui solusi dengan menambahkan {\displaystyle x\_{i+1}x\_{i+1}^{T}} setiap kali kedatangan titik data baru, dapat menurunkan kompleksitas menjadi {\displaystyle O(d^{2})}. Pendekatan ini menurunkan kompleksitas waktu secara keseluruhan menjadi {\displaystyle O(nd^{2}+nd^{3})=O(nd^{3})}, tetapi dengan tambahan penyimpanan sebesar {\displaystyle O(d^{2})} untuk {\displaystyle \Sigma \_{i}}.

### Pemelajaran daring dengan *least squares* rekursif

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

{\displaystyle \textstyle w\_{0}=0\in \mathbb {R} ^{d}} dan {\displaystyle \textstyle \Gamma \_{0}=I\in \mathbb {R} ^{d\times d}}
dengan {\displaystyle I} adalah matriks identitas.

Di setiap iterasi ke-{\displaystyle i}, algoritma akan menghitung {\displaystyle \Gamma \_{i}} dan {\displaystyle w\_{i}} dengan memperbarui solusi dari iterasi sebelumnya.

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

{\displaystyle \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}}}}
dengan {\displaystyle x\_{i}} merupakan vektor masukan dari *datapoint* ke-{\displaystyle i} dan {\displaystyle \Gamma \_{i-1}} merupakan matriks kovarian dari iterasi sebelumnya. Adapun untuk vektor bobot {\displaystyle w\_{i}} diperbarui dengan rumus

{\displaystyle w\_{i}=w\_{i-1}-\Gamma \_{i}x\_{i}(x\_{i}^{T}w\_{i-1}-y\_{i})}
dengan {\displaystyle y\_{i}} adalah nilai target yang sesuai dengan *datapoint* ke-{\displaystyle i}.

Algoritma iterasi di atas dibuktikan dengan menggunakan induksi pada {\displaystyle i}. Pembuktian tersebut juga menyatakan bahwa {\displaystyle \Gamma \_{i}=\Sigma \_{i}^{-1}}. Algoritma RLS juga dapat dinilai dalam konteks filter adaptif (lihat RLS).

Kompleksitas waktu untuk {\displaystyle n} langkah dari algoritma ini adalah {\displaystyle O(nd^{2})}, yang jauh lebih cepat daripada kompleksitas pemelajaran *batch* yang sesuai. Di setiap langkah {\displaystyle i}, perlu menyimpan matriks {\displaystyle \Gamma \_{i}}, keperluan penyimpanan ini konstan pada {\displaystyle O(d^{2})}. Untuk kasus ketika matriks kovarian {\displaystyle \Sigma \_{i}} tidak bisa diinvers, algoritma dapat disesuaikan dengan menggunakan versi teregulasi dari fungsi kerugian {\displaystyle \sum \_{j=1}^{n}(x\_{j}^{T}w-y\_{j})^{2}+\lambda ||w||\_{2}^{2}}. Kemudian, akan mudah menunjukkan algoritma yang sama dapat bekerja dengan {\displaystyle \Gamma \_{0}=(I+\lambda I)^{-1}} dan ketika iterasi berlangsung akan menghasilkan {\displaystyle \Gamma \_{i}=(\Sigma \_{i}+\lambda I)^{-1}}.

### *Stochastic gradient descent*

Artikel utama: Stochastic gradient descent
Ketika formula berikut 

{\displaystyle \textstyle w\_{i}=w\_{i-1}-\Gamma \_{i}x\_{i}(x\_{i}^{T}w\_{i-1}-y\_{i})}
diganti dengan

{\displaystyle \textstyle w\_{i}=w\_{i-1}-\gamma \_{i}x\_{i}(x\_{i}^{T}w\_{i-1}-y\_{i})=w\_{i-1}-\gamma \_{i}\nabla V(\langle w\_{i-1},x\_{i}\rangle ,y\_{i})}
atau {\displaystyle \Gamma \_{i}\in \mathbb {R} ^{d\times d}} dengan {\displaystyle \gamma \_{i}\in \mathbb {R} }, maka algoritma tersebut berubah menjadi algoritma *stochastic gradient descent* (SGD). Dalam kasus ini, kompleksitas waktu untuk langkah {\displaystyle n} berkurang menjadi {\displaystyle O(nd)} dan kebutuhan ruang untuk setiap langkah {\displaystyle i} adalah konstan di {\displaystyle O(d)}.

Meskipun begitu, besarnya langkah {\displaystyle \gamma \_{i}} harus dipilih dengan hati-hati untuk menyelesaikan masalah minimasi risiko harapan, sebagaimana yang telah dijelaskan di atas. Dengan memilih besar langkah peluruhan {\displaystyle \gamma \_{i}\approx {\frac {1}{\sqrt {i}}},} didapatkan pembuktian konvergensi dari iterasi rata-rata {\displaystyle {\overline {w}}\_{n}={\frac {1}{n}}\sum \_{i=1}^{n}w\_{i}}. Skema ini merupakan salah satu kasus khusus dari optimasi stokastik yang mana merupakan salah satu masalah optimasi terkenal.

### *Incremental stochastic gradient descent*

Dalam praktiknya, seseorang dapat melakukan pemanggilan beberapa SGD (juga dinamakan sebagai siklus atau *epoch*) pada data. Algoritma yang kemudian didapatkan tersebut dinamakan sebagai *incremental stochastic gradient descent* dan mengikut pada iterasi

{\displaystyle \textstyle w\_{i}=w\_{i-1}-\gamma \_{i}\nabla V(\langle w\_{i-1},x\_{t\_{i}}\rangle ,y\_{t\_{i}})}
Perbedaan utama algoritma ini dengan SGD adalah pada algoritma ini terdapat sebuah sekuens {\displaystyle t\_{i}} yang dipilih untuk memutuskan titik pelatihan mana yang akan dikunjungi pada langkah ke-{\displaystyle i} yang mana sekuens ini dapat bersifat stokastik atau deterministik. Banyaknya iterasi kemudian dipisah menjadi banyak titik (tiap titik dapat dipertimbangkan lebih dari sekali). Algoritma ini dapat ditunjukkan mampu memberikan minimasi pada risiko empiris. Incremental techniques can be advantageous when considering objective functions made up of a sum of many terms e.g. an empirical error corresponding to a very large dataset.

### Metode kernel

Lihat pula: Metode kernel
Kernel dapat digunakan untuk memperluas algoritma-algoritma di atas menjadi model non-parameter (atau model yang parameter-parameternya membentuk sebuah ruang dimensi tak terhingga). Metode ini tidak bisa lagi bisa disebut sebagai pemelajaran daring penuh karena melibatkan penyimpanan seluruh titik data. Meskipun begitu, metode ini lebih cepat daripada metode *brute-force*. Metode kernel ini dapat digunakan untuk seluruh *loss conveks* yang lain, tetapi pada bagian ini pembahasan dibataskan pada *square loss*. Penerapan metode kernel pada *square loss* ditunjukkan dengan sebuah induksi sederhana yang jika {\displaystyle X\_{i}} adalah matriks data dan {\displaystyle w\_{i}} adalah keluaran setelah langkah {\displaystyle i} dari algoritma SGD, maka,

{\displaystyle w\_{i}=X\_{i}^{T}c\_{i}}
dengan {\displaystyle \textstyle c\_{i}=((c\_{i})\_{1},(c\_{i})\_{2},...(c\_{i})\_{i})\in \mathbb {R} ^{i}} dan sekuens {\displaystyle c\_{i}} memenuhi rekursi:

{\displaystyle c\_{0}=0}
{\displaystyle (c\_{i})\_{j}=(c\_{i-1})\_{j},j=1,2,...i-1} dan
{\displaystyle (c\_{i})\_{i}=\gamma \_{i}{\Big (}y\_{i}-\sum \_{j=1}^{i-1}(c\_{i-1})\_{j}\langle x\_{j},x\_{i}\rangle {\Big )}}
Perhatikan bahwa di sini {\displaystyle \langle x\_{j},x\_{i}\rangle } hanyalah kernel standar pada {\displaystyle \mathbb {R} ^{d}}, dan prediktornya didapatkan dari bentuk

{\displaystyle f\_{i}(x)=\langle w\_{i-1},x\rangle =\sum \_{j=1}^{i-1}(c\_{i-1})\_{j}\langle x\_{j},x\rangle }.
Misalkan, jika suatu kernel umum {\displaystyle K} diperkenalkan dan prediktornya adalah

{\displaystyle f\_{i}(x)=\sum \_{j=1}^{i-1}(c\_{i-1})\_{j}K(x\_{j},x)}
maka pembuktian yang sama juga akan menunjukkan bahwa prediktor dapat melakukan minimasi pada *least square loss* dengan mengganti rekursif di atas menjadi

{\displaystyle (c\_{i})\_{i}=\gamma \_{i}{\Big (}y\_{i}-\sum \_{j=1}^{i-1}(c\_{i-1})\_{j}K(x\_{j},x\_{i}){\Big )}}
Rumus di atas membutuhkan penyimpanan seluruh data untuk memperbarui {\displaystyle c\_{i}}. Total kompleksitas waktu untuk rekursi di atas ketika mengevaluasi titik data ke-{\displaystyle n} adalah {\displaystyle O(n^{2}dk)}, dengan {\displaystyle k} adalah biaya yang diperlukan untuk mengevaluasi kernel dari sepasang titik. Maka, dengan penggunaan kernel di atas menjadikan pergerakan dari suatu dimensi terbatas {\displaystyle \textstyle w\_{i}\in \mathbb {R} ^{d}} menjadi sebuah kemungkinan fitur dimensi tak terbatas yang direpresentasikan oleh sebuah kernel {\displaystyle K} dengan melakukan rekursi di ruang parameter{\displaystyle \textstyle c\_{i}\in \mathbb {R} ^{i}}, yang mana dimensi di sini memiliki besar yang sama dengan himpunan data pelatihan. Secara umum, ini adalah suatu akibat dari representer theorem.

### *Online convex optimization*

*Online convex optimization* (OCO)  adalah kerangka kerja umum (*framework*) untuk pengambilan keputusan yang memanfaatkan convex optimization untuk menghasilkan algoritma yang efisien. Kerangka kerja ini mengikuti pola permainan (*game playing* berulang, sebagai berikut:
Untuk {\displaystyle t=1,2,...T}

* Pemelajar menerima masukan {\displaystyle x\_{t}}
* Pemelajar menghasilkan keluaran {\displaystyle w\_{t}} dari sebuah himpunan konveks tetap {\displaystyle S}
* *Nature* (alam) mengirimkan balik fungsi kerugian konveks {\displaystyle v\_{t}:S\rightarrow \mathbb {R} }.
* Pemelajar mengalami kerugian {\displaystyle v\_{t}(w\_{t})} dan memperbarui modelnya

Tujuan dari OCO adalah meminimalkan *regret*, yaitu selisih antara akumulasi kerugian dan kerugian yang didapatkan dari titik tetap terbaik (*best fixed point*) {\displaystyle u\in S} yang dapat dipilh dalam pengamatan kembali. Sebagai contoh, pertimbangkan kasus regresi linear *least squares*. Di sini, vektor *weight* didapatkan dari himpunan konveks {\displaystyle S=\mathbb {R} ^{d}}, dan *nature* (alam) mengirimkan balik fungsi kerugian konveks {\displaystyle v\_{t}(w)=(\langle w,x\_{t}\rangle -y\_{t})^{2}}. Perhatikan bahwa di sini {\displaystyle y\_{t}} dikirim secara implisit dengan {\displaystyle v\_{t}}.

Akan tetapi, beberapa masalah prediksi daring tidak cocok dimasukkan ke dalam kerangka kerja OCO ini. Sebagai contoh, dalam klasifikasi daring, domain klaisifikasi dan fungsi kerugian, keduanya tidak bersifat konveks. Oleh karena itu, di kasus ini, teknik sederhana untuk konveksifikasi digunakan, yaitu randomisasi dan fungsi kerugian pengganti [*butuh rujukan*]
.

Beberapa algoritma sederhana dalam optimisasi konveks, antara lain:

#### *Follow the leader* (FTL)

Algoritma sederhana dalam optimisasi konveks yang pertama adalah *Follow the Leader* (FTL) yang merupakan teknik yang paling sederhana dengan hanya memilih (pada langkah saat ini) hipotesis yang memiliki kerugian paling sedikit sepanjang iterasi sebelumnya. Algoritma ini disebut *Follow the Leader*, dan iterasi atau *round* {\displaystyle t} dihitung sebagai berikut:

{\displaystyle w\_{t}=\operatorname {arg\,min} \_{w\in S}\sum \_{i=1}^{t-1}v\_{i}(w)}
Dengan kata lain, pada setiap langkah, kita memilih hipotesis {\displaystyle w\_{t}} yang meminimalkan total kerugian sepanjang iterasi sebelumnya. Metode ini dapat dianggap sebagai algoritma serakah (*greedy algorithm*) karena setiap keputusan diambil dengan tujuan meminimalkan kerugian yang telah terjadi.

Pada kasus optimasi *online quadratic* yang fungsi kerugiannya adalah {\displaystyle v\_{t}(w)=||w-x\_{t}||\_{2}^{2}}), dapat ditunjukkan bahwa terdapat batas *regret* yang naik sebanding {\displaystyle \log(T)}. Namun, batas serupa tidak dapat didapatkan oleh algoritma FTL pada keluarga model penting lainnya, seperti optimisasi *linear online*. Untuk mencapai batasan tersebut, FTL perlu dimodifikasi dengan menambahkan regularisasi.

#### *Follow the regularised leader* (FTRL)

FTRL adalah modifikasi dari FTL yang dimaksudkan untuk menstabilkan solusi yang didapatkan dari FTL dan mendapatkan batas *regret* yang lebih baik. Sebuah fungsi regularisasi {\displaystyle R:S\rightarrow \mathbb {R} } dipilih dan pemelajaran dilakukan pada iterasi t sebagai berikut:

{\displaystyle w\_{t}=\operatorname {arg\,min} \_{w\in S}\sum \_{i=1}^{t-1}v\_{i}(w)+R(w)}
Sebagai contoh khusus, pertimbangkan kasus *online linear optimisation* , yaitu ketika *alam* mengirimkan kembali fungsi kerugian dalam bentuk {\displaystyle v\_{t}(w)=\langle w,z\_{t}\rangle } dan {\displaystyle S=\mathbb {R} ^{d}}. Misal, fungsi regularisasi {\displaystyle R(w)={\frac {1}{2\eta }}||w||\_{2}^{2}} dipilih untuk suatu bilangan positif {\displaystyle \eta }. Maka, dapat ditunjukkan bahwa iterasi yang meminimalkan *regret* menjadi 

{\displaystyle w\_{t+1}=-\eta \sum \_{i=1}^{t}z\_{i}=w\_{t}-\eta z\_{t}}
Perhatikan bahwa ini dapat ditulis ulang sebagai {\displaystyle w\_{t+1}=w\_{t}-\eta \nabla v\_{t}(w\_{t})} yang ini persis sama dengan SGD sebelumnya.

Jika S adalah sebuah subruang konveks dari {\displaystyle \mathbb {R} ^{d}}, S harus diproyeksikan ke, yang akhirnya mengarah kepada modikasi aturan pembaruan 

{\displaystyle w\_{t+1}=\Pi \_{S}(-\eta \sum \_{i=1}^{t}z\_{i})=\Pi \_{S}(\eta \theta \_{t+1})}
Algoritma ini dikenal sebagai *lazy projection*, karena vektor {\displaystyle \theta \_{t+1}} mengakumulasi gradien. Algoritma ini juga dikenal sebagai *Nesterov's dual averaging algorithm*. Dalam skenario fungsi kerugian linier (*linear loss functions*) dan regularisasi kuadratik (*quadratic regularisation*) ini, *regret* dibatasi oleh {\displaystyle O({\sqrt {T}})}. Dengan demikian, rata-rata *regret* menuju kepada 0 sesuai yang diinginkan.

### *Online subgradient descent* (OSD)

Lihat pula: Metode subgradien
Di atas telah dibuktikan sebuah batas *regret* untuk fungsi kerugian linear {\displaystyle v\_{t}(w)=\langle w,z\_{t}\rangle }. Maka untuk menggeneralisasi algoritma sehingga dapat berlaku untuk semua fungsi kerugian konveks, subgradien {\displaystyle \partial v\_{t}(w\_{t})} dari {\displaystyle v\_{t}} digunakan sebagai suatu aproksimasi linear terhadap {\displaystyle v\_{t}} dekat {\displaystyle w\_{t}} yang kemudian menagrah kepada algoritma OSD:

Inisialisasi parameter {\displaystyle \eta ,w\_{1}=0}

Untuk {\displaystyle t=1,2,...T}

* Lakukan prediksi menggunakan {\displaystyle w\_{t}}, menerima {\displaystyle f\_{t}} dari *nature*.
* Pilih {\displaystyle z\_{t}\in \partial v\_{t}(w\_{t})}
* Jika {\displaystyle S=\mathbb {R} ^{d}}, perbarui sampai {\displaystyle w\_{t+1}=w\_{t}-\eta z\_{t}}
* Jika {\displaystyle S\subset \mathbb {R} ^{d}}, proyeksikan gradien akumulatif kepada {\displaystyle S} i.e. {\displaystyle w\_{t+1}=\Pi \_{S}(\eta \theta \_{t+1}),\theta \_{t+1}=\theta \_{t}+z\_{t}}

OSD dapat digunakan untuk menurunkan {\displaystyle O({\sqrt {T}})} iterasi *bound* untuk versi dari dari SVM untuk klasifikasi yang menggunakan kerugian hinge {\displaystyle v\_{t}(w)=\max\{0,1-y\_{t}(w\cdot x\_{t})\}}

### Algoritma lainnya

Algoritma FTRL yang teregularisi secara kuadratik menyebabkan algoritma gradien menjadi diproyeksikan secara "malas" seperti yang dijelaskan di atas. Untuk mengimplementasikan cara di atas untuk fungsi konveks dan regularisator sembarang, dapat digunakan online mirror descent. Regularisasi optimal nantinya dapat diturunkan untuk fungsi kerugian linier yang kemudian mengarah kepada algoritma AdaGrad. Untuk regularisasi Euclidean, dapat ditunjukkan batas *regret* {\displaystyle O({\sqrt {T}})}, yang dapat diperbaiki lebih lanjut menjadi {\displaystyle O(\log T)} untuk fungsi kerugian konveks dan exp-concave yang sangat kuat.

Pemelajaran yang berkelanjutan
------------------------------

Pemelajaran berkelanjutan atau *continual learning* berarti terus meningkatkan model yang dipelajari dengan cara memproses aliran informasi yang terus menerus berubah. Kemampuan pembelajaran berkelanjutan sangat penting untuk sistem perangkat lunak dan agen otonom yang berinteraksi di dunia nyata yang terus berubah. Namun, pemelajaran berkelanjutan merupakan tantangan bagi pemelajaran mesin dan model jaringan syaraf karena akuisisi informasi yang tersedia secara bertahap dari distribusi data non-stasioner secara umum mengarah pada catastrophic forgetting.

Interpretasi pemelajaran daring
-------------------------------

Paradigma pemeelajaran online memiliki interpretasi yang berbeda, tergantung dengan pilihan model pemelajaran, yang masing-masing memiliki implikasi yang berbeda terkait kualitas prediksi dari barisan fungsi {\displaystyle f\_{1},f\_{2},\ldots ,f\_{n}}. Algoritma prototipe *stochastic gradient descent* digunakan untuk diskusi ini. Seperti yang telah disebutkan di atas, rekursinya diberikan oleh

{\displaystyle \textstyle w\_{t}=w\_{t-1}-\gamma \_{t}\nabla V(\langle w\_{t-1},x\_{t}\rangle ,y\_{t})}
Interpretasi pertama mempertimbangkan metode *stochastic gradient descent* yang diterapkan pada masalah minimasi risiko harapan {\displaystyle I[w]} yang telah didefinisikan di atas. Memang, dalam kasus aliran data yang tak terbatas, karena contoh {\displaystyle (x\_{1},y\_{1}),(x\_{2},y\_{2}),\ldots } diasumsikan diambil secara independen dan terdistribusi secara identik (i.i.d.) dari distribusi {\displaystyle p(x,y)}, barisan gradien dari {\displaystyle V(\cdot ,\cdot )} pada iterasi di atas merupakan contoh i.i.d. sampel estimasi stokastik dari gradien risiko harapan {\displaystyle I[w]}. Oleh karena itu, didapatkan hasil kompleksitas untuk metode SGD untuk mengikat deviasi {\displaystyle I[w\_{t}]-I[w^{\ast }]} yang {\displaystyle w^{\ast }} adalah minimasi {\displaystyle I[w]}. Interpretasi ini juga berlaku dalam kasus himpunan pelatihan yang terbatas; meskipun dengan beberapa kali melakukan panggilan terhadap data, gradien tidak lagi independen sehingga tetap saja hasil yang kompleks dapat diperoleh dalam kasus-kasus khusus.

Interpretasi kedua berlaku untuk kasus himpunan pelatihan yang terbatas dan menganggap algoritma SGD sebagai contoh dari metode *incremental gradient descent*. Dalam kasus ini, kita akan melihat risiko empiris:

{\displaystyle I\_{n}[w]={\frac {1}{n}}\sum \_{i=1}^{n}V(\langle w,x\_{i}\rangle ,y\_{i})\ .}
Karena gradien {\displaystyle V(\cdot ,\cdot )} terdapat dalam iterasi *incremental* SGD yang merupakan estimasi stokastik dari gradien {\displaystyle I\_{n}[w]}, interpretasi ini juga terkait dengan metode SGD, tetapi diterapkan untuk meminimalkan risiko empiris dan bukan risiko harapan. Karena interpretasi ini berkaitan dengan risiko empiris dan bukan risiko harapan, beberapa lintasan melalui data dapat dengan mudah diizinkan dan benar-benar mengarah pada batas yang lebih ketat pada penyimpangan {\displaystyle I\_{n}[w\_{t}]-I\_{n}[w\_{n}^{\ast }]} dengan {\displaystyle w\_{n}^{\ast }} adalah peminimalisasi dari {\displaystyle I\_{n}[w]}.

Implementasi
------------

* Vowpal Wabbit: Sistem pemelajaran daring cepat yang terkenal karena mendukung banyak pemelajaran reduksi, pembobotan kepentingan, dan pilihan fungsi kerugian yang berbeda serta algoritme pengoptimalan. Ini menggunakan trik hashing untuk membatasi ukuran set fitur yang tidak bergantung pada jumlah data pelatihan.
* Scikit-learn: menyediakan implementasi dari algoritma *out-of-core*
	+ Klasifikasi: Perceptron, SGD, Naive bayes.
	+ Regresi: SGD Regressor, Passive Aggressive regressor.
	+ Klustering: Mini-batch k-means.
	+ Ekstraksi fitur: Mini-batch dictionary learning, Incremental PCA.

Lihat juga
----------

**Paradigma pemelajaran**

* Pemelajaran bertahap
* *Lazy learning*
* Pemelajaran luring, kebalikan pemelajaran mesin daring
* Pemelajaran kukuh
* *Multi-armed bandit*
* Pemelajaran terarah

**Algoritma umum**

* Algoritma daring
* Optimisasi daring
* *streaming algorithm*
* Turunan gradien stokastik

**Model pemelajaran**

* Teori Resonansi Adaptif
* *Hierarchical temporal memory*
* Algoritme k tetangga terdekat
* *Learning vector quantization*
* Perseptron

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. 1 2 3 4 5 6 7  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 applications*Akses gratis dibatasi (uji coba), biasanya perlu berlangganan (edisi ke-Second). New York: Springer. hlm. 8–12. ISBN 978-0-387-21769-7.
4. 1 2  Bertsekas, D. P. (2011). Incremental gradient, subgradient, and proximal methods for convex optimization: a survey. Optimization for Machine Learning, 85.
5. ↑  Hazan, Elad (2015). *Introduction to Online Convex Optimization* (PDF). Foundations and Trends in Optimization.
6. ↑  Parisi, German I.; Kemker, Ronald; Part, Jose L.; Kanan, Christopher; Wermter, Stefan (2019). "Continual lifelong learning with neural networks: A review". *Neural Networks*. **113**: 54–71. arXiv:1802.07569 alt=Dapat diakses gratis. doi:10.1016/j.neunet.2019.01.012. ISSN 0893-6080.
7. ↑  Bottou, Léon (1998). "Online Algorithms and Stochastic Approximations". *Online Learning and Neural Networks*Perlu mendaftar (gratis). Cambridge University Press. ISBN 978-0-521-65263-6.
8. ↑  *Stochastic Approximation Algorithms and Applications*, Harold J. Kushner and G. George Yin, New York: Springer-Verlag, 1997. ISBN 0-387-94916-X; 2nd ed. titled *Stochastic Approximation and Recursive Algorithms and Applications*, 2003, ISBN 0-387-00894-2.

Pranala luar
------------

* 6.883: Online Methods in Machine Learning: Theory and Applications. Alexander Rakhlin. MIT