logistic distribution

设X是连续随机变量,X服从逻辑斯谛分布是指X具有下列分布函数和密度函数:


式中,μ为位置参数,γ>0为形状参数。

密度函数是脉冲函数

分布函数是一条Sigmoid曲线(sigmoid curve)即为阶跃函数


 

 

二项逻辑斯谛回归模型

二项逻辑斯谛回归模型是如下的条件概率分布


x∊Rn是输入,Y∊{0,1}是输出,w∊Rn和b∊R是参数,

w称为权值向量,b称为偏置,w·x为w和x的内积。

可以求得P(Y=1|x)和P(Y=0|x)。

逻辑斯谛回归比较两个条件概率值的大小,将实例x分到概率值较大的那一类。

定义几率(0dds):该事件发生的概率与该事件不发生的概率的比值

引申出log odds:

对于logistic regression而言,log odds如下:

的对数几率是输入x的线性函数。

的对数几率是由输入x的线性函数表示的模型,即LR模型。

 

LR模型参数估计

可以应用极大似然估计法估计模型参数

对L(w)求极大值,得到w的估计值。

问题就变成了以对数似然函数为目标函数的最优化问题。

LR学习中通常采用的方法是梯度下降法及拟牛顿法。

 

 

最大熵模型

最大熵原理认为,学习概率模型时,在所有可能的概率模型(分布)中,

熵最大的模型是最好的模型。通常用约束条件来确定概率模型的集合,

所以,最大熵原理也可以表述为在满足约束条件的模型集合中选取熵最大的模型。

X的概率分布是P(X),则其熵

|X|是X的取值个数,当且仅当X的分布是均匀分布时右边的等号成立。

这就是说,当X服从均匀分布时,熵最大

 

直观地,最大熵原理认为要选择的概率模型首先必须满足已有的事实,

即约束条件。在没有更多信息的情况下,那些不确定的部分都是"等可能的"。

最大熵原理通过熵的最大化来表示等可能性。"等可能"不容易操作,

而熵则是一个可优化的数值指标。

 

最大熵模型的定义

给定训练数据集(传统训练集)

可以确定

联合分布P(X,Y)的经验分布

边缘分布P(X)的经验分布

v(X=x,Y=y)表示训练数据中样本(X,Y)出现的频数

v(X=x)表示训练数据中输入x出现的频数,N表示训练样本容量。

特征函数f(X,Y)关于经验分布p(X,Y)的期望

特征函数f(X,Y)关于模型P(Y|X)与经验分布

如果模型能够获取训练数据中的信息,那么就可以假设这两个期望值相等

作为模型学习的约束条件。假如有n个特征函数fi(X,Y),i=1,2,…,n,那么就有n个约束条件

 

最大熵模型

假设满足所有约束条件的模型集合为

定义在条件概率分布P(Y|X)上的条件熵

则模型集合C中条件熵H(P)最大的模型称为最大熵模型

 

最大熵模型的学习

最大熵模型的学习过程就是求解最大熵模型的过程。

最大熵模型的学习可以形式化为约束最优化问题。

数据集T={(x1,y1),(x2,y2),…,(xN,yN)}以及

特征函数fi(X,Y),i=1,2,…,n,最大熵模型的学习等价于约束最优化问题:

将最大化改为最小化:

将约束最优化的原始问题转换为无约束最优化的对偶问题。

通过求解对偶问题求解原始问题。

 

引进拉格朗日乘子w0,w1,w2,…,wn,定义拉格朗日函数L(P,w):

原始问题:

对偶问题:

由于拉格朗日函数L(P,w)是P的凸函数

原始问题(6.18)的解与对偶问题(6.19)的解是等价的。

首先是内部的极小化问题:

同时,记Pw

求L(P,w)对P(Y|X)的偏导数:

得:

由于:

得:

其中:

Zw(x)称为规范化因子;fi(X,Y)是特征函数;wi是特征的权值。

表示的模型Pw=Pw(Y|X)就是最大熵模型。

然后求解对偶问题外部的极大化问题:

也就是说,最大熵模型的学习归结为对偶函数的极大化。

 

下面证明对偶函数的极大化等价于最大熵模型的极大似然估计。

已知训练数据的经验概率分布

条件概率分布P(Y|X)的对数似然函数表示为

当条件概率分布P(Y|X)是最大熵模型,

再看对偶函数

于是证明了最大熵模型学习中的对偶函数极大化等价于最大熵模型的极大似然估计

最大熵模型的学习问题转换为具体求解对数似然函数极大化或对偶函数极大化的问题

更为一般形式的:

其中,

最大熵模型与LR模型有类似的形式,它们又称为对数线性模型(log linear model)

模型学习就是在给定的训练数据条件下对模型进行极大似然估计或正则化的极大似然估计

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

统计学习方法笔记 Logistic regression的更多相关文章

  1. [Machine Learning]学习笔记-Logistic Regression

    [Machine Learning]学习笔记-Logistic Regression 模型-二分类任务 Logistic regression,亦称logtic regression,翻译为" ...

  2. 统计学习方法6—logistic回归和最大熵模型

    目录 logistic回归和最大熵模型 1. logistic回归模型 1.1 logistic分布 1.2 二项logistic回归模型 1.3 模型参数估计 2. 最大熵模型 2.1 最大熵原理 ...

  3. 统计学习方法笔记--EM算法--三硬币例子补充

    本文,意在说明<统计学习方法>第九章EM算法的三硬币例子,公式(9.5-9.6如何而来) 下面是(公式9.5-9.8)的说明, 本人水平有限,怀着分享学习的态度发表此文,欢迎大家批评,交流 ...

  4. 统计学习方法笔记 -- KNN

    K近邻法(K-nearest neighbor,k-NN),这里只讨论基于knn的分类问题,1968年由Cover和Hart提出,属于判别模型 K近邻法不具有显式的学习过程,算法比较简单,每次分类都是 ...

  5. Python机器学习笔记 Logistic Regression

    Logistic回归公式推导和代码实现 1,引言 logistic回归是机器学习中最常用最经典的分类方法之一,有人称之为逻辑回归或者逻辑斯蒂回归.虽然他称为回归模型,但是却处理的是分类问题,这主要是因 ...

  6. Andrew Ng机器学习公开课笔记 -- Logistic Regression

    网易公开课,第3,4课 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 前面讨论了线性回归问题, 符合高斯分布,使用最小二乘来作为损失函数 ...

  7. 统计学习方法笔记(KNN)

    k近邻法(k-nearest neighbor,k-NN) 输入:实例的特征向量,对应于特征空间的点:输出:实例的类别,可以取多类. 分类时,根据其k个最近邻的训练实例的类别,通过多数表决等方式进行预 ...

  8. 统计学习方法笔记 -- Boosting方法

    AdaBoost算法 基本思想是,对于一个复杂的问题,单独用一个分类算法判断比较困难,那么我们就用一组分类器来进行综合判断,得到结果,"三个臭皮匠顶一个诸葛亮" 专业的说法, 强可 ...

  9. 李航-统计学习方法-笔记-3:KNN

    KNN算法 基本模型:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的k个实例.这k个实例的多数属于某个类,就把输入实例分为这个类. KNN没有显式的学习过程. KNN使用的模型 ...

随机推荐

  1. WCF: 没有终结点在侦听可以接受消息的 这通常是由于不正确的地址或者 SOAP 操作导致的。

    问题:     由于我这里的wcf服务是采用“BasicHttpBinding”的方式,即安全绑定模式,客户端在引用这个服务后所生成的终结点配置(endpoint )就变成了<endpoint ...

  2. [内核同步]浅析Linux内核同步机制

    转自:http://blog.csdn.net/fzubbsc/article/details/37736683?utm_source=tuicool&utm_medium=referral ...

  3. 黄聪:说说JSON和JSONP,也许你会豁然开朗(转)

    前言 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Socke ...

  4. 黄聪:MySQL 按指定字段自定义列表排序

    问题描述 大家都知道, MySQL 中按某字段升序排列的 SQL 为 (以 id 为例, 下同): SELECT * FROM `MyTable` , , , ) ORDER BY `id` ASC ...

  5. Centos6.4 用rpm方式安装MySql5.6

    1.查看系统是否安装了MySQL     使用命令:     #rpm -qa | grep mysql    2.卸载已安装的MySQL      卸载mysql命令如下:       #rpm - ...

  6. 在此页上的ActiveX控件和本页上的其他部分的交互可能不安全,你想允许这种交互吗

    转自 http://www.cnblogs.com/zdxster/archive/2011/01/27/1945868.html 在EOS6的项目中,如果采用VC++开发的ActiveX,那么第一次 ...

  7. Java中的异常-Throwable-Error-Exception-RuntimeExcetpion-throw-throws-try catch

    今天在做一个将String转换为Integer的功能时,发现Integer.parseInte()会抛出异常NumberFormatException. 函数Integer.parseInt(Stri ...

  8. 根据 MySQL 状态优化 ---- 3. key_buffer_size

    查看 MySQL 服务器运行的各种状态值: mysql> show global status: 3. key_buffer_size key_buffer_size 是设置 MyISAM 表索 ...

  9. ArchLinux KDE安装中文输入法

    From: http://www.linuxdiyf.com/viewarticle.php?id=53375 1.安装中文输入法#pacman -S scim-pinyin #拼音输入法#pacma ...

  10. struts2 中 Actionsupport 的作用

    struts2 中 Actionsupport 的作用 Action 跟 Actionsupport 的区别     当我们在写action的时候,可以实现Action接口,也可以继承Actionsu ...