Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >机器学习虾扯淡之Logistic回归No.44

机器学习虾扯淡之Logistic回归No.44

作者头像
大蕉
发布于 2018-02-05 10:26:08
发布于 2018-02-05 10:26:08
5370
举报

0x00 前言

大家好我是小蕉。上一次我们说完了线性回归。不知道小伙伴有没有什么意见建议,是不是发现每个字都看得懂,但是全篇都不知道在说啥?哈哈哈哈哈哈,那就对了。

这次我们来聊聊,有小伙伴说,如果我的结果不是想找到一个连续型的规律,而是理想型的变量,也就是说如果我么想把结果分为两拨,就这样的,咋办?大蕉大笔一挥。啊这不是分好了吗?

我敢说,现在百分之很多十(目测七八十)说自己在做人工智能的,都只是用Logistic回归在做分析。

“就你事多。我不会分。”

“想学啊你?我教你啊。”

0x01 Logistic是啥玩意

想法大概是这样。把数据映射到Sigmoid函数上边,大于0.5我们就认为是类别y1 = 0,小于0.5我们认为是类别y2 = 1。

y ∈ {0 , 1}

这个函数长啥样?就长下面这样。

因为是二分类问题,所以我们假设数据服从伯努利分布,而伯努利分布的概率分布函数,也就是Y=1的概率函数就是Simoid函数。所以我们在这种情况下,我们观察到各个样本的概率长下面这样。

进而比值比ODD 长这样

对数比值比刚刚好

你说神不神奇!!当然我们不仅仅只有一个参数是吧?所以对原始数据变成

其中θ是一个N维的向量,跟每一个样本X的维度保持一致这样。

所以LR的映射函数做一下线性变换就变成这样了。

到这里,我们已经知道Logistic回归是什么鸟了,其实就是把数据映射到Sigmoid函数上,得到一个概率,然后我们最终通过概率来进行分类,一般是取0.5这样。

0x02 极大似然估计

那我们要怎么得到损失函数loss呢?不要急跟大蕉一步一步来。

上面我们已经看到了每个样本的概率。现在说一下极大似然估计是什么东西。极大似然估计,就是我们装作这些个参数啊,我们老早就知道了,然后借此来估计现在这些样本被观察到的概率。你脑子wata啦?既然这些样本都已经发现了,所以实际概率肯定是百分之百啊!!概率要越大越好越大越好,而又只是一个估计值,所以我们就叫它极大似然估计啦。

所以我们观察到样本的概率是

怎么容易一点去理解这行蜈蚣一样的公式呢?把Y的值0跟1代进去就行了,你就懂了,Y等于0的时候就是(1 - p ),y等于1时就是 p。就是这么简单。

下面是重点。敲黑板,划重点!!!我就是卡在这里想了很多天,完全不知道损失函数怎么来的!

因为所有样本都是相互独立的,所以他们的联合概率分布是他们的概率乘积。

yi是每个样本的实际Y值。我们这里要求最大值嘛,那要变成损失函数咋变?我们知道这个值永远是 ( 0 , 1)的,所以直接加个负号,本来求最大就变成求最小了。

∴ loss = - L(θ)

当然我们习惯这样加,看起来比较高端,m是样本的个数

∴ loss = - 1/m * L(θ)

无所谓,原理一样的。

乘法是很消耗资源的,我们可以把它转换成对数,这样所有的乘法都变成加法啦!!而且而且函数的性质不变。所以最终的损失函数长这样。

loss(θ) = - log L(θ)

下面开始我们用Andrew NG大大的方式变换一下好了,仅仅是为了后面比较好算而已。

Y ∈ {-1,1}

跟上面没什么本质的差别,只是把Y的值域变成-1跟1了。下面就是普通的公式变换。

0x03 损失函数咋来的

进行log变换,幂乘变成乘法。

把p代进去,也就是把把负号放到P里边了。变成直接取倒数。就得到下面这个

观察一下,就可以看出来。自己代进去就知道啦。

∴ 当yi = 1 时,

当yi = -1 时,

所以最终的损失函数长这样。

好了,到这里我们的推导就结束了,接下来就按照梯度下降算法去求最小值就好啦。

0x04 怎么用呢

然后我们就可以用最终得到的参数进行预测,大于0就当成类别Y1 ,即Y = 1,小于0当成类别Y1,即Y = -1。当然,这只能用于二分类。

那这玩意有什么用呢?应用场景比比皆是。

用户点击还是不点击?客户是欺诈还是没欺诈?客户逾期还是不逾期?这个产品是推荐还是不推荐?

传说中的人工智能预测高端引擎就出来了,小伙伴自己试试看吧。 但那我就是想进行多分类?怎么办?也是有办法的。一般来说有两种方式。我们假设有N个类别。OVR(One Versus Rest)。每个类别和剩余的其他类别进行对比,可以训练出N-1个分类器,然后这N-1个分类器进行投票,就可以生成多分类器啦。OVO(One Versus One)。每次只取两个类别进行训练,然后训练出N(N-1)个分类器,然后这些分类器进行投票,也可以生成多分类器。 至于怎么投票,也有很多种方式。可以直接投票啦,也可以根据AUC对每个分类器进行赋予权重。

0x05 剩下的一点东西

Logistic回归跟线性回归有什么差异性?1、Logistic回归的目标值(Y值)是离散的,而线性回归的目标值是连续的。2、Logistic回归和线性回归都是做了线性变换,区别是Logistic回归还做了Simoid变换。3、Logistic回归出结果值后还要进行概率判断进行分类,线性回归出结果值后可以直接使用。 Logistic回归的归一化值如何理解为概率?Logistic回归其实先验于数据是服从伯努利分布的,从而概率分布函数为Sigmoid函数。在进行Logistic回归模型训练后,最好对每个变量进行显著性检验,证明自变量和Y变量确实存在线性相关关系。 Logistic损失有何优化空间?跟线性回归一样,可以加正则项进行参数稀疏化,防止过拟合。 特征预处理和数据标准化,如何操作?1、变量要进行相关性分析,去除自变量间的相关变量,以及自变量与因变量相关性太高的变量2、多分类变量应该进行ont-hot编码,变成多个哑变量,防止分类数字影响3、如果是连续型变量,可以进行分箱操作,保留相对的大小即可。如,年龄0-20岁为1,20-40岁为2,这样子,可以分箱又保留了数据的顺序性。4、跟其他特征预处理一样,可以使用一些特征选择模型,先进行一次筛选,再进行特征组合等,多次进行模型训练。

0x06 结束语

以上说的都是个人感悟,不一定全对。今天就酱,掰~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一名叫大蕉的程序员 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
机器学习笔记——Logistic回归算法
logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。
阳光罗诺
2018/10/05
5210
机器学习笔记——Logistic回归算法
【深度学习】一文读懂机器学习常用损失函数(Loss Function)
  损失函数(loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子:
10JQKA
2018/07/25
46K0
【深度学习】一文读懂机器学习常用损失函数(Loss Function)
【机器学习笔记】:从零开始学会逻辑回归(一)
逻辑回归是一个非常经典,也是很常用的模型。之前和大家分享过它的重要性:5个原因告诉你:为什么在成为数据科学家之前,“逻辑回归”是第一个需要学习的
Python数据科学
2018/12/17
8930
【机器学习笔记】:从零开始学会逻辑回归(一)
【损失函数】常见的损失函数(loss function)总结
损失函数用来评价模型的预测值和真实值不一样的程度,损失函数越好,通常模型的性能越好。不同的模型用的损失函数一般也不一样。
zenRRan
2020/05/26
3.2K0
机器学习笔记之为什么逻辑回归的损失函数是交叉熵
逻辑回归(logistic regression)在机器学习中是非常经典的分类方法,周志华教授的《机器学习》书中称其为对数几率回归,因为其属于对数线性模型。
Jetpropelledsnake21
2021/03/03
1.3K0
机器学习三人行-Logistic和Softmax回归实战剖析
关注公众号“智能算法”即可一起学习整个系列的文章 本文主要实战Logistic回归和softmax回归在iris数据集上的应用,通过该文章,希望我们能一起掌握该方面的知识。欢迎文末查看下载关键字,公众号回复即可免费下载实战代码。 1. Logistic回归 我们在系列一中提到过,一些回归算法可以用来进行分类,以及一些分类算法可以进行回归预测,Logistic回归就是这样的一种算法。Logistic回归一般通过估计一个概率值,来表示一个样本属于某一类的概率。假如一个样本属于某一类的概率大于50%,那么就判该样
企鹅号小编
2018/01/10
8260
机器学习三人行-Logistic和Softmax回归实战剖析
一篇文章完全弄懂Logistic回归(含极大似然估计详细推导和实现代码)
在学习线性回归的时候,我们已经理解了什么是回归,回归就是确定变量之间相互依赖的定量关系的统计学方法。那么同样,在开始学习Logistic回归模型前,我们先来看看什么是分类问题。
可爱见见
2020/06/10
15K0
机器学习 | 逻辑回归算法(一)理论
逻辑回归是线性分类器,其本质是由线性回归通过一定的数学变化而来的。要理解逻辑回归,得先理解线性回归。线性回归是构造一个预测函数来映射输入的特性矩阵和标签的线性关系。线性回归使用最佳的拟合直线(也就是回归线)在因变量(
数据STUDIO
2021/06/24
1.7K0
【NLP机器学习基础】从线性回归和Logistic回归开始
古语常云:“大道至简”,万事万物纷繁复杂,最终却归至几个最简单的道理。我常常在想,如今很火的AI领域是否也是如此。将AI真正学懂学会的过程就像一场遥不可及的漫长攀登,起始于晦涩难懂的数学领域(高数/线代/概率论),踉跄于公式满篇的机器学习,还要翻越神经网络、编程与数据科学库等重重大山,最终抵达应用的那个分岔路口,也从不是彼岸,只是新的开始。
用户1508658
2020/02/19
1.1K0
机器学习算法中的概率方法
AI 科技评论按,本文作者张皓,目前为南京大学计算机系机器学习与数据挖掘所(LAMDA)硕士生,研究方向为计算机视觉和机器学习,特别是视觉识别和深度学习。
AI科技评论
2019/10/31
1.4K0
机器学习算法中的概率方法
【机器学习】算法原理详细推导与实现(二):逻辑回归
我们可能会遇到一些分类问题,例如想要划分 鸢尾花 的种类,尝试基于一些特征来判断鸢尾花的品种,或者判断上一篇文章中的房子,在6个月之后能否被卖掉,答案是 是 或者 否,或者一封邮件是否是垃圾邮件。所以这里是
机器学习和大数据挖掘
2019/07/16
6190
《机器学习》-- 第三章 广义线性模型
,这时衍生的线性模型(式3.14)如下所示,实际上就是相当于将指数曲线投影在一条直线上,如下图所示:
fireWang
2019/09/19
9570
《机器学习》-- 第三章 广义线性模型
Logistic回归与梯度下降法
http://blog.csdn.net/acdreamers/article/details/44657979
bear_fish
2018/09/19
6040
Logistic回归与梯度下降法
言简意赅了解十大常见AI算法
二分类的线性分类模型,也是判别模型。 目的是求出把训练数据进行线性划分的分离超平面。 感知机是神经网络和支持向量机的基础。 学习策略:极小化损失函数。损失函数对应于误分类点到分离超平面的总距离。 基于随机梯度下降法对损失函数的最优化算法,有原始形式和对偶形式。
zenRRan
2019/11/20
1.1K0
逻辑回归(LR)算法
一、算法介绍 Logistic regression (逻辑回归)是一种非线性回归模型,特征数据可以是连续的,也可以是分类变量和哑变量,是当前业界比较常用的机器学习方法,用于估计某种事物的可能性,主要的用途: 分类问题:如,反垃圾系统判别,通过计算被标注为垃圾邮件的概率和非垃圾邮件的概率判定; 排序问题:如,推荐系统中的排序,根据转换预估值进行排序; 预测问题:如,广告系统中CTR预估,根据CTR预估值预测广告收益; 这个世界是随机的,所以万物的发生都可以用可能性或者几率(Odds)来表达。“几率”指的是
智能算法
2018/04/03
1.3K0
逻辑回归(LR)算法
机器学习算法系列(一):logistic回归
定义:X是连续随机变量,X服从logistic分布,则X具有下列的分布函数和密度函数:
磐创AI
2019/05/05
5940
机器学习算法系列(一):logistic回归
深度学习之Logistic Regression
线性回归的函数如下: 逻辑回归则是通过对线性回归做次转换,来达到目的。其公式如下: 1、转换函数 为什么需要转换函数?   转换函数的主要作用是提供一种非线性的建模能力。如果没有转换函数,那么Log
YG
2018/05/23
8220
逻辑回归(LR)算法
一、算法介绍 Logistic regression (逻辑回归)是一种非线性回归模型,特征数据可以是连续的,也可以是分类变量和哑变量,是当前业界比较常用的机器学习方法,用于估计某种事物的可能性,主要的用途: 分类问题:如,反垃圾系统判别,通过计算被标注为垃圾邮件的概率和非垃圾邮件的概率判定; 排序问题:如,推荐系统中的排序,根据转换预估值进行排序; 预测问题:如,广告系统中CTR预估,根据CTR预估值预测广告收益; 这个世界是随机的,所以万物的发生都可以用可能性或者几率(Odds)来表达。“几率”指的是
智能算法
2018/04/02
8K0
逻辑回归(LR)算法
【机器学习】对数线性模型之Logistic回归、SoftMax回归和最大熵模型
本文介绍对数线性分类模型,在线性模型的基础上通过复合函数(sigmoid,softmax,entropy )将其映射到概率区间,使用对数损失构建目标函数。首先以概率的方式解释了logistic回归为什么使用sigmoid函数和对数损失,然后将二分类扩展到多分类,导出sigmoid函数的高维形式softmax函数对应softmax回归,最后最大熵模型可以看作是softmax回归的离散型版本,logistic回归和softmax回归处理数值型分类问题,最大熵模型对应处理离散型分类问题。
yuquanle
2019/11/04
2K0
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
在KNN算法中直接可以得出预测结果,但是如果想输出预测结果,还要输出预测结果的概率,这时候就需要使用逻辑回归解决问题。
小言从不摸鱼
2024/09/10
6470
【机器学习】逻辑回归原理(极大似然估计,逻辑函数Sigmod函数模型详解!!!)
推荐阅读
相关推荐
机器学习笔记——Logistic回归算法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档