机器学习逻辑回归

线性回归与逻辑回归

2018-12-02  本文已影响3人  井底蛙蛙呱呱呱

线性回归(Linear regression)是利用线性回归方程对一个或多个自变量因变量之间关系进行建模的一种回归分析。线性回归预测的是连续变量,而逻辑回归则是用作分类。


线性回归方程

对于单变量线性回归,其回归方程为:y=ax+b。

对于多变量线性回归,其回归方程,可使用矩阵乘法来表示: 多变量线性回归方程

利用极大似然估计解释最小二乘

每一个预测得到的目标值与实际值之间或多或少都会有误差(ξ),这些误差值是独立同分布的。而由中心极限定理可知这些误差值服从均值为0,方差为δ^2的高斯分布。 误差值服从均值为0,方差为δ^2的高斯分布
将误差使用预测值与目标值之差来表示,上式可转化为:
因此,可以写出其似然估计方程: image.png
取对数并省去一些常数项值(方差δ),计算过程如下:

上面的J(θ)的最小值对应L(θ)的最大值。由于其是凸函数,求导为0便可求其驻点。
θ得解析式的求解过程:


θ得解析式的求解过程
最后得到θ参数的解析式为:

为了防止XTX不可逆或防止过拟合,通常加入扰动:

加入扰动

线性回归的复杂度惩罚因子

线性回归损失函数为: 损失函数
为了避免回归函数归于复杂,导致过拟合,一般会在损失函数中加入参数正则化项: 加上L2正则化

正则化一般有L1正则化和L2正则化:

  • L1正则化即将所有参数的绝对值相加起来,L1正则化可得到特征权重的稀疏矩阵,筛掉那些相关性较小或无相关性的特征,采用L1正则化的回归称为lasso回归;
  • L2正则化则是所有参数的平方和,一般来说效果更好,能更好的降低模型复杂度,使用L2正则化的回归称为Ridge回归。

使用梯度下降方法求解θ最优解

使用方程解析的方式适用于矩阵维数较小(小于100维)的情况,当维数过大时候会导致方程解析的计算量会大增。这时候采用梯度下降算法是一个不错的选择。

梯度下降可分为两步:

梯度下降算法又可分为三种:

  1. 批量梯度下降算法. 每一次迭代都是用全部样本的步长之和,计算量较大,实际用的很少。 批量梯度下降
  2. 随机梯度下降. 随机梯度下降每次随机选择一个样本计算下降步长,得到的效果往往比较好,实际中用得最多的梯度下降算法。
  3. 小批量梯度下降(mini batch gradient descent). 每次选取特定个数的样本来确定步长。可看作是批量梯度下降和随机梯度下降的折中。

逻辑回归

逻辑回归方程与线性回归方程不同,使用 sigmoid函数的logistic回归方程如下: logistic回归方程
同样可以使用极大似然估计来求解参数:
使用梯度下降算法进行参数迭代:
损失函数: (0,1)分类损失函数 (1,1)分类损失函数

参考:
机器学习算法课程. 邹博。

上一篇下一篇

猜你喜欢

热点阅读