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 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

DL笔记:Activation Function 激活函数

:阿特,今天我们来了解一下深度学习中的激活函数 (Activation functions)。 :又是函数……为什么要了解这个哦…… :在机器学习中,我们经常需...

246100
来自专栏企鹅号快讯

几种循环神经网络介绍

基于图展开和参数共享的思想,我们可以设计各种循环神经网络。 ? 计算循环网络(将 x值的输入序列映射到输出值 o 的对应序列) 训练损失的计算图。损失L 衡量每...

39190
来自专栏人人都是极客

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

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

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

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

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

27060
来自专栏专知

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

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

390130
来自专栏机器学习与自然语言处理

Stanford机器学习笔记-8. 支持向量机(SVMs)概述

8. Support Vector Machines(SVMs) Content 8. Support Vector Machines(SVMs)   ...

360120
来自专栏企鹅号快讯

详解决策树 C4.5 算法

‍‍‍‍ 转自:Treant http://www.cnblogs.com/en-heng/p/5013995.html 决策树模型与学习 决策树(decisi...

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

逻辑回归原理小结

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

14920
来自专栏计算机视觉战队

最近流行的激活函数

最近又看了点深度学习的东西,主要看了一些关于激活函数的内容,不知道算不算新颖,但是我想把自己阅读后的分享一下,请各位给予评价与指点,谢谢! 一般激活函数有如下一...

42460
来自专栏深度学习之tensorflow实战篇

基于gensim的Doc2Vec简析,以及用python 实现简要代码

Doc2Vec 原理: Doc2Vec 或者叫做 paragraph2vec, sentence embeddings,是一种非监督式算法,可以获得sent...

2.5K40

扫码关注云+社区

领取腾讯云代金券