15 回归算法 - Logistic回归 - Logit函数-阿里云开发者社区

开发者社区> 白尔摩斯> 正文

15 回归算法 - Logistic回归 - Logit函数

简介:
+关注继续查看

=== Logit函数 ===

Odds:比值比(优势比),用来衡量特征中分类之间关联的一种方式。
指的是该事件发生的概率与该事件不发生的概率的比值: p/1-p

Logit函数,logit(p) = log(Odds)
Logit函数

我们假设:logit (p) 和 X 之间服从一个线性关系,因为当他们之间呈现线性关系的时候,可以帮助我们做分类。

为什么可以这样假设?
其实就像 hθ(x) = θTX一样,我们假设其呈现线性关系,然后求出θ值,最后建立模型一个道理。

搞清楚后以上的思路后,我们继续演绎。对于logit (p)可以做如下的转化:

最后得到的公式,我们称为 Logistic/sigmoid函数:
Logistic/sigmoid函数

Logistic函数的图像:
图像

重点:
Odds:比值比(优势比),用来衡量特征中分类之间关联的一种方式。指的是该事件发生的概率与该事件不发生的概率的比值: p/1-p

我们最终得到的是一个θTx 和p之间的映射。
在图像中的体现是: p(θTx ) + p(-θTx ) = 1

通过把θTx 传输到函数中后,我们可以得到的返回值在0~1之间。
在θTx =0这一点的时候,p=0.5;
θTx越小,p趋向于0;
θTx越大,p趋向于1;

===Logistic回归 ===

Logistic函数的“定义域”和“值域” :

Logistic回归的中心目标是求解二元分类的问题。
所以值域中,我们设y的取值为0或1。
接下来分析一下p和y的关系。

y:最终分类的结果。y=1 or y=0
p:指的是该事件发生的概率。即y=1的概率。

我们可以自定义一个事情发生概率的阈值 h
如果y=1的概率大于h,我们认为预测的结果y^是1
如果y=1的概率小于h,我们认为预测的结果y^是0

__但是__如果加入了自定义阈值设定的话,意味着我们人为的经验被纳入运算的过程中了,那么会导致最终的预测结果产生一定的偏差,所以不建议使用。
就根据sigmoid函数的对称轴 h=0.5 作为分类的阈值即可。


Logistic/sigmoid函数:

令:z = θTx

链式法则求导: g'(z) = g(z)*(1-g(z))
这个结论很重要,因为在用梯度下降法求极值的时候需要用到原函数的导数。


对于y的值不是取1就是去0的情况,满足数学里的__伯努利分布__亦称__零一分布__、__两点分布__。

p:也就是y=1的概率。

Logistic回归满足的两个假设:
1、某一点观测值随机变量 y|x 服从伯努利分布。
2、各个观测值y之间独立。

1、假设:

2、似然函数:

思路:
首先,因为观测值是独立同分布的,所以可以用联合概率密度函数,即连乘所有单个样本发生 y=x 情况的概率。

对于所有观测值x中发生了y的概率,连乘求出联合概率密度函数:
联合密度函数

似然函数体现了一种可能性,即当前有一组参数θ,使得观测值X达到上面这种联合概率密度函数值的可能性最大。那么这组θ值就是我想要的。

例子

最后,求解θ的问题转化为求似然函数最大值的问题了。
即θ为何值时,L(θ)最大。
当最大似然函数最大时,对应的θ值就是最优解。

3、对数似然函数:

求函数的最大值,首先要对函数进行求导。然后利用梯度下降的算法求解最小值。
要对原来的最大似然函数求导十分困难,但我们知道函数对应的对数函数,其凹凸性、极值点和原函数是相同的。
而且对数函数的求导会比原函数方便一点,所以我们先取得对数似然函数。

4、对数似然函数求导:

上面的公式是基于假设 [p: y=1] [1-p : y=0 ] 形成的。
如果 [p: y=1] [1-p : y=-1 ]时,对应的似然函数和对数似然是什么?

5、Logistic回归θ参数的求解过程为(类似梯度下降法):

由于我们要求最大似然函数的随机梯度,需要找函数的极大值。
θnew = θold + α* ∂L(θ) / ∂θ
因为是找最大值,所以本质上应该称为梯度上升法。
目标函数 => 对数似然函数 L(θ)的极大值

最大似然函数的随机梯度
上述公式是Logistic回归θ参数的求解 本质,需要重点理解。

6、Logistic回归的损失函数):

机器学习中都需要构造一个损失函数,来衡量系统好坏的函数。损失函数越小,系统越优秀。
但现在我们的目标函数是一个越大越优秀的函数,我们做一个什么操作才能使其成为Logistic回归的损失函数呢?
显然加上一个负号即可。
损失函数

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《数据结构和算法分析》具有O(logN)对数特点的三个基本算法
对分查找 给定一个整数X和整数A0,A1,…,AN-1,后者已经预先排序并存在内存中,求使得Ai=X的下标i,如果X不在数据中,则返回i=-1。 int BinarySearch (const ElementType A[], ElementType x, int N)...
652 0
7月18日云栖精选夜读:Bridge to the digital world —— AR算法技术分享
Augmented Reality (AR) 近年来风头正劲,成为众多科技公司的宠儿。近期,苹果推出了AR Kit,更是将这一热点推上了风口。究竟什么是AR?它为何如此受重视?技术上它需要解决哪些核心问题?目前我们阿里AI LAB AR算法团队已有哪些算法落地,应用的业务场景有哪些?带着这些问题,小编今天带您一窥AR的风采,感受这一场数字风暴的先声。
3573 0
详解Twitter开源分布式自增ID算法snowflake,附演算验证过程
1.snowflake简介 互联网快速发展的今天,分布式应用系统已经见怪不怪,在分布式系统中,我们需要各种各样的ID,既然是ID那么必然是要保证全局唯一,除此之外,不同当业务还需要不同的特性,比如像并发巨大的业务要求ID生成效率高,吞吐大;比如某些银行类业务,需要按每日日期制定交易流水号;又比如我们希望用户的ID是随机的,无序的,纯数字的,且位数长度是小于10位的。
2484 0
函数计算部署机器学习遇到的问题和解法
随着 Serverless 的流行,将应用迁移到云上已经成了一种必然的趋势。我们今天来看一下如何将机器学习应用迁移到函数计算上。 1. 本地开发 首先我们看一下本地开发机器学习应用的步骤。我们大概可以将本地开发概括为三个步骤,分别是代码编写,安装依赖,运行调试。
3390 0
《算法设计编程实验:大学程序设计课程与竞赛训练教材》——3.3 积性函数的实验范例
本节书摘来自华章计算机《算法设计编程实验:大学程序设计课程与竞赛训练教材》一书中的第3章,第3.3节,作者:吴永辉,王建德著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1212 0
RSA加密算法
RSA是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字以发明者的名字命名:Ron Rivest, Adi Shamir 和Leonard Adleman。但RSA的安全性一直未能得到理论上的证明。它经历了各种攻击,至今未被完全攻破。  一、RSA算法 :  首先, 找出三个数, p, q, r,  其中 p, q 是两个相异的质数, 
1272 0
+关注
白尔摩斯
钻研技术的产品汪
103
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载