Основы машинного обучения — функция перекрестной энтропийной потери

машинное обучение искусственный интеллект
Основы машинного обучения — функция перекрестной энтропийной потери

Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.

Сегодня мы выведем формулу функции потерь кросс-энтропии двумя способами и объясним, почему кросс-энтропию можно использовать для функции потерь задачи классификации в процессе вывода.

оценка максимального правдоподобия

В статистике,оценка максимального правдоподобия(Английский:Maximum Likelihood Estimation, сокращенно MLE), также известный какоценка максимального правдоподобия, — это метод, используемый для оценки параметров вероятностной модели.

KL-расхождение

Дивергенция KL была введена ранее для измерения расстояния между двумя распределениями вероятностей.

DKL(PQ)=iP(i)logP(i)Q(i)D_{KL}(P||Q) = \sum_i P(i) \log \frac{P(i)}{Q(i)}

используется для измеренияQ(i)Q(i)иP(i)P(i)расстояние между. Тогда для вероятности множественного распределения

DKL(P*(yixi)P(y^ixi;θ))D_{KL}(P^*(y_i|x_i)||P(\hat{y}_i|x_i;\theta))
  • P(y^ixi;θ)P(\hat{y}_i|x_i;\theta)Указывает, что нейронная сеть соответствует модели, предсказывающей распределение данных, среди которыхθ\theta– параметры распределения, гдеxix_iПредставляет i-й образец, который может быть картинкой или образцом,θ\theta– параметры нейронной сети,y^\hat{y}Именно нейронная сеть выдает угаданный результат
  • P*(yixi)P^*(y_i|x_i)представляет истинное распределение данных
DKL(P*(yixi)P(y^ixi;θ))=iP*(yixi)logP*(yixi)P(y^ixi;θ)D_{KL}(P^*(y_i|x_i)||P(\hat{y}_i|x_i;\theta)) = \sum_i P^*(y_i|x_i)\log \frac{P^*(y_i|x_i)}{P(\hat{y}_i|x_i;\theta})

Упростите дальше, чтобы получить

DKL(P*P)=i(P*(yixi)[logP*(yixi)logP(y^ixi;θ)]D_{KL}(P^*||P) = \sum_i (P^*(y_i|x_i)\left[ \log P^*(y_i|x_i) - \log P(\hat{y}_i|x_i;\theta) \right]
DKL(P*P)=i(P*(yixi)logP*(yixi)i(P*(yixi)logP(y^ixi;θ)D_{KL}(P^*||P) = \sum_i (P^*(y_i|x_i) \log P^*(y_i|x_i) - \sum_i (P^*(y_i|x_i)\log P(\hat{y}_i|x_i;\theta)

i(P*(yixi)logP*(yixi)\sum_i (P^*(y_i|x_i) \log P^*(y_i|x_i)это иθ\thetaЭто не имеет значения, поэтому на это можно не обращать внимания. Итак, в конце концов, это упрощается до

арг минθDKL(P*P)=i(P*(yixi)logP(y^ixi;θ)\argmin_{\theta} D_{KL}(P^*||P) = - \sum_i (P^*(y_i|x_i)\log P(\hat{y}_i|x_i;\theta)

Это получено из расхождения KL

максимальная вероятность

Это сделать вывод о распределении вероятностей данных, наблюдая за результатами.Предполагая, что есть запечатанный ящик, мы знаем только, что в нем есть определенное количество шаров, включая красные шары и синие шары, но мы не знаем соотношение красных и синих шаров.Возьмите шар из середины, но вы можете взять только один шар за раз и положить его обратно в коробку после наблюдения.Мы можем взять из коробки определенное количество раз, а затем сделать вывод соотношение красного шара и синего шара в коробке, наблюдая соотношение красного шара и синего шара Это вероятность.

Предположим, что наблюдениеC1,C2C3C_1,C_2 \cdots C_3Если в испытании монеты выпадает орел или решка, а шарик красный или синий, мы наблюдаем совместную вероятность исхода, а затем нам нужно найти параметр распределения вероятностей, максимизирующий вероятность этого наблюдения.

P(C1,C2,Cnθ)=i=1nP(Ciθ)P(C_1,C_2,\cdots C_n | \theta) = \prod_{i=1}^n P(C_i|\theta)

Мы можем использовать нейронные сети для моделирования вероятностных распределений, где параметрыW,bW,bОпределите распределение вероятностей прогнозов модели, предполагая, что это проблема бинарной классификации, которую можно рассматривать как прогнозы собаки и кошки.

P(y1,y2,,ynW,b)=i=1n(P(yiW,b)P(y_1,y_2,\cdots,y_n |W,b) = \prod_{i=1}^n (P(y_i|W,b)
yi^=NN(W,b)P(y1,y2,,ynW,b)=i=1n(P(yiy^i)\hat{y_i} = NN(W,b)\\ P(y_1,y_2,\cdots,y_n |W,b) = \prod_{i=1}^n (P(y_i|\hat{y}_i)

Мы можем предсказать результат с помощью модели нейронной сети.yi^\hat{y_i}заменить параметрW,bW,b, поскольку это распределение Бернулли 0 1, его можно записать в следующей форме, а формулу кросс-энтропии можно вывести из вероятности.

i=1ny^yi(1y^)1yi\prod_{i=1}^n \hat{y}^{y_i}(1 - \hat{y})^{1 - y_i}
аргумент maxθi=1nlogy^yi(1y^)1yi\argmax_{\theta} \sum_{i=1}^n \log \hat{y}^{y_i}(1 - \hat{y})^{1 - y_i}
аргумент maxθi=1nyilogy^+(1yi)log(1y^)\argmax_{\theta} \sum_{i=1}^n y_i \log \hat{y} + (1-y_i)\log(1 - \hat{y})
арг минθi=1nyilogy^+(1yi)log(1y^)- \argmin_{\theta} \sum_{i=1}^n y_i \log \hat{y} + (1-y_i)\log(1 - \hat{y})