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

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)<1时,其损失呈线性增长(正好符合svm的需求) 红色 Log、蓝色 Exponential: 在 Hinge的左侧都是凸函数,并且Gold Stantard损失为它们的下界

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


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

  1. 因为我们想要让 每一个 样本的预测都要得到最大的概率, 即将所有的样本预测后的概率进行相乘都最大,也就是极大似然函数.
  2. 对极大似然函数取对数以后相当于对数损失函数, 由上面 梯度更新 的公式可以看出, 对数损失函数的训练求解参数的速度是比较快的, 而且更新速度只和x,y有关,比较的稳定,
  3. 为什么不用平方损失函数 如果使用平方损失函数,梯度更新的速度会和 sigmod 函数的梯度相关,sigmod 函数在定义域内的梯度都不大于0.25,导致训练速度会非常慢。 而且平方损失会导致损失函数是 theta 的非凸函数,不利于求解,因为非凸函数存在很多局部最优解。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏智能算法

三个臭皮匠顶个诸葛亮的随机森林算法!

随机森林一个已被证明了的成功的集成分类器,特别是用在多维分类问题上更是体现出其强大之处。一个随机森林是一个决策树的集合,可以看作是一个分类器包括很多不同的决策...

41112
来自专栏专知

【计算机视觉】检测与分割详解

【导读】神经网络在计算机视觉领域有着广泛的应用。只要稍加变形,同样的工具和技术就可以有效地应用于广泛的任务。在本文中,我们将介绍其中的几个应用程序和方法,包括语...

1463
来自专栏机器学习算法原理与实践

逻辑回归原理小结

    逻辑回归是一个分类算法,它可以处理二元分类以及多元分类。虽然它名字里面有“回归”两个字,却不是一个回归算法。那为什么有“回归”这个误导性的词呢?个人认为...

1132
来自专栏专知

【干货】走进神经网络:直观地了解神经网络工作机制

【导读】1月4日,Mateusz Dziubek发布了一篇基础的介绍神经网络的博文,作者用一种直观的方法来解释神经网络以及其学习过程,作者首先探讨了导致神经网络...

37513
来自专栏人人都是极客

Peter教你谈情说AI | 07决策树(上)—既能回归又能分类的模型

前面我们讲了线性回归模型和朴素贝叶斯分类模型。前者只能做回归,后者只能做分类。但本文中要讲的决策树模型,却既可以用于回归,又可以用于分类。

1203
来自专栏量化投资与机器学习

深度学习理论系列之——模型方法

深度学习的模型方法及应用 上一次我发了关于深度学习基本理论与方法的文章,大家反响还不错,今天继续 上次的知识,对深度学习再做一些基础性的理论介绍,希望大家多多指...

2476
来自专栏机器学习算法工程师

【DLND 机器学习算法全栈工程师】干货!小白也能看懂的神经网络入门

导语: 干货来了,Udacity Machine Learning 课程导师 Walker 亲自出马,教你简单形象有趣地掌握神经网络! 神经网络是什么?神经网络...

3625
来自专栏ATYUN订阅号

【学术】如何在神经网络中选择正确的激活函数

在神经网络中,激活函数是必须选择的众多参数之一,以通过神经网络获得最优的成果和性能。 在这篇文章中,我将假设你已经理解了神经网络工作的基本原理,并将详细介绍涉及...

35110
来自专栏AIUAI

机器学习 - 交叉熵Cross Entropy

1.7K8
来自专栏大数据挖掘DT机器学习

你看到的最直白清晰的,神经网络中的反向传播法讲解

最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的...

3125

扫码关注云+社区