ITPub博客

首页 > IT职业 > IT生活 > Logistic Regression 为什么用极大似然函数

Logistic Regression 为什么用极大似然函数

IT生活 作者:d0e1f 时间:2021-09-09 09:40:56 0 删除 编辑

1. 简述 Logistic Regression

Logistic regression 用来解决二分类问题,

它假设数据服从伯努利分布,即输出为 正 负 两种情况,概率分别为 p 和 1-p,

目标函数 hθ(x;θ) 是对 p 的模拟,p 是个概率,这里用了 p=sigmoid 函数,
所以 目标函数 为:

图片描述


为什么用 sigmoid 函数?请看:Logistic regression 为什么用 sigmoid ?

损失函数是由极大似然得到,

记:

图片描述

则可统一写成:

图片描述

写出似然函数:

图片描述

取对数:

图片描述

求解参数可以用梯度上升:

先求偏导:

图片描述

再梯度更新:

图片描述

常用的是梯度下降最小化负的似然函数。


2. 先来看常用的几种损失函数:

损失函数 举例 定义
0-1损失 用于分类,例如感知机

图片描述

预测值和目标值不相等为1,否则为0
绝对值损失

图片描述


平方损失 Linear Regression

图片描述

使得所有点到回归直线的距离和最小
对数损失 Logistic Regression

图片描述

常用于模型输出为每一类概率的分类器
Hinge损失 SVM

图片描述

用于最大间隔分类
指数损失 AdaBoost

图片描述


几种损失函数的曲线:

图片描述

黑色:Gold Stantard
绿色:Hinge Loss中,当 yf(x)>1 时,其损失=0,当 yf(x)红色 Log、蓝色 Exponential: 在 Hinge的左侧都是凸函数,并且Gold Stantard损失为它们的下界

要求最大似然时(即概率最大化),使用Log Loss最合适,一般会加上负号,变为求最小
损失函数的凸性及有界很重要,有时需要使用代理函数来满足这两个条件。


3. LR 损失函数为什么用极大似然函数?

  1. 因为我们想要让 每一个 样本的预测都要得到最大的概率,
    即将所有的样本预测后的概率进行相乘都最大,也就是极大似然函数.

  2. 对极大似然函数取对数以后相当于对数损失函数,
    由上面 梯度更新 的公式可以看出,
    对数损失函数的训练求解参数的速度是比较快的,
    而且更新速度只和x,y有关,比较的稳定,

  3. 为什么不用平方损失函数
    如果使用平方损失函数,梯度更新的速度会和 sigmod 函数的梯度相关,sigmod 函数在定义域内的梯度都不大于0.25,导致训练速度会非常慢。
    而且平方损失会导致损失函数是 theta 的非凸函数,不利于求解,因为非凸函数存在很多局部最优解。

什么是极大似然?请看简述极大似然估计

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4019/viewspace-2811373/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-10-17

  • 博文量
    75
  • 访问量
    555