【机器学习】逻辑回归(Logistic Regression)

背景

逻辑回归是用回归的方法做 分类

假设数据服从 0-1 分布(伯努利分布),那么随机变量 只有正类 1 和 负类 0 两个选择,并且相应的概率为:

可以使用线性回归方法,寻找判别函数 ,把数据分隔开。

但是遇到像以下这种数据,可以用逻辑回归,根据输出属于正类的概率来分类。

img

对于逻辑回归,学习的并不是一条线去拟合每个数据点,而是为了把不同类别的样本分开。

  1. 在判别函数 输出的基础上使用 函数 将预测值映射到 0,1 之间,表示预测结果的 概率
  2. 设置一个阈值,假设为 0.5,如果 ,则表示预测为正类的概率为 0.7。
  3. 的直观解释为:对于输入 ,求分类结果 属于正类的概率。
  4. 若一个样本是正类的概率为 则是负类的概率为 。将两个式子写在一块: ,当 或者 的时,上式均满足,表示输入样本为正类的概率。

    损失函数

    为什么使用负的对数似然函数作为损失函数?

    这里着重介绍以下,其实逻辑回归也可以使用其他损失函数,比如使用均方误差作为损失函数:

    但这个函数不是凸函数,很难进行优化。

    再考虑常用于二分类模型中的交叉熵损失函数,即负的对数似然函数:

    其中 表示预测正类的概率,也就是 或者

    根据真实标签,也可以写成下面的格式:

    其图像如图所示:

    img

    既然是分类任务,不同的类别可以单独的计算损失。对于真实标签为 1 的样本,预测值越接近于 1,损失越小;而真实标签为 1 的样本,预测值越接近于 0,损失越小,交叉熵损失函数刚好满足以上特点,比均方误差损失函数要好得多。

    其实这里的损失函数可以通过极大似然估计推导出来。

    通过极大似然估计推导损失函数

    因为数据真实标签 只有 1 和 0 两种分类,服从 0-1 分布,故 上概率分布为:

    其似然函数为:

    为方便计算,两边取对数,化连乘为累加:

    目标是最大化 log 似然函数,加负号转换成最小化:

    梯度下降法

    梯度下降算法中自变量迭代公式:

    参数更新推导:

    Note:

    题外话

    对于真实标签为 1 和 -1 表示正类和负类的情况,还可以这么表示其损失函数。

    函数,有以下属性:

    ,也就是

    和上面一样,设 ,则

    将两个概率公式合并,

    似然函数:

    为方便计算,两边取对数,取负号,得到损失函数:

    根据损失函数图像,可以看出:

    时,损失函数为 ,如红线所示,预测值离 1 越近,损失越小;

    时,损失函数为 ,如绿线所示,预测值离 -1 越近,损失越小。

    参考

    逻辑回归常见面试点总结

    逻辑回归(Logistic Regression, LR)简介

    版权声明:
    作者:iTensor
    链接:https://itensor.site/27.html
    来源:iTensor
    文章版权归作者所有,未经允许请勿转载。

    THE END
    分享
    二维码
    < <上一篇
    下一篇>>