机器学习算法-逻辑回归

一、前言

1.1、回归问题的条件/前提:

1、收集数据

2、假设的模型,即一个函数,这个函数里含有未知的参数,通过学习,可以估计出参数,然后利用这个模型去预测/分类新的数据。

回归算法是一种通过最小化预测值与实际值之间的差距,从而得到输入特征之间的最佳组合方式的一类算法。对于连续值预测我们可以用线性回归等,而对于离散值/类别预测,我们可以用采用逻辑回归。逻辑回归是一种简单、高效的常用分类模型,能处理二分类或者多分类问题。

1.2、逻辑回归基本原理

(1)、寻找一个合适的预测函数,一般表示为h函数。该函数即我们需要找的分类函数,它用来预测输入数据的判断结果。

(2)、构造Cost函数(损失函数)。该函数表示预测的输出h与训练数据类别y的偏差,可以是二者之间的差(h-y)或者是其他的形式。综合考虑所有训练数据的损失,将Cost求和或者求平均,记为J(θ)函数,表示所有训练数据预测值与实际类别的偏差。

(3)、J(θ)函数的值越小表示预测函数越准确(即h函数越准确),所以这一步需要做的就是找到J(θ)的最小值。找函数的最小值有不同的方法,逻辑回归可以采用梯度下降法。

1.3、逻辑回归于线性回归的联系、异同:

逻辑回归的模型是一个非线性模型,sigmoid函数,又称逻辑回归函数,但本质上又是一个线性回归模型,因为除去sigmoid映射函数关系,其他的步骤、算法都是线性回归的。可以说,逻辑回归都是以线性回归为理论支持的。

不同的是,线性模型无法做到sigmoid的非线性形式,sigmoid可以轻松处理0/1分类问题。

机器学习算法梳理2-逻辑回归

二、逻辑回归模型

2.1 sigmoid函数:

逻辑回归首先把样本映射到[0,1]之间的数值,归功于sigmoid函数,它可以把任何连续的值映射到[0,1]之间,数越大越趋向于1,越小越趋向于0。sigmoid函数公式如下:

                                                                                   机器学习算法梳理2-逻辑回归

其对应的函数图像如下:

机器学习算法梳理2-逻辑回归

 

这个函数有两个很好的特性:

1、当z趋于正无穷时,g(z)→1,z趋于负无穷时,g(z)→0。

2、g'(z) = g(z)(1-g(2)),这在后面公式推导中会用到。

2.2 逻辑回归模型

考虑具有n个独立变量的向量机器学习算法梳理2-逻辑回归,设条件概率机器学习算法梳理2-逻辑回归为根据观测量相对于某事件x发生的概率。

那么逻辑回归模型可以表示为:

                                                                           机器学习算法梳理2-逻辑回归

这里机器学习算法梳理2-逻辑回归即为sigmoid函数(也称Logistic函数),其中机器学习算法梳理2-逻辑回归,即线性回归算法梳理中的线性回归模型表示

那么在x条件下y不发生的概率表示为:

                                                          机器学习算法梳理2-逻辑回归

2.3 构造预测函数

于是根据上面,我们可以构造预测函数为:

                                                                               机器学习算法梳理2-逻辑回归

机器学习算法梳理2-逻辑回归函数的值有特殊的含义,它表示结果取1的概率,因此对于输入x分类结果为类别1和类别0的概率分别为:

                                                                               机器学习算法梳理2-逻辑回归

                                                                               机器学习算法梳理2-逻辑回归

2.4 构造Cost函数

先给出Cost函数和J(θ)函数:

                                                                机器学习算法梳理2-逻辑回归

                                                               机器学习算法梳理2-逻辑回归                                      机器学习算法梳理2-逻辑回归

实际上这里的Cost函数和J(θ)函数是基于最大似然估计推导得到的。下面是推导过程:

可以将2.3中式子综合起来写成:

                                                               机器学习算法梳理2-逻辑回归

取似然函数为:

                                                               机器学习算法梳理2-逻辑回归

对数似然函数为:

                                                               机器学习算法梳理2-逻辑回归

最大似然估计就是要求得使l(θ)取最大值时的θ,其实这里可以使用梯度上升法求解,求得的θ就是要求得最佳参数。在Andrew Ng的课程中将J(θ)取为下式,即:

                                                              机器学习算法梳理2-逻辑回归

因为乘了一个负的系数机器学习算法梳理2-逻辑回归,所以J(θ)取最小值时的θ为要求的最佳参数。

2.3 梯度下降法求J(θ)的最小值

求J(θ)的最小值可以使用梯度下降法,根据梯度下降法可得θ的更新过程:

                                                              机器学习算法梳理2-逻辑回归

式中α为学习步长,下面求偏导:

                                   机器学习算法梳理2-逻辑回归

                                                机器学习算法梳理2-逻辑回归

因此,θ的更新过程可以改写成:

                                                       机器学习算法梳理2-逻辑回归

因为式中的α为常量,所以可以将机器学习算法梳理2-逻辑回归省略,最终可以得到θ的更新过程为:

                                                       机器学习算法梳理2-逻辑回归

三、 softmax回归

线性回归是以高斯分布为误差分析模型,逻辑回归采用的是伯努利分布误差分析模型。

而高斯分布、伯努利分布、贝塔分布、都属于指数分布

                                                            机器学习算法梳理2-逻辑回归

一般线性回归,在x条件下,y的概率分布机器学习算法梳理2-逻辑回归就是指 指数分布。

经过最大似然估计的推导,就能导出一般线性回归的误差分析模型(最小化误差模型)。

 

softmax回归就是一般线性回归的一个例子。针对多分类问题(逻辑回归解决的是二分类问题),比如数字字符的分类问题,0-9,总共10个数字,则y值有10个可能性。对于这种可能的分布,是一种指数分布。而且所有可能的和为1,则对于一个输入的结果,其结果可表示为:

                                                机器学习算法梳理2-逻辑回归

代价函数为:

                                                  机器学习算法梳理2-逻辑回归

是逻辑回归代价函数的推广,其中机器学习算法梳理2-逻辑回归表示当机器学习算法梳理2-逻辑回归时值为1,否则为0。

对于softmax的求解,没有闭式解法,仍采用梯度下降法或者L-BFGS求解。

当k=2时,softmax退化为逻辑回归,这也说明softmax回归是逻辑回归的推广。

四、逻辑回归参数说明

sklearn.linear_model.LogisticRegression参数说明

五、参考

https://blog.csdn.net/ligang_csdn/article/details/53838743

https://blog.csdn.net/ljn113399/article/details/52725736

http://deeplearning.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92

相关文章:

  • 2021-05-08
猜你喜欢
  • 2021-08-26
  • 2021-07-11
  • 2021-06-27
  • 2021-08-25
  • 2021-09-11
  • 2021-06-19
  • 2021-10-21
相关资源
相似解决方案