机器学习之逻辑回归

2. 逻辑回归

简述

Logistic回归算法基于Sigmoid函数,或者说Sigmoid就是逻辑回归函数。Sigmoid函数定义如下: 
11+ez。函数值域范围(0,1)。

因此逻辑回归函数的表达式如下: 

hθ(x)=g(θTX)=11+eθTXg(z)=11+ez


其导数形式为: 

g(z)=ddz11+ez=1(1+ez)2(ez)=11+ez(111+ez)=g(z)(1g(z))

 

代价函数

逻辑回归方法主要是用最大似然估计来学习的,所以单个样本的后验概率为: 

p(y|x;θ)=(hθ(x))y(1hθ(x))1y


到整个样本的后验概率就是: 

L(θ)=p(y|X;θ)=i=1mp(y(i)|x(i);θ)=i=1m(hθ(x(i)))y(i)(1hθ(x(i)))1y(i)


其中,P(y=1|x;θ)=hθ(x),P(y=0|x;θ)=1hθ(x)

 

通过对数进一步简化有:l(θ)=logL(θ)=mi=1y(i)logh(x(i))+(1y(i))log(1h(x(i))).

而逻辑回归的代价函数就是l(θ)。也就是如下所示: 

J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i)log(1hθ(x(i)))]


同样可以使用梯度下降算法来求解使得代价函数最小的参数。其梯度下降法公式为:

 

这里写图片描述

这里写图片描述

总结

优点:

  1、实现简单;

  2、分类时计算量非常小,速度很快,存储资源低;

缺点:

  1、容易欠拟合,一般准确度不太高

  2、只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分;

适用数据类型:数值型和标称型数据。 
类别:分类算法。 
试用场景:解决二分类问题。

posted on 2017-04-13 23:49  python大白兔  阅读(203)  评论(0)    收藏  举报