JonHuang的博客

不忘初心,方得始终

[学习笔记]机器学习实战(五)

第5章 Logisitic回归

本章将接触到最优化算法,并利用它们训练出一个非线性函数用于分类
几个概念:
- 回归:假设现在有一些数据点,我们用一条直线对这些点进行拟合(该线成为最佳拟合直线),这个拟合过程就称作回归。
- 利用Logisitic回归进行分类的主要思想:根据现有数据对分类边界线建立回归公式,以此进行分类。
回归一词源于最佳拟合,表示要找到最佳拟合参数集。而训练分类器时的做法就是寻找最佳拟合参数,使用的是最优化算法。
Logistic回归的一般过程


5.1 基于Logistic回归和Sigmoid函数的分类

这里写图片描述
我们想要能够接受所有的输入然后预测出类别的函数,在两个类的情况下就是输出0或1。具有这种性质的函数称为海维赛德阶跃函数,或单位阶跃函数,不过该函数有时很难处理在从0瞬间跳跃到1的过程,所以我们引入了另一个具有类似性质的,即输出0或者1的函数——Sigmoid函数

σ(z)=11+ez

这里写图片描述
可以看出,当横坐标的刻度足够大时,Sigmoid函数就可以近似为一个阶跃函数。
实现Logistic回归分类器:
1. 在每个特征上乘以一个回归系数
2. 把所有结果值相加
3. 总和代入Sigmoid函数,得到一个范围在0~1之间的数值
4. 大于0.5的数据被分入1类,小于0.5被分入0类。
从上述实现过程我们也能看出Logistic回归也可以看成是一种概率估计。确定最佳回归系数也就成为了主要问题。


5.2 基于最优化方法的最佳回归系数确定

记Sigmoid函数的输入为z,

z=w0x0+w1x1+w2x2++wnxn=wTx
其中,向量 x 是分类器的输入数据,向量 w 是待求的最佳回归系数,n代表n维,即特征个数。假设n=2,则只有两个特征,在图像上表现为二维图像,有x和y两个方向,那么x方向的系数为 w0 ,y方向的系数为 w1 ,这样一个向量就是梯度。

要搞清:
向量=方向+标量
梯度=向量
梯度=梯度方向+梯度标量

5.2.1 梯度上升法(Gradient ascent)

梯度上升法是一个最优化算法,可用于求解一个数据集的最佳参数。该算法基于的思想是:要找到某函数的最大值,最好的方法是沿着该函数的梯度方向探寻。
梯度的计算公式:

f(x,y)=(f(x,y)x,f(x,y)y)
这个梯度意味着沿 x 的方向移动 f(x,y)x ,沿 y 的方向移动 f(x,y)y。其中,f(x) 在待求点必须有定义且可微。一张较为直观的图:
这里写图片描述
另外,梯度上升算法在到达每个点之后都会重新计算移动的方向,循环迭代直至满足停止条件,梯度算子保证我们总是能选取到最佳的移动方向,它总是执行函数值增长最快的方向。
要注意,上面所提的梯度只是确定了每一步移动的方向,记步长为 α ,则迭代公式为
w:=w+αwf(w)
同样的,梯度下降算法就是改变式子中加减号,即
w:=wαwf(w)
梯度上升算法用来求函数的最大值,而梯度下降算法用来求函数的最小值。
步长和初始点的选取会影响到最终结果的拟合程度,导致结果落在局部最优解而不是全局最优解上。对于步长,最好的方法就是随着迭代次数更改移动步长。
这里写图片描述


5.3 本章小结

这里写图片描述

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/DougHuang/article/details/79950822
上一篇[学习笔记]机器学习实战(四)
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭