机器学习之逻辑回归

线性回归

给定一组数据集 ={(x1,y1),(x2,y2),(x3,y3)......(xn,yn)} ,其中 yR 。我们现在需要找到一个函数来拟合该数据集。函数是线性的时候,可以表示为:

f(x)=WTX+b

要拟合这样一条直线,我们的损失函数定义为:
L=i=1n(f(xi)yi)2=i=1n(wxi+byi)2

我们现在求出使得损失函数最小的w和b。对于这个问题,基本没有任何难度了。直接求导就完事儿了。
Lw=2(i=1n(wxi+byi)xi)=2(wi=1nx2i+i=1nxi(byi))

Lb=2i=1n(wxi+byi)=2(nb+i=1nxi(wyi))

令其为0即可求得。结果就不说了,大家可以自行去解。
最后拟合成这样一条线:
这里写图片描述

逻辑回归

逻辑回归可以看做是线性回归的扩展,因为线性回归是要将 WTX+b 映射成一个数值,而在逻辑回归中我们将其映射成 lny1y 。即是说:

y=11+e(wx+b),线lny1y

为啥要逼近这个值呢?我们知道逻辑回归中标记 y{1,0} ,而线性回归中得到的数据是: wTx+b 这是一个实数,如何转变成0和1呢,采用最常见的对数几率函数, y=11+ez 如下图:
这里写图片描述
为啥不用单位越阶函数呢,因为不可导呀。最后其实我们就是想通过线性回归 wTx+b 转换得到0或者1,通过对数几率函数可以实现,就得到了:
y=11+e(wx+b)
即:
lny1y=wTx+b

y其实可以看做概率,得到:
P(y=1|x)P(y=0|x)=wTx+b

则:
P(y=1|x)=ewTx+b1+ewTx+b

P(y=0|x)=11+ewTx+b

对于概率类的东西,第一个想到的是最大似然法,所以我们的损失函数是负的最大似然。
L=i=1nP(yi|xi;w,b)

要使得损失函数最小,两边取对数,得到:
lnL=i=1nlnP(yi|xi;w,b)

最小化:
i=1n(yiP(yi=1|xi;w,b)+(1yi)P(yi=0|xi;w,b))

这没有办法采用求导的方式,只能采用优化的方法,比如梯度下降或者牛顿法之类。

鄙人写的,程序实现可以参考:
http://blog.csdn.net/cqy_chen/article/details/64479457

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值