一,手推Logistic回归
logistic回归基于线性分类WT,使用sigmoid函数将线性函数映射到(0,1)空间中去。于是有假设H@(x),表示的是x发生的几率。若结果值大于0.5则表示是正样本否则是负样本。
1,对于样本集D={(x1,y1),(x2,y2),…,(xn,yn)}有n个样本,每个样本有x = (x1;x2;…;xd) d个维度,y={y=0,y=1}。在对其进行线性分类的时候有:
其中W,b是要训练的参数。
2,对于二分类来说,f(x)是一个实数,现在欲将其映射到(0,1)的区间上。于是logistic回归的假设为:
sigmoid的好处是理论上可以任何数投影到(0,1)之间。
3,其损失函数为:
这样表示的才是简单粗暴,比较清晰的,h(x)表示的是概率,当概率接近1的时候表示预测的是正样本,当概率接近0的时候表示预测是负样本。如5.4所示,若原本是正样本即y=1,但h(x)值很小的时候cost()的值会很大;反之y=0时,预测错误也会有很大的惩罚。
将5.4的公式合并,以及将所有样本的损失函数放在一起,结果如下:
4,当然还需要加入正则项来防止过拟合。
下面就可以使用随机梯度下降等优化方法来求解最优的参数theta了,不过这不是本篇博客的重点,所以就算了。
二,正则项小议
L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。
损失函数以均方误差,其加上L1,L2的损失函数为:
一般回归分析中回归w表示特征的系数,从上式可以看到正则化项是对系数做了处理(限制)。L1正则化和L2正则化的说明如下:
* L1正则化是指权值向量w中各个元素的绝对值之和,通常表示为||w||1
* L2正则化是指权值向量w中各个元素的平方和然后再求平方根(可以看到Ridge回归的L2正则化项有平方符号),通常表示为||w||2
L1和L2正则化的直观理解
假设有如下带L1正则化的损失函数:
求解J0的过程可以画出等值线,同时L1正则化的函数L也可以在w1w2的二维平面上画出来。如下图:
图中等值线是J0的等值线,黑色方形是L函数的图形。在图中,当J0等值线与L图形首次相交的地方就是最优解。上图中J0与L在L的一个顶点处相交,这个顶点就是最优解。
J0与这些角接触的机率会远大于与L其它部位接触的机率,而在这些角上,会有很多权值等于0,这就是为什么L1正则化可以产生稀疏模型,进而可以用于特征选择。
同样可以画出他们在二维平面上的图形,如下:
链接如下:http://blog.csdn.net/jinping_shi/article/details/52433975
其他比较好的博文:
http://www.cnblogs.com/GuoJiaSheng/p/3928160.html
http://blog.csdn.net/xierhacker/article/details/53316138