逻辑回归

概述

逻辑回归,logistics regression,简称 LR, 解决 分类 问题

误会

  • logistics regression中的logistics,与 “逻辑”并无关系

  • 名字虽然是 逻辑回归,但实际上是 分类 学习方法

什么是分类问题

输入值 为 连续值,输出值 为 有限个 离散值 的预测问题,就是分类问题

应用场景

用于 二分类 问题:

  • 是否购买会员
  • 是否垃圾邮件
  • 是否患病
  • 金融诈骗
  • 点击率预估
  • 推荐系统

能够算出概率值

案例

在 线性回归 中,我们可以 根据 已有数据 建立 模型,根据 父母平均身高 预测 孩子身高。

但现在要研究的问题是,分析 下面数据 ,根据 父母平均身高 预测 孩子身高 是否 能长到 1.8米

父母平均身高 孩子是否长到1.8
1.6 0
1.74 0
1.81 1
1.85 1
…… ……

分析 是否 逻辑回归问题

案例中给出的数据是 父母的平均身高,这是连续值
最后问的是 孩子 是否 能长到 1.8米,结果要么为 “是”,要么为“否”,这是典型的二分类问题

所以这是逻辑回归问题

解题思路

  1. 转换思路:利用 线性回归
    将 “根据父母的平均身高 预测 孩子 是否 能长到 1.8米”,转变为 “根据父母的平均身高 预测 孩子身高”

  2. 进行分类
    通过算法得出 阈值 ,小于 阈值 为 “孩子身高 不能 长到1.8”,大于 阈值 为 “孩子身高 能 长到1.8”

如下图:

红线 就是建立的 线性回归 模型,表示 父母平均身高 和 孩子身高
绿线 就是 阈值

利用 线性回归 解决分类问题

建立 线性回归 模型,根据父母平均身高 算出 “孩子身高”的分数,该分数越高,长到1.8米的可能性越大;分数越低,长到1.8米的可能性越小

将 逻辑回归 问题 转换 线性回归 问题

如何算 概率

通过上述方式,计算出 分数,但还需要将 分数 转换成 [0,1] 之间的值,也就是 概率值

需要用到 激活函数

激活函数

激活函数有很多,如下:
https://www.malaoshi.top/show_1EF3rzCm0GFL.html

这里 使用 sigmoid 激活函数

sigmoid函数具有很强的 鲁棒性(鲁棒是Robust的音译,也就是健壮和强壮的意思),并且将函数的输入范围 (∞,-∞) 映射到了输出的 (0,1) 之间且具有 概率意义。

也就是说:将 线性回归 的结果 输入 sigmoid函数中,输出0.7,就表示有70%的概率是正例,100%-70%就是30%的概率为负例

损失函数

使用 二分类损失函数:

https://www.malaoshi.top/show_1EF3qTvZH2yB.html

优化

梯度下降

总结

逻辑回归的实现思路:

  1. 用 线性回归 建模 预测
  2. 通过 激活函数 将 线性回归的结果 转换 成概率值
  3. 损失函数用交叉熵
  4. 梯度下降

感谢下面文章:
https://blog.csdn.net/weixin_39445556/article/details/83930186


原文出处:/show_1EF3xQvZDJ6G.html