Logistic回归

主题思想:通过对数据的分类边界线建立回归公式,从而实现分类

【机器学习(4)】逻辑回归、损失函数、梯度下降法、惩罚模型_逻辑回归

激活函数

将连续的数值转化为0和1输出;其中第一个函数实现0到1的数据转换是不平滑的,有跳跃(求极值的过程会有麻烦),而第二个函数是渐变平滑的

【机器学习(4)】逻辑回归、损失函数、梯度下降法、惩罚模型_机器学习_02


Logistic回归实现的过程:如下图

1) 将样本特征值与回归系数相乘

2) 再将所有的特征值与回归系数的乘积相加

3) 最后将加和代入sigmoid函数

4) 输出一个范围在0-1之间的值

5) 结果大于0.5的样本归入1类,小于0.5的样本归入0类

【机器学习(4)】逻辑回归、损失函数、梯度下降法、惩罚模型_逻辑回归_03

逻辑回归的损失函数

不能直接使用线性回归的损失函数,否则求导后会形成多个局部最小值点(偏导数为0),无法判断

【机器学习(4)】逻辑回归、损失函数、梯度下降法、惩罚模型_机器学习_04


接着将最后的两个公式代到第一个函数中去,最后整个损失函数就如下图所示:

【机器学习(4)】逻辑回归、损失函数、梯度下降法、惩罚模型_逻辑回归_05

梯度下降法

  1. 基本介绍:
             无约束的多元函数极值求解方法;
             一种常用的机器学习参数求解法;
             通过迭代得到最小化的损失函数所对应的的模型参数
  2. 基本思路:
             在求解目标函数E(a)的最小值时,a沿着梯度下降的方向不断变化求解最小值
                    
  3. 【机器学习(4)】逻辑回归、损失函数、梯度下降法、惩罚模型_深度学习_06

  4. 什么是梯度
    假设优化目标是求解函数E(a)的最小值
  5. 【机器学习(4)】逻辑回归、损失函数、梯度下降法、惩罚模型_python_07

  6. 什么是步长
             步长是梯度下降的速度控制器;
             步长太小:收敛速度慢
             步长太大:可能跳过函数最小值,导致发散
  7. 怎么判断收敛
             人为规定迭代的次数
             规定阈值

惩罚模型

  1. 惩罚(正则化)定义:
             通过在模型损失函数中增加一个正则项(惩罚项)来控制模型的复杂程度
             惩罚项:一般来说都是一个随着模型复杂度增加而增加的单调递增函数
  2. 惩罚项(正则化)的优化公式:
  3. 【机器学习(4)】逻辑回归、损失函数、梯度下降法、惩罚模型_人工智能_08

  4. 惩罚项(正则化)的优化目标:
    由于添加了惩罚项,优化目标就有原来的“求解参数使得模型误差整体最小”,变成–>求解参数使得模型误差整体最小同时使得模型复杂度最低
  5. 惩罚项(正则化)的目的:
    通过降低模型的复杂度,从而防止过拟合,提高模型的泛化能力
             解释一:奥卡姆剃刀原理(Occam’s Razor):“如无必要,勿增实体(Entities should not be multiplied unnecessarily)”,
    翻译过来就是–>能够用简单方法达到很好的效果,就没有必要使用复杂的方法;
    原理进一步推广就是–>如果简单的模型就能达到很好的预测效果,就没有必要使用复杂的模型
             解释二:在模型中使用更多的自变量,一般情况下都会提高模型在训练集上的表现,但同时也会提高模型的复杂度,降低模型在验证集上的泛化能力,造成过拟合
  6. 常用的惩罚项(正则项):
    以线性回归模型的损失函数为例,假设线性回归模型需要求解的参数为列向量A,数据集中有N个样本,则有L1和L2
  7. 【机器学习(4)】逻辑回归、损失函数、梯度下降法、惩罚模型_python_09

  8. 常用的惩罚项(正则项)特性
    L1正则系数: lasso回归:
             L1是模型各个参数的绝对值之和
             L1可以将特征参数约束到0,因此L1会趋向于产生少量的特征,而其他的特征都是0
             L1也因此具有特征筛选的功能(被筛除的特征特征参数为0)
             L1通过融入少量的特征来防止过拟合
    L2正则系数:ridge回归:
             L2是模型各个参数的平方和的开方值。
             L2只能减小特征参数值,让参数接近0,但不能将参数约束到0(不具备筛选特征值的功能)
             L2通过减少特征的参数值来防止过拟合