logistics回归理解
多元回归方程:假设有一个因变量y和一组自变量x1, x2, x3, ... , xn,其中y为连续变量,我们可以拟合一个线性方程:
y =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn
如果y为二分类变量,只能取值0或1,那么线性回归方程就会遇到困难: 方程右侧是一个连续的值,取值为负无穷到正无穷,而左侧只能取值[0,1],无法对应。为了继续使用线性回归的思想,统计学家想到了一个变换方法,就是将方程右边的取值变换为[0,1]。最后选中了Logistic函数:逻辑回归,可以说是在线性回归的基础上加上一个sigmoid函数,将线性回归产生的值归一化到[0-1]区间内。sigmoid函数如下:
y = 1 / (1+e-x)
这是一个S型函数,值域为(0,1),能将任何数值映射到(0,1),且具有无限阶可导等优良数学性质。
我们将线性回归方程改写为:
y = 1 / (1+e-z),
其中,z =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn
此时方程两边的取值都在0和1之间。
进一步数学变换,也就是可以写为:
Ln(y/(1-y)) =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn
Ln(y/(1-y))称为Logit变换。我们再将y视为y取值为1的概率p(y=1),因此,1-y就是y取值为0的概率p(y=0),所以上式改写为:
p(y=1) = ez/(1+ez),
p(y=0) = 1/(1+ez),
其中,z =β0 +β1*x1 +β2*x2 +β3*x3 +...+βn*xn.
(你看吼,你需要估计某件事发生的概率,这时候你有大量的训练样本,所以你想用一个多元回归来估计这个事儿,但是你多元回归所算出来的值特别多,而你的概率只处于0和1之间,这时候吧你就需要logistics了,)
接下来就可以使用”最大似然法”估计出各个系数β。
本文基本借鉴:http://blog.sina.com.cn/s/blog_44befaf60102vznn.html
这个出自:http://blog.csdn.net/YoYoDelphine/article/details/52888276
(你看吼,你所估计的跟真实值肯定有出入吧,这时候就需要找最优化的各个系数β吧,那你怎么找呢,就需要一个代价函数,代价函数分很多,求参有多种方法。比如最小二乘,比如最大然,比如交叉熵,这里用极大然是为了使这件事发生的概率最大化,也就是已知x,求β)
所谓参数估计就是:对未知参数θ进行估计时,在参数可能的取值范围内选取,使“样本获得此观测值x1,x2...,xn”的概率最大的参数θ^作为θ的估计,这样选定的θ^有利于x1,x2...,xn”的出现。也就是说在已知数据集(结果)和模型(分布函数)的情况下,估计出最适合该模型的参数。
举个例子:
假设你有一枚硬币,随机抛10次;现在的结果是6次正面。我们都知道,抛一枚硬币,正面朝上和反面朝上的概率均是θ=0.5;但前提时,这是在大量的实验(抛硬币)情况下才有的结论。那在我们这个情况下,参数θ到底取何值时才能使得出现6次正面的肯能性最大呢?
详情参见:http://blog.csdn.net/The_lastest/article/details/78761577
也就是n个独立的样本出现的似然函数为(因为每个样本都是独立的,所以n个样本出现的概率就是他们各自出现的概率相乘):
那最大似然法就是求模型中使得似然函数最大的系数取值θ*。这个最大似然就是我们的代价函数(cost function)了。
(截自李航《统计学习方法》)
(你看吼,这时候带代价函数,这里的代价函数就是这个事儿所有属性发生的概率*不发生的概率,就需要求β,然后需要用到梯度下降法对于每次的β迭代,也就是求导,对于极大似然函数求导,导数的方向也就是最好的下降方向 ,然后我们令该导数为0,你会很失望的发现,它无法解析求解。不信你就去尝试一下。所以没办法了,只能借助高大上的迭代来搞定了。这里选用了经典的梯度下降算法。
)
(θ求完导之后发现是θ=θ1+步长*(错误率)*本来的xi,下面就是优化了,在样本容量非常大的时候,你要随机选则,节省时间,然后就是逐步减小步长,这个在牛顿法中可以理解,迭代次数越高,越合适)
代码参考:http://blog.csdn.net/zouxy09/article/details/20319673
本文仅作作者笔记,没有任何冒犯的意思。。。
logistics回归理解的更多相关文章
- logistics回归简单应用——梯度下降,梯度上升,牛顿算法(一)
警告:本文为小白入门学习笔记 由于之前写过详细的过程,所以接下来就简单描述,主要写实现中遇到的问题. 数据集是关于80人两门成绩来区分能否入学: 数据集: http://openclassroom.s ...
- logistics回归简单应用(二)
警告:本文为小白入门学习笔记 网上下载的数据集链接:https://pan.baidu.com/s/1NwSXJOCzgihPFZfw3NfnfA 密码: jmwz 不知道这个数据集干什么用的,根据直 ...
- 机器学习算法的Python实现 (1):logistics回归 与 线性判别分析(LDA)
先收藏............ 本文为笔者在学习周志华老师的机器学习教材后,写的课后习题的的编程题.之前放在答案的博文中,现在重新进行整理,将需要实现代码的部分单独拿出来,慢慢积累.希望能写一个机器学 ...
- 机器学习实战-Logistics回归
Logistics回归:实战,有两个特征X0,X1.100个样本,进行Logistics回归 1.导入数据 def load_data_set(): """ 加载数据集 ...
- Popular generalized linear models|GLMM| Zero-truncated Models|Zero-Inflated Models|matched case–control studies|多重logistics回归|ordered logistics regression
============================================================== Popular generalized linear models 将不同 ...
- logistics回归
logistic回归的基本思想 logistic回归是一种分类方法,用于两分类问题.其基本思想为: a. 寻找合适的假设函数,即分类函数,用以预测输入数据的判断结果: b. 构造代价函数,即损失函数, ...
- Deeplearning——Logistics回归
资料来源:1.博客:http://binweber.top/2017/09/12/deep_learning_1/#more——转载,修改更新 2.文章:https://www.qcloud.com/ ...
- 机器学习-对数logistics回归
今天 学习了对数几率回归,学的不是很明白x1*theat1+x2*theat2...=y 对于最终的求解参数编程还是不太会,但是也大致搞明白了,对数几率回归是由于线性回归函数的结果并不是我们想要的,我 ...
- 多分类Logistics回归公式的梯度上升推导&极大似然证明sigmoid函数的由来
https://blog.csdn.net/zhy8623080/article/details/73188671 也即softmax公式
随机推荐
- FTP上传文件,报错java.net.SocketException: Software caused connection abort: recv failed
FTP上传功能,使用之前写的代码,一直上传都没有问题,今天突然报这个错误: java.net.SocketException: Software caused connection abort: re ...
- linux上安装mysql5.6
CentOS-6.6+MySQL-5.6 部署环境操作系统:CentOS-6.6-x86_64-bin-DVD1.isoMySQL 版本:mysql-5.6.26.tar.gz操作用户:root系统 ...
- linux命令及用法
- Comparator与Comparable,自定义排序和类比较器,TreeSet对象排序
/** * 学生类 * @author Administrator * */ public class Student { private String sno ; private String sn ...
- 爬虫之urllib
一.request模块 1.urlopen() --返回值为HTTPResponse对象 urlopen(url, data=None, timeout=socket._GLOBAL_DEFA ...
- Android Jetpack 组建介绍(一)——Lifecycler
转自带你领略Android Jetpack组件的魅力 Android Jetpack 对于任何一个产品来说,我们开发中都会面对哪些问题?如:产品交互.用户体验.代码结构.数据获取.数据存储.网络优化. ...
- sys.exit(main(sys.argv[1:]))
sys.argv sys.argv[]说白了就是一个从程序外部获取参数的桥梁. 首先我们需要import sys,sys是python3的一个标准库,也就是一个官方的模块.封装了一些系统的信息和接口, ...
- Mybatis级联:关联、集合和鉴别器的使用
Mybatis中级联有关联(association).集合(collection).鉴别器(discriminator)三种.其中,association对应一对一关系.collection对应一对多 ...
- hbase 存储结构和原理
HBase的表结构 建表时要指定的是:表名.列族 建表语句 create 'user_info', 'base_info', 'ext_info' 意思是新建一个表,名称是user_info,包含两个 ...
- Centos6.3下搭建apache+https服务
1. 安装插件 yum install mod_ssl openssl openssl-devel --downloadonly --downloaddir=/home/https 2.生成私钥 op ...