Logistic function
线性分类器
Logistic regression 是一个线性分类器。
如图,1为蓝色,0为红色。这条直线叫做直线边界
Logistic function (sigmoid)
σ ( z ) = 1 1 + e − z σ (z) = \frac{1}{1 + e^{-z}} σ(z)=1+e−z1
归一化,数据转0-1.
P
[
y
=
1
∣
x
]
=
σ
(
w
T
x
)
P[y = 1 | x ] = σ(w^Tx)
P[y=1∣x]=σ(wTx)
P
[
y
=
0
∣
x
]
=
1
−
σ
(
w
T
x
)
P[y = 0 | x ] = 1 - σ(w^Tx)
P[y=0∣x]=1−σ(wTx)
默认大于0.5为1, 小于0.5 为0
w
T
x
w^Tx
wTx 为0 的时候
σ
(
w
T
x
)
σ(w^Tx)
σ(wTx)为0.5
w
T
x
w^Tx
wTx 大于0 的时候,y 为1,小于0的时候,y为0
极大似然估计
跟线性回归一样,我们需要找出最优w,首先,前文得知我们的概率公式如下
p
(
y
n
∣
x
n
;
w
)
=
{
σ
(
w
T
x
n
)
y=1
1
−
σ
(
w
T
x
n
)
y=0
p(y_n|x_n;w) = \begin{cases} σ(w^Tx_n) & \text{y=1} \\ 1- σ(w^Tx_n) & \text{y=0} \end{cases}
p(yn∣xn;w)={σ(wTxn)1−σ(wTxn)y=1y=0
该概率公式可以合并成为
p
(
y
n
∣
x
n
;
w
)
=
σ
(
w
T
x
n
)
y
n
[
1
−
σ
(
w
T
x
n
)
1
−
y
n
]
p(y_n|x_n;w) = σ(w^Tx_n)^{y_n}[1- σ(w^Tx_n)^{1-y_n}]
p(yn∣xn;w)=σ(wTxn)yn[1−σ(wTxn)1−yn]
当yn分别为0和1的时候,就是上面的概率公式
如果想要求所有点则需要写成求和公式
p
(
y
n
∣
x
n
;
w
)
=
∑
i
=
1
n
σ
(
w
T
x
n
)
y
n
[
1
−
σ
(
w
T
x
n
)
1
−
y
n
]
p(y_n|x_n;w) = \sum^n_{i=1}{σ(w^Tx_n)^{y_n}[1- σ(w^Tx_n)^{1-y_n}]}
p(yn∣xn;w)=i=1∑nσ(wTxn)yn[1−σ(wTxn)1−yn]
接下来的思路是让p最大(loss最小)
首先取log,得到
L
o
g
P
(
D
)
=
∑
i
=
1
n
y
i
l
o
g
σ
(
w
T
x
n
)
y
n
+
(
1
−
y
i
)
l
o
g
[
1
−
σ
(
w
T
x
n
)
]
LogP(D) = \sum^n_{i=1}{y_ilogσ(w^Tx_n)^{y_n}+(1-y_i)log[1- σ(w^Tx_n)]}
LogP(D)=i=1∑nyilogσ(wTxn)yn+(1−yi)log[1−σ(wTxn)]
但得到这个公式,我们是需要求最大值的,所以可以转换成我们熟悉的loss,求最小值,在前面加一个负号即可,得到交叉熵函数(cross-entropy error function)
L
o
g
P
(
D
)
=
−
∑
i
=
1
n
y
i
l
o
g
σ
(
w
T
x
n
)
y
n
+
(
1
−
y
i
)
l
o
g
[
1
−
σ
(
w
T
x
n
)
]
LogP(D) =- \sum^n_{i=1}{y_ilogσ(w^Tx_n)^{y_n}+(1-y_i)log[1- σ(w^Tx_n)]}
LogP(D)=−i=1∑nyilogσ(wTxn)yn+(1−yi)log[1−σ(wTxn)]
梯度为
∇
f
(
w
)
=
x
i
∑
i
=
1
n
σ
(
w
T
x
i
)
−
y
i
∇f(w) = x_i\sum^n_{i=1} {{σ(w^Tx_i) - y_i}}
∇f(w)=xii=1∑nσ(wTxi)−yi
Log-likelihood loss
l l o g ( p , y ) = { − l o g ( p ) y=1 − l o g ( 1 − p ) y=0 l_{log}(p,y) = \begin{cases} -log(p) & \text{y=1} \\ -log(1-p) & \text{y=0} \end{cases} llog(p,y)={−log(p)−log(1−p)y=1y=0
p = σ(w^Tx_n)
y = 1 的时候,p值越大损失越小,p值越小损失越大