Stanford大学机器学习公开课(四):牛顿法、指数分布族、广义线性模型
(一)牛顿法解最大似然估计
Method)与梯度下降(Gradient
Descent)方法的功能一样,都是对解空间进行搜索的方法。其基本思想如下:
我们先随机选一个点,然后求出该点的切线,即导数,延长它使之与x轴相交,以相交时的x的值作为下一次迭代的值。
那么如何将牛顿方法应用到机器学习问题求解中呢?
上面是当参数θ为实数时的情况,当参数为向量时,更新规则变为如下所示:
其中,H是一个n*n的矩阵,n为参数向量的长度,亦即特征的数目,H是函数的二次导数矩阵,被称为Hessian矩阵,其某个元素Hij计算公式如下:
即为
,这里有点类似于用一阶导数
除以二阶导数;所以,用一个表示一阶导数的向量乘上一个表示二阶导数的矩阵的逆。
其中,η称为分布的自然参数(nature parameter);T(y)是充分统计量(sufficient
statistic),通常T(y)=y。当参数a、b、T都固定时,就定义了一个以η为参数的函数族。
顾客数量等问题;
将其转换形式,推导如下:
通过上式,就将伯努利分布表示成了指数分布的形式;其中:
可以看到,η的形式与之前提及的logistic函数一致,这是因为logistic模型对问题的前置概率估计是伯努利分布的缘故。
由上式可知:
推导的关键在于将指数内部的纯y项移到外面,纯非y项作为函数a,混杂项为。
Linear Model,GLM)。在伯努利分布表示成指数分布族的形式的公式中,η与参数φ的关系是logistic函数,再通过推导可以得到逻辑回归(推导过程在下面);在高斯分布表示成指数分布族的形式的公式中,η与正太分布的参数μ的关系是相等,我们可以推导出最小二乘模型(Ordinary
Least Squares)。通过这两个例子,我们大致可以得到结论,η以不同的映射函数与其它概率分布函数中的参数发生联系,从而得到不同的模型,广义线性模型正式将指数分布族中的所有成员(每个成员正好有一个这样的联系)都作为线性模型的扩展,通过各种非线性的连接函数将线性函数映射到其它空间从而大大扩大了线性模型可解决的问题。
依据这三个假设,我们可以推导出ogistic模型与最小二乘模型。Logistic模型的推导过程如下:
上式中,第一行是伯努利分布的性质,第二行由假设二与假设三推出。
同样的,对于最小二乘模型,推导过程如下:
其中,将η与原始概率分布中的参数联系起来的函数称为正则响应函数(canonical response
function),如即是正则响应函数。正则响应函数的逆称为正则关联函数(canonical
link function)。
多项式分布推导出的GLM可以解决多分类问题,是logistic模型的扩展。应用的问题比如邮件分类、预测病人患的什么病等。
其中,因为
为了使多项式分布能够写成指数分布族的形式,首先定义T(y),如下所示:
这样,我们还可以引入指示函数I,使得
这样,T(y)向量中的某个元素还可以表示成: 举例来说,当y=2时,
。根据上式,我们还可以得到:
于是,二项分布转变为指数分布族的推导如下:
上式中最后一步的各个分量分别如下:
由η表达式可知:
为了表示方便,再定义: 于是,可以得到:
代入,得到:
从而,我们就得到了连接函数,有了连接函数后,就可以把多项式分布的概率表达出来,即将上式代入
注意到,上式中的每个参数η都是一个可用线性向量表示出来的,因而这里的θ其实是一个二维矩阵。
那么如何根据假设函数h求得参数θ,当然还是最大似然函数的方法,最大似然函数如下:
对上式取对数,得到如下最大似然函数:
然后,将
regression。
Stanford大学机器学习公开课(四):牛顿法、指数分布族、广义线性模型的更多相关文章
- Stanford大学机器学习公开课(五):生成学习算法、高斯判别、朴素贝叶斯
(一)生成学习算法 在线性回归和Logistic回归这种类型的学习算法中我们探讨的模型都是p(y|x;θ),即给定x的情况探讨y的条件概率分布.如二分类问题,不管是感知器算法还是逻辑回归算法,都是在解 ...
- Stanford大学机器学习公开课(三):局部加权回归、最小二乘的概率解释、逻辑回归、感知器算法
(一)局部加权回归 通常情况下的线性拟合不能很好地预测所有的值,因为它容易导致欠拟合(under fitting).如下图的左图.而多项式拟合能拟合所有数据,但是在预测新样本的时候又会变得很糟糕,因为 ...
- Stanford大学机器学习公开课(六):朴素贝叶斯多项式模型、神经网络、SVM初步
(一)朴素贝叶斯多项式事件模型 在上篇笔记中,那个最基本的NB模型被称为多元伯努利事件模型(Multivariate Bernoulli Event Model,以下简称 NB-MBEM).该模型有多 ...
- Stanford大学机器学习公开课(二):监督学习应用与梯度下降
本课内容: 1.线性回归 2.梯度下降 3.正规方程组 监督学习:告诉算法每个样本的正确答案,学习后的算法对新的输入也能输入正确的答案 1.线性回归 问题引入:假设有一房屋销售的数据如下: 引 ...
- LR 算法总结--斯坦福大学机器学习公开课学习笔记
在有监督学习里面有几个逻辑上的重要组成部件[3],初略地分可以分为:模型,参数 和 目标函数.(此部分转自 XGBoost 与 Boosted Tree) 一.模型和参数 模型指给定输入xi如何去 ...
- Andrew Ng机器学习公开课笔记 -- 学习理论
网易公开课,第9,10课 notes,http://cs229.stanford.edu/notes/cs229-notes4.pdf 这章要讨论的问题是,如何去评价和选择学习算法 Bias/va ...
- Andrew Ng机器学习公开课笔记 -- 支持向量机
网易公开课,第6,7,8课 notes,http://cs229.stanford.edu/notes/cs229-notes3.pdf SVM-支持向量机算法概述, 这篇讲的挺好,可以参考 先继 ...
- Andrew Ng机器学习公开课笔记 -- Generalized Linear Models
网易公开课,第4课 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 前面介绍一个线性回归问题,符合高斯分布 一个分类问题,logstic回 ...
- Andrew Ng机器学习公开课笔记 -- Logistic Regression
网易公开课,第3,4课 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 前面讨论了线性回归问题, 符合高斯分布,使用最小二乘来作为损失函数 ...
随机推荐
- canvas对象arcTo函数的使用-遁地龙卷风
(-1)环境说明 我使用的浏览器是chrome49 (1)详细介绍 $(function() { var context = lol.getContext("2d"); conte ...
- 关于JavaScript中的创建对象的学习总结
一.最简单的对象创建方法 在JavaScript中,直接使用Object构造函数或对象字面量都可以很轻易地创建单个对象,缺点是:创建具有同一个接口(标准的OO中的接口概念)的多个对象时,会有大量重复代 ...
- 安装和配置VNC服务器的法则
导读 这是一个关于怎样在你的 CentOS 7 上安装配置VNC服务的教程.当然这个教程也适合 RHEL 7 .在这个教程里,我们将学习什么是 VNC 以及怎样在 CentOS 7 上安装配置VNC ...
- 关于promise(一)
该新特性属于 ECMAScript 2015(ES6)规范,在使用时请注意浏览器兼容性. 由于ES6原生提供Promise,所以无需安装Promise库.但在ES5环境下我们可以使用bluebird库 ...
- [COJ0985]WZJ的数据结构(负十五)
[COJ0985]WZJ的数据结构(负十五) 试题描述 CHX有一个问题想问问大家.给你一个长度为N的数列A,请你找到两个位置L,R,使得A[L].A[L+1].…….A[R]中没有重复的数,输出R- ...
- 关闭MyEclipse Derby服务
MyEclipse的Servers视图出现 MyEclipse Derby服务,一直想把它去掉在网上搜索了下,现已解决. 如下,MyEclipse菜单:window-->Preferences- ...
- am335x 虚拟机环境变量的设置及注释
我用的还是老的Linux3.2.0的内核,只是借用了TI am335x SDK 3.0里面的工具. 首先下载TI官方的SDK,上一章已经安装了一个Ubuntu14.04的虚拟机. TI 最新的SDK下 ...
- python 端口扫描仪
思路:使用socket进行连接测试,即客户端连接服务器. 核心代码如下: from socket import * def try_port(ip,port,protocol = SOCK_STREA ...
- angulaijs中的ng-upload-file与阿里云oss服务的结合,实现在浏览器端上传文件到阿里云(速度可以达到1.5M)
2015-10-26 angularjs结合aliyun浏览器端oos文件上传加临时身份验证例子 在服务端获取sts 源码: public class StsServiceSample { // 目前 ...
- python查找并删除相同文件-UNIQ File-script版本
今天用wxPython做了一个GUI程序,实现查找指定目录内的相同文件,主要原理是计算文件的md5值(计算前先找出文件大小相同的文件,然后计算这些文件的md5值,而不是所有文件都计算,大大减少了md5 ...