文章目录

  • 逻辑回归模型(Logistic Regression)
  • 动机与目的
  • 模型解释
  • 决策边界
  • 代价函数(Cost Function)

运用梯度下降算法求解逻辑回归参数( w , b w,b w,b


逻辑回归模型(Logistic Regression)

动机与目的


逻辑回归主要用于分类问题(预测目标是类别型变量),介绍逻辑回归前,我们先了解下为什么不能用回归模型进行分类问题的处理?
一个例子:
有一批数据,逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能代表肿瘤大小,逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_02代表是否是恶性肿瘤(是为1,不是为0)

x(cm)

y

10

0

15

0

20

0

25

0

45

1

50

1

55

1

60

1

150

1

当数据逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_03时,我们可以用线性回归拟合一个模型(蓝线),当该模型的预测结果逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_04时就预测1,否则预测0,模型可以较好区分数据,但如果出现一个逻辑回归模型训练效果 逻辑回归模型应用实例_算法_05的数据,此时拟合的模型(绿线)通过逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_04时预测为1,否则为0就不能很好区分所有数据。可以看到线性回归模型用于分类时的局限性:

  • 对待异常值不稳定性极大
  • 预测值逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_07与结果1和0没有明显对应关系(下图中绿线逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_08越大,逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_09越大)

逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_10

模型解释


逻辑回归模型:逻辑回归模型训练效果 逻辑回归模型应用实例_算法_11

其实就是在原来线性回归模型逻辑回归模型训练效果 逻辑回归模型应用实例_算法_12上套上一个sigmoid函数逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_13,这样输出的值范围就落在了0-1的范围内(如下图左所示),完美的将二分类问题转为成了概率问题,所以通常逻辑回归也可以写成逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能_14

逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能_15

决策边界


如下图所示,可以看到当逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_16时,逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_17输出为1(以0.5为阈值),当逻辑回归模型训练效果 逻辑回归模型应用实例_算法_18时,逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_17输出为0。此时我们可以将逻辑回归模型训练效果 逻辑回归模型应用实例_算法_20称为决策边界。对于二分类问题而言决策边界可以推广到任意情况,因为任意二分类模型都可以在回归模型逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_21(不一定线性)的外面套上相应的分类函数逻辑回归模型训练效果 逻辑回归模型应用实例_算法_22,此时当回归模型逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_23时就是该分类问题的决策边界(如对圆形数据划分)。

逻辑回归模型训练效果 逻辑回归模型应用实例_算法_24

逻辑回归模型训练效果 逻辑回归模型应用实例_算法_25

逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_26

代价函数(Cost Function)


因为逻辑回归模型是非线性的,所以对应的代价函数如果采用最小平方损失(squared error cost)的话得到的函数是非凸的(non-convex),梯度下降无法求解。所以我们需要找到一个使代价函数为凸函数的方法。由此定义逻辑回归的损失函数Loss Function(代价函数是所有数据损失函数的求和):逻辑回归模型训练效果 逻辑回归模型应用实例_算法_27
直观理解:

  • 逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能_28时,损失函数如图下粉色部分所示,当预测模型(逻辑回归模型)逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_29越接近1时候逻辑回归模型训练效果 逻辑回归模型应用实例_算法_30才会更小;
  • 逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能_31

  • 逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_32时,损失函数如图下粉色部分所示,当预测模型(逻辑回归模型)逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_29越接近0时候逻辑回归模型训练效果 逻辑回归模型应用实例_算法_30才会更小。
  • 逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能_35

进一步我们可以将损失函数简化为(代入逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_02的值与上面就是等价):逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_37

所以代价函数为:
逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能_38
逻辑回归模型训练效果 逻辑回归模型应用实例_算法_39
这个函数来源于统计学中的最大似然估计(Maximum Likelihood Estimate)。

最大似然估计理解:
原数据对应的预测模型可以用概率形式表示:
逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_40
逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_41
这里逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_42为参数逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_43,上式可合并为(代入逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_02):
逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_45最大似然估计就是求使总的概率逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_46达到最大值时概率逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_47的值(可以理解为现有的数据是从一个概率分布中以概率最大的方式生成的。比如一个袋子有黑球和白球,从中抽取10次,抽到6次黑球,4次白球,假设抽到黑球的概率为逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_48,那么10次抽球结果的总的概率可以表示为逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_49,观测到的结果可以认为是以最大概率产生的结果,那么求解逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_48的值就可以取逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_51时对应的逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_48值。这里的逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_48对应上面的逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能_54,黑球对应为逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_55,白球则是逻辑回归模型训练效果 逻辑回归模型应用实例_算法_56)。
所以观测数据生成的总概率逻辑回归模型训练效果 逻辑回归模型应用实例_算法_57可以表示为:逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_58,为了方便求解,两边取对数(不改变最值方向
逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能_59
最大似然估计求的是最大值,我们可以转变为用梯度下降算法求以下函数最小值逻辑回归模型训练效果 逻辑回归模型应用实例_算法_60,所以这里可以将代价函数逻辑回归模型训练效果 逻辑回归模型应用实例_算法_61定义为(这个转化对求解参数是等价的)
逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_62

  • 加上负号改变最值方向
  • 除以m不改变逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_63结果,方便评估平均损失

通过最大似然估计构造的代价函数和最初构造的代价函数是一样的。

运用梯度下降算法求解逻辑回归参数(逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能_64


  1. 构造代价函数 逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_65,其中逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_66
  2. 逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_67逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_68对应的偏导数(梯度)逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_69推导:
    逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能_70
    逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_71
    逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_72
    逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_73
    同理可推导出逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_68的偏导数。
    补充:
    逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_75
    逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_76
    逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能_77
    逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_78
  3. 运用梯度下降算法迭代求解,先随机设置逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_67逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_68的值,然后更新所有逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_81逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_82逻辑回归模型训练效果 逻辑回归模型应用实例_人工智能_83update逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归_84
  4. 每次迭代后观察逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_85是否收敛,如果达到收敛,则此时对应的逻辑回归模型训练效果 逻辑回归模型应用实例_算法_86逻辑回归模型训练效果 逻辑回归模型应用实例_逻辑回归模型训练效果_68的值就是逻辑回归模型的最优参数,随着迭代次数的增加,Cost逻辑回归模型训练效果 逻辑回归模型应用实例_机器学习_85会逐渐收敛到一个固定值。