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 损失函数为什么用极大似然函数?
因为我们想要让 每一个 样本的预测都要得到最大的概率,
即将所有的样本预测后的概率进行相乘都最大,也就是极大似然函数.对极大似然函数取对数以后相当于对数损失函数,
由上面 梯度更新 的公式可以看出,
对数损失函数的训练求解参数的速度是比较快的,
而且更新速度只和x,y有关,比较的稳定,为什么不用平方损失函数
如果使用平方损失函数,梯度更新的速度会和 sigmod 函数的梯度相关,sigmod 函数在定义域内的梯度都不大于0.25,导致训练速度会非常慢。
而且平方损失会导致损失函数是 theta 的非凸函数,不利于求解,因为非凸函数存在很多局部最优解。
什么是极大似然?请看简述极大似然估计
学习资料:
https://zhuanlan.zhihu.com/p/25021053
https://www.cnblogs.com/ModifyRong/p/7739955.html
https://zhuanlan.zhihu.com/p/34670728
http://www.cnblogs.com/futurehau/p/6707895.html
https://www.cnblogs.com/hejunlin1992/p/8158933.html
http://kubicode.me/2016/04/11/Machine%20Learning/Say-About-Loss-Function/
推荐阅读
历史技术博文链接汇总
也许可以找到你想要的:
[入门问题][TensorFlow][深度学习][强化学习][神经网络][机器学习][自然语言处理][聊天机器人]
Logistic Regression 为什么用极大似然函数相关推荐
- 逻辑回归(logistic regression)的本质——极大似然估计
文章目录 1 前言 2 什么是逻辑回归 3 逻辑回归的代价函数 4 利用梯度下降法求参数 5 结束语 6 参考文献 1 前言 逻辑回归是分类当中极为常用的手段,因此,掌握其内在原理是非常必要的.我会争 ...
- cs230 深度学习 Lecture 2 编程作业: Logistic Regression with a Neural Network mindset
本文结构: 将 Logistic 表达为 神经网络 的形式 构建模型 导入包 获得数据 并进行预处理: 格式转换,归一化 整合模型: A. 构建模型 a. 初始化参数:w 和 b 为 0 b. 前向传 ...
- 逻辑回归(Logistic Regression)原理及损失函数、极大似然估计
一.什么是逻辑回归 虽然名字是"回归",但解决的是"分类"问题. 模型学习的是E[y∣x;θ]E[y|x;\theta]E[y∣x;θ],即给定自变量和超参数后 ...
- 逻辑回归模型(Logistic Regression, LR)基础
逻辑回归模型(Logistic Regression, LR)基础 逻辑回归(Logistic Regression, LR)模型其实仅在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数, ...
- 逻辑回归模型(Logistic Regression, LR)基础 - 文赛平
逻辑回归模型(Logistic Regression, LR)基础 - 文赛平 时间 2013-11-25 11:56:00 博客园精华区 原文 http://www.cnblogs.com/ ...
- 【机器学习】Logistic Regression 的前世今生(理论篇)
Logistic Regression 的前世今生(理论篇) 本博客仅为作者记录笔记之用,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 博客虽水,然亦博主之苦劳也. 如需转载,请附上 ...
- 逻辑回归模型详解(Logistic Regression)
目录 广义线性模型 极大似然法 逻辑回归的假设函数 逻辑回归的损失函数 交叉熵损失函数 为什么LR模型损失函数使用交叉熵不用均方差 交叉熵损失函数的数学原理 交叉熵损失函数的直观理解 交叉熵简介 对数 ...
- 逻辑斯谛回归模型( Logistic Regression,LR) 最大熵模型(Max Entropy,ME)
文章目录 1. Logistic Regression 模型 1.1 logistic 分布 1.2 二项逻辑斯谛回归模型 1.3 模型参数估计 1.4 多项逻辑斯谛回归 1.5 Python代码 2 ...
- Logistic Regression逻辑回归的损失函数与梯度下降训练
有一篇博文提到logistic regression的简单理解(Logistic Regression逻辑回归的简单解释).逻辑回归实际上是odds取对数后的反函数,其函数形式也称为sigmoid f ...
最新文章
- 如何设计一款地震高岗一派溪山千古秀的反爬虫?
- C# Linq to SQL — Group by
- Codeforces 362E Petya and Pipes 费用流建图
- Android单元测试 - 几个重要问题
- 【转】如何修改Chrome缓存目录的地址
- webpack指南-webpack入门-webpack的安装
- 单元测试中使用Mockito模拟对象
- 线性判别用于提取词向量_历年试题公开 | 2017级线性代数(I)期末试题
- 【专题】拉格朗日中值定理求极限
- 上网行为管理软件的主要功能、并简要说明上网行为管理类的软件的原理。
- 20180710使用gh
- 压敏电阻的原理和使用介绍
- jenkins 下自动构建 生成二维码(不使用蒲公英 fir)
- 使用Python将mat文件转换为npy文件
- 天猫精灵--智能家居接入(一)
- D3.js实现带动画效果的柱状图
- java实现qq空间模块_最新免费QQ空间模块个性边框代码
- R语言GAM(广义相加模型)对物业耗电量进行预测
- Spfa算法总结(C/C++)
- 利用光猫IPTV通道实现双拨上网成功