这里我们会提到sigmoid函数,而且这个函数(梯度上升法和梯度下降法)就像是神经网络的一个神经元(个人这么看而已),也像二极管的0.7V电压,这里面会提到梯度下降法,也会了解数据中缺失的处理。
Logistics回归会让我们接触最优化算法。其实我们生活中这样的问题很多,例如如何在最短时间内从A地到B地?如何在投入少的情况下,获得最大收益?这个我们以前的解决方案就是使用动态规划的算法,或者是使用递归的方式进行处理。
接下来我们介绍几个最优化算法,并利用它们训练出一个非线性函数用于分类。
假设现在有一些数据点,我们用一条曲线对这些点进行拟合(该线称为最佳拟合曲线),这个拟合过程就叫回归!利用Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此类推。训练分类器时的做法就是寻找最佳拟合参数,使用的是最优化算法。
Logistic回归的一般过程
- 收集数据
- 准备数据:由于需要进行距离计算,因此要求数据是数值型。另外,结构化数据格式最佳。
- 分析数据
- 训练算法:大部分时间用于训练,训练的目的是为了找到最佳的分类回归系数。
- 测试算法
- 使用算法:使用算法进行分类。
后面会介绍一些最优化算法,其中包括基本的梯度上升法和一个改进的随机梯度上升法,这些最优化算法将用于分类器的训练。
Logistic回归和Sigmoid函数分类
- 优点:计算代价不高,易于实现和理解
- 缺点:容易欠拟合,分类精度可能不高。
- 适用数据类型:数值型和标称型数据。
Sigmoid函数上面也提到了,这类函数都称为单位阶跃函数。这种函数就是实现0到1的跃迁,这就是容易欠拟合的原因。除了sigmoid函数,还有一个函数叫海维塞德阶跃函数,这种0到1的越变非常快。Sigmoid函数如下:
为了实现Logistic回归分类器,我们可以在每个特征上都乘以一个回归系数,然后把所有的结果相加,将这个和带入Sigmoid函数中,值大于0.5归于1类,否则归为0类。所以Logistic回归也可以被看成是一种概率统计。
现在的问题是:最佳回归系数是多少?
基于最优化方法的最佳回归系数确定
其实一切数据的出发前提就是如何将数据的距离拉开,就是要有明显的差距才可以,否则很多事情不太好处理。
我们可以采取向量的写法:
这个公式可以写成
其中向量x就是输入数据,向量w就是需要找到的最佳参数(系数),从而使得分类器尽可能地精简。为了找到最佳参数,需要用到最优化理论的一些知识。比如梯度上升法、
梯度上升法
梯度上升法基于的思想是:要找到某函数的最大值,最好的方法就是沿着该函数的梯度方向进行探索。如果梯度记为▽,则函数f(x,y)的梯度由下式表示:
这个梯度意味着要沿x方向移动 ,沿y方向移动
。
梯度算子总是指向函数值增长最快的方向,这里所说的是移动方向,而未提到移动量的大小。该量值称为步长,记做。用向量来表示的话,梯度上升法的迭代公式如下:
注意这里的w是多种特征组成的向量,例如上面的就是二维的,但是其实这个东西可能也是多维的,这就是算法的数学来源,也就是人工智能最重要的数学公式转化。
之后的例子也是通过这个公式进行的优化迭代。
具体的公式推导过程,如这篇文章写得,非常清晰。
https://blog.csdn.net/wzxq123/article/details/73691985?utm_source=blogxgwz1