Alterna · учебный материал
06.2 От оценки к решению о классе
Сначала вычислим числовую оценку, затем вероятность и только потом решение. Изменение порога не меняет саму модель.
Что в этом материале
- Score, вероятность и решение — три разных объекта
Содержание и основные понятия
На предыдущей странице: подбираем прямую по данным.
Сначала вычислим числовую оценку, затем вероятность и только потом решение. Изменение порога не меняет саму модель.
Подбор прямой и разделение точек позволяют увидеть процесс обучения на простых данных. Проверочные ответы не участвуют в исправлениях.
Для изменения рисунка включитеJavaScript; расчёт и теория доступны далее.
Score, вероятность и решение — три разных объекта
Для бинарной метки y∈{0,1} сначала вычисляется z=wᵀx+b, затем p=σ(z), затем класс по порогуτ. Линейный score не ограничен, sigmoid лежит между0и1, класс дискретен. Logistic regression нелинейна по p, но при обычных признаках её decision boundary остаётся гиперплоскостью. N02 §6.2.2.
p
=
1
1
+
e
−
z
,
y
^
=
1
[
p
≥
τ
]
,
w
T
x
+
b
=
ln
τ
1
−
τ
.
p=\frac1{1+e^{-z}},\qquad \hat y=\mathbf1[p\ge\tau],\qquad
w^Tx+b=\ln\frac{\tau}{1-\tau}.
p
=
1
+
e
−
z
1
,
y
^
=
1
[
p
≥
τ
]
,
w
T
x
+
b
=
ln
1
−
τ
τ
.
Приτ=.5 граница z=0. При z=ln3 вероятность.75. Повышениеτдо.8 изменит класс с1на0, но не p и не weights. Настройка порога — решение о действиях системы, не новое обучение признакам.
Для обучения естественна binary cross-entropy. Устойчивое выражение непосредственно через logit:
L
(
z
,
y
)
=
max
(
z
,
0
)
−
y
z
+
ln
(
1
+
e
−
∣
z
∣
)
,
∂
L
∂
z
=
σ
(
z
)
−
y
.
L(z,y)=\max(z,0)-yz+\ln(1+e^{-|z|}),\qquad \frac{\partial L}{\partial z}=\sigma(z)-y.
L
(
z
,
y
)
=
max
(
z
,
0
)
−
yz
+
ln
(
1
+
e
−
∣
z
∣
)
,
∂
z
∂
L
=
σ
(
z
)
−
y
.
При z=0,y=1 loss=ln2, gradient−.5. Даже при ошибочном насыщенном p derivative по
logit loss
не обязан исчезать. Если же отдельно округлить sigmoid до0 и взять log0, появится искусственная численная проблема.
Эксперимент.
Меняйтеτпри фиксированных weights и наблюдайте confusion matrix. Затем меняйте b: перемещается score-поле и изменяются сами вероятности. Нулевой w даёт постоянный score; рисовать обычную разделяющую прямую в этом случае неправильно.
from math import exp,log
z=log(3)
p=1/(1+exp(-z))
assert abs(p-.75)<1e-12
Код повторяет только что разобранные операции.
Полный проверяемыйPython-пример главы
доступен отдельным файлом; показанный короткий фрагмент не заменяет его реализацию.
Score и sigmoid остаются прежними, меняется решение.
Знакомые точки и новые данные. Как этот вопрос продолжает полученный результат?
Python-примеры главы 06
Академическая база →