1632
правки
Изменения
м
Однако каждая Каждая итерация алгоритма пакетного градиентного спуска включает в себя вычисление среднего значения градиентов функции потерь <tex>\bigtriangledown_w Q(z_n,w)</tex> по всей обучающей выборке. Для хранения достаточно большой обучающей выборки и вычисления этого среднего должны быть выделены значительные вычислительные ресурсы и память.
[[Файл:RosenblattPerceptron.PNG|420px|thumb|right|Перцептрон Розенблатта состоит из фиксированной предварительной обработки и обучаемого порогового элемента]]<tex>Q_{kmeans}(x, w) \stackrel{\triangle}{=} \stackrel{K}{\min_{k = 1}}(x - w(k))^2\ </tex>
=== KЭта функция потерь измеряет ошибку в положении точки <tex>x</tex>, когда мы заменяем ее ближайшим центроидом, и удовлетворяет следующему условию: <tex> \forall z, \forall \upsilon \in \vartheta (w), \mid Q(z, \upsilon) -Means ===Q(z, w)\mid \le \mid w - \upsilon \mid \Phi(z, w) \ </tex> Поэтому можно игнорировать недифференцируемые точки и применять алгоритм градиентного спуска в реальном времени.
rollbackEdits.php mass rollback
== Математическая основа ==
=== Функция ожидаемого риска (англ. Expected Risk Function) ===
Цель системы обучения состоит в поиске минимум минимума функции <tex>J(w)</tex>, называемой функцией ожидаемого риска.
<tex>J(w) \stackrel{\triangle}{=} E_z\ Q(z,w) \stackrel{\triangle}{=} \int Q(z,w)\,\mathrm{d}P(z) </tex>
Переменная минимизации <tex>w </tex> предназначена для представления части системы обучения, которая должна быть адаптирована в качестве реакции на наблюдение событий <tex>z</tex>, происходящих в реальном мире. Функция потерь <tex>Q(z, w)</tex> измеряет производительность системы обучения с параметром <tex>w</tex> при обстоятельствах, описанных событием <tex>z</tex>.
События <tex>z</tex> моделируются как случайные независимые наблюдения, взятые из неизвестного распределения вероятности <tex>\mathrm{d}P(z)</tex>. Функция риска <tex>J(w)</tex> - это ожидание функции потерь <tex>Q(z, w)</tex> для фиксированного значения параметра <tex>w</tex>.
<tex> J (w) \thickapprox \hat{J_L}(w) \stackrel{\triangle}{=} \frac{1}{L} \sum_{n=1}^L Q(z_n,w) </tex>
=== Пакетный градиентный спуск (англ. Batch Gradient Descent) ===
[[Файл:BatchGradientDescent.PNG|420px|thumb|right|Пакетный градиентный спуск]]
Минимизировать эмпирический риск <tex>\hat{J_L}(w)</tex> можно с помощью алгоритма пакетного градиентного спуска. Последовательные оценки <tex>w_t</tex> оптимального параметра вычисляются по следующей формуле, где <tex>\gamma_t</tex> - положительное число.:
<tex> w_{t+1} = w_t - \gamma_t \bigtriangledown_w \hat{J_L}(w_t) = w_t - \gamma_t\ \frac{1}{L} \sum_{i=1}^L \bigtriangledown_w\ Q(z_i,w_t)\ </tex>
Когда скорость обучения <tex>\gamma_t</tex> достаточно мала, алгоритм сходится к локальному минимуму эмпирического риска <tex>\hat{J_L}(w)</tex>. Значительное ускорение сходимости может быть достигнуто путем замены скорости обучения <tex>\gamma_t</tex> подходящей положительно определенной положительной матрицей.
=== Градиентный спуск в реальном времени (англ. Online Gradient Descent) ===
[[Файл:OnlineGradientDescent.PNG|420px|thumb|right|Градиентный спуск в реальном времени]]
Градиентный спуск в реальном времени также может быть описан без использования обучающей выборки, используя события из реального мира напрямую. Такая формулировка подходит для описания адаптивных алгоритмов, обрабатывающих поступающее наблюдение и одновременно обучающихся работать лучше. Такие адаптивные алгоритмы наиболее полезны для отслеживания явлений, развивающихся во времени.
Общий алгоритм градиентного спуска в реальном времени используется для минимизации следующей функции стоимости <tex>C(w)</tex>.:
<tex> C(w) \stackrel{\triangle}{=} E_z Q(z,w) \stackrel{\triangle}{=} \int Q(z, w)\,\mathrm{d}P(z)\ </tex>
Каждая итерация этого алгоритма состоит из извлечения события <tex>z_t</tex> из распределения <tex>\mathrm{d}P(z)</tex> и применения следующей формулы обновления, где <tex>\gamma_t</tex> - либо положительное число, либо положительно определенная положительная матрица:
<tex> w_{t+1} = w_t - \gamma_t H(z_t, w_t) \ </tex>
<tex>Q_{adaline}(z, w) \stackrel{\triangle}{=} (y - w'x)^2\ </tex>
=== Многослойные сети (англ. Multi-Layer Networks)===
Многослойные сети были разработаны для преодоления вычислительных ограничений пороговых элементов. Произвольные двоичные отображения могут быть реализованы путем объединения нескольких слоев пороговых элементов, при этом каждый слой использует выходные данные элементов предыдущих слоев в качестве входных данных.
<tex>Q_{mse}(z, w) = \frac{1}{2}(y - f(x, w))^2 \ </tex>
=== Перцептрон K-Means === [[Файл:KMeansOnline.PNG|420px|thumb|right|K-Means]] Алгоритм K-Means можно получить, выполнив градиентный спуск в реальном времени со следующей функцией потерь:
<tex> w_{t+1}^- = w_t^- + \gamma_t(x_t - w_t) \ </tex>==См. также==*[[Обучение с частичным привлечением учителя]]*[[Активное обучение]]*[[Обучение с подкреплением]]*[[Файл:KMeansOnline.PNG|420px|thumb|right|Метод k-средних отправляет заранее определенное количество центроидов кластера, чтобы минимизировать ошибкуГлубокое обучение]]
== Источники информации ==
* [https://leon.bottou.org/publications/pdf/online-1998.pdf Leon Bottou. Online Learning and Stochastic Approximations. 1998]
* [https://www.analyticsvidhya.com/blog/2015/01/introduction-online-machine-learning-simplified-2/ Introduction to Online Machine Learning: Simplified]
[[Категория: Машинное обучение]]
[[Категория: Виды обучения]]