Third week of machine learning on Coursera

@(Coursera)


Classification

Logistic Regression Model其实是个分类算法,逻辑回归的假设函数其实是线性模型的基础上加上了个sigmod()函数:

hθ(x)=g(θTx)

g(z)=11+ezsigmoid.

Descision Boundary(决策边界)

Sigmoid()函数图像为:
Third week of machine learning on Coursera
- 当z0g(z)0.5,1;
- 当z0g(z)<0.5,0;

所以当θTx0,hθ(x)=1.
此时令θTx=0,得到的图形就是训练集的决策边界。
Third week of machine learning on Coursera
例如,如上图中得到的直线x1+x2=3就是训练集的决策边界。


线性模型如上篇博客所述《second week》,它的假设函数和损失函数分别为

hθ(x)=θTX

J(θ)=12mi=1m(hθ(x(i))y(i))2

对线性模型求解最优的θ从而保证损失函数最小的方法是通过损失函数对每个θj求梯度,不断的更新θj,从而使得损失函数到达全局最优点。即梯度下降法。
备注:今天在回顾梯度下降法的时候,发现有个概念理解不对,求解损失函数的最小值时,为什么不能直接通过损失函数对θ求导=0,来求解Jθ的最小值呢?因为损失函数对θ的导数一定可以求出来,但是令导数为0时,θ的解却不一定可以求出来。所以也是为什么使用梯度下降法的原因,通过多次迭代使得损失函数逐渐逼近最小值。


Logistic Regression的假设函数:

hθ(x)=11+eθTx

由于逻辑回归是个分类算法,它的假设函数值表示的是对应某个类的概率。
h(i)θ(x)=P(y=i | x;θ), i=1,2

它的损失函数不同于线性模型选择的均方损失函数(最小二乘法),而是选择的是log对数损失函数。
注:关于损失函数的讲解请看这篇博客机器学习-损失函数
损失函数:
J(θ)=1mi=1mCost(hθ(xi),y(i))

Cost(hθ(x),y)={log(hθ(x)),y=1;log(1hθ(x)),y=0;

上面两式结合得:
Cost=ylog(hθ(x))(1y)log(1hθ(x))

J(θ)=1mi=1m(ylog(hθ(x))(1y)log(1hθ(x)))

为了使J(θ)最小,重复:
θj:θjαθjJ(θ)=1mi=1m(hθ(x(i))y(i))x(i)j

注:J(θ)θAndrewNg


解决过拟合:

1、减少特征数量
- 手动选择需要保留的特征;
- 模型选择算法;

2、正则化
- 保留所有的特征,但是减小参数θj的数量级;
- 当我们有很多特征,每一个都对预测y值有用时,选择正则化;


Regularized linear regression

J(θ)=12m[i=1m(hθ(x(i))y(i))2+λj=1nθ2j]

上述损失函数J(θ)增加了一个正则项λnj=1θ2j,注意这里的j1,...,n.
所以对应梯度下降迭代:
θ0:θ0α1mi=1m(hθ(x(i))y(i))x(i)0

θj:=θjα[1mi=1m(hθ(x(i))y(i))x(i)j+λmθj]=θj(1αλm)α1mi=1m(hθ(x(i))y(i))x(i)j

上述1αλm<1,依次来减小θj的值,避免θj那项过拟合。


对于正规方程中,Third week of machine learning on Coursera


相关文章: