Logistic Regression
定义:给定样本x的特征向量,输出为正样本时的概率p(y=1∣x)p(y=1|x)p(y=1∣x),同时有负样本的概率为p(y=0∣x)=1−p(y=1∣x)p(y=0|x) = 1-p(y=1|x)p(y=0∣x)=1−p(y=1∣x)。在逻辑回归中,可学习的参数为W和b。
公式:
p(y=1∣x)=σ(WTx+b)=(1+e−WTx−b)−1
p(y=1|x)=\sigma(W^Tx+b)=(1+e^{-W^Tx-b})^{-1}
p(y=1∣x)=σ(WTx+b)=(1+e−WTx−b)−1
如下图所示,x轴为线性回归的值WT+bW^T+bWT+b,y轴的值是x轴的值通过了sigmoid变换得到的p(y=1∣x)p(y=1|x)p(y=1∣x)
损失函数:
L(y^i,yi)=−[yilogy^i+(1−yi)log(1−y^i)]
L(\widehat{y}^i,{y}^i) = -[{y}^ilog\widehat{y}^i+(1-y^i)log(1-\widehat{y}^i)]
L(yi,yi)=−[yilogyi+(1−yi)log(1−yi)]
- y^i\widehat{y}^iyi是预测值
- yi{y}^iyi是真实值
对于整个训练数据,有:
J(W,b)=1m∑i=1mL(y^i,yi)
J(W,b)=\frac{1}{m}\sum^m_{i=1}L(\widehat{y}^i,y^i)
J(W,b)=m1i=1∑mL(yi,yi)
- m为数据集的样本数m为数据集的样本数m为数据集的样本数
综上所述,最小化损失函数即最大化样本发生的可能性。
由公式,样本发生的概率为
LogLikelihood=∑i=1mlogP(yi∣xi)=∑i=1mlog(y^y(1−y^)1−y)=−∑i=1mL(y^i,yi)
LogLikelihood=\sum^m_{i=1}logP(y^i|x^i)=\sum_{i=1}^mlog(\widehat{y}^y(1-\widehat{y})^{1-y})=-\sum_{i=1}^mL(\widehat{y}^i,y^i)
LogLikelihood=i=1∑mlogP(yi∣xi)=i=1∑mlog(yy(1−y)1−y)=−i=1∑mL(yi,yi)
Multi-Class Classification (Softmax Regression)
softmax回归是逻辑回归(二分类)的一种推广,专门处理多分类问题。
在上图中,这是一个三分类的神经网络。最后一层是通过softmax激活函数进行转换输出,输出的值为每个class发生的概率。
softmax激活函数如下所示:
z∣L∣=[z0∣L∣,z1∣L∣,z2∣L∣]a∣L∣=[ez0∣L∣ez0∣L∣+ez1∣L∣+ez2∣L∣,ez1∣L∣ez0∣L∣+ez1∣L∣+ez2∣L∣,ez2∣L∣ez0∣L∣+ez1∣L∣+ez2∣L∣]=[p(class=0∣x),p(class=1∣x),p(class=2∣x)]=[y0,y1,y2]
\begin{aligned}
&z^{|L|}=[z_0^{|L|},z_1^{|L|},z_2^{|L|}]\\
&a^{|L|}=[\frac{e^{z_0^{|L|}}}{e^{z_0^{|L|}}+e^{z_1^{|L|}}+e^{z_2^{|L|}}},\frac{e^{z_1^{|L|}}}{e^{z_0^{|L|}}+e^{z_1^{|L|}}+e^{z_2^{|L|}}},\frac{e^{z_2^{|L|}}}{e^{z_0^{|L|}}+e^{z_1^{|L|}}+e^{z_2^{|L|}}}]\\
&=[p(class=0|x),p(class=1|x),p(class=2|x)]\\
&=[y_0,y_1,y_2]
\end{aligned}
z∣L∣=[z0∣L∣,z1∣L∣,z2∣L∣]a∣L∣=[ez0∣L∣+ez1∣L∣+ez2∣L∣ez0∣L∣,ez0∣L∣+ez1∣L∣+ez2∣L∣ez1∣L∣,ez0∣L∣+ez1∣L∣+ez2∣L∣ez2∣L∣]=[p(class=0∣x),p(class=1∣x),p(class=2∣x)]=[y0,y1,y2]
损失函数:
LossFunction=1m∑i=1mL(y^i,yi)L(y^i,y)=−∑j3yjilogy^ji
LossFunction=\frac{1}{m}\sum^m_{i=1}L(\widehat{y}^i,y^i)\\
L(\widehat{y}^i,y)=-\sum^3_jy^i_jlog\widehat{y}^i_j
LossFunction=m1i=1∑mL(yi,yi)L(yi,y)=−j∑3yjilogyji
- m为样本数,j为第j个class。