本系列文章允许转载,转载请保留全文!

【请先阅读】【说明&总目录】http://www.cnblogs.com/tbcaaa8/p/4415055.html

1. 指数分布族简介

之前的文章分别介绍了因变量服从高斯分布、伯努利分布、泊松分布、多项分布时,与之对应的回归模型,本文章将阐释这些模型的共同点,并加以推广。

首先非正式地给出指数分布族的定义:

定义 如果变量y的分布可以被表示为p(y;η)=b(y)exp(ηTT(y)-a(η))的形式(η为分布的参数),则称y服从指数分布族

萌萌哒博主能力有限,关于指数分布族无法给出过多解释。如果对指数分布族的性质及a(η),b(y),T(y)的含义等内容有兴趣,请参考维基百科。

维基百科指数分布族参考链接:http://en.wikipedia.org/wiki/Exponential_family

2. 从特殊到一般:验证上述四分布属于指数分布族

2.1 高斯分布

以单变量高斯分布为例进行推导。高斯分布的概率密度函数如下:

对比指数分布族定义,可以发现:

从而验证了高斯分布属于指数分布族。

2.2 伯努利分布

伯努利分布的概率密度函数如下:

对比指数分布族定义,可以发现:

从而验证了伯努利分布属于指数分布族。

2.3 泊松分布

泊松分布的概率密度函数如下:

对比指数分布族定义,可以发现:

从而验证了泊松分布属于指数分布族。

2.4 多项分布

注意:在Softmax回归的背景下,对多项分布的自变量n1...nk进行了限制,即假设n1...nk恰有一个取值为1,其余为0。只有这样才能满足k分类的要求。在这种限制下,多项分布的自变量可以由k维向量转换为取值范围在{1...k}的标量,从而简化运算。在这种情况下,多项分布的概率密度如下:

化简至此,可以发现仍然与指数分布族有些许差距。继续将概率密度化为向量形式:

有没有似曾相识的感觉呢?如果取k=2,多项分布将退化为伯努利分布:伯努利分布是多项分布的特例,而多项分布是伯努利分布的推广。对比指数分布族定义,可以发现:

从而验证了多项分布属于指数分布族。

函数1{·}的含义参看本系列上一篇文章,此处不再赘述。参见:http://www.cnblogs.com/tbcaaa8/p/4486297.html

3. 广义线性模型

广义线性模型基于如下三点假设:

假设一 y(i)|x(i)相互独立且满足同一属于指数分布族的分布

假设二 E(T(y(i))|x(i))是y(i)|x(i)所满足的分布的参数

假设三 模型具有线性性,即η=θTx

基于以上假设,广义线性模型中的对数似然函数可以表示为如下形式:

下面求似然函数的极大值:

在线性回归、逻辑回归、泊松回归和Softmax回归中,将相关参数带入上式,即可得到对其损失函数求导后的结果(损失函数自身的意义小于其导函数的意义)。随后可以使用梯度下降(上升)法求解,也可以直接利用牛顿法求解。

注:线性回归由于参数σ2的存在,处理过程稍有不同,但结果是一致的;上式与损失函数求导后的结果相比,可能有符号的差别,这与损失函数的定义有关。

至此,广义线性模型问题基本解决,但仍遗留有一些细节问题。例如,在线性回归、逻辑回归、泊松回归和Softmax回归中提到的假设函数hθ(x)是怎么得出的?

在指数分布族中,未知参数为η,而我们想要求得的参数是一个权重向量θ。hθ(x)的作用,正是将二者关联起来,因此也称之为连接函数。在广义线性模型中,参数η其实是概率分布的某个参数(如高斯分布的参数μ,伯努利分布的参数Φ等)的函数,例如η=η(μ)等等,而连接函数则是其反函数,即μ=η-1(η)。解出反函数后,将η=θTx带入其中,即可得到hθ(x)。

那么,对于一个给定的回归模型,连接函数的选取是否是唯一的呢?

在一般情况下,应选择η-1作为连接函数。但选择形态上与其类似的函数作为连接函数也是可以的,例如在逻辑回归中,可以选择双曲正切函数代替sigmoid函数,只不过此时的回归模型不再是标准的回归模型了。

Machine Learning 学习笔记 (4) —— 广义线性模型的更多相关文章

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

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

  2. Machine Learning 学习笔记

    点击标题可转到相关博客. 博客专栏:机器学习 PDF 文档下载地址:Machine Learning 学习笔记 机器学习 scikit-learn 图谱 人脸表情识别常用的几个数据库 机器学习 F1- ...

  3. [Python & Machine Learning] 学习笔记之scikit-learn机器学习库

    1. scikit-learn介绍 scikit-learn是Python的一个开源机器学习模块,它建立在NumPy,SciPy和matplotlib模块之上.值得一提的是,scikit-learn最 ...

  4. Machine Learning 学习笔记1 - 基本概念以及各分类

    What is machine learning? 并没有广泛认可的定义来准确定义机器学习.以下定义均为译文,若以后有时间,将补充原英文...... 定义1.来自Arthur Samuel(上世纪50 ...

  5. Coursera 机器学习 第6章(上) Advice for Applying Machine Learning 学习笔记

    这章的内容对于设计分析假设性能有很大的帮助,如果运用的好,将会节省实验者大量时间. Machine Learning System Design6.1 Evaluating a Learning Al ...

  6. machine learning学习笔记

    看到Max Welling教授主页上有不少学习notes,收藏一下吧,其最近出版了一本书呢还,还没看过. http://www.ics.uci.edu/~welling/classnotes/clas ...

  7. Machine Learning 学习笔记 01 Typora、配置OSS、导论

    Typora 安装与使用. Typora插件. OSS图床配置. 机器学习导论. 机器学习的基本思路. 机器学习实操的7个步骤

  8. [Machine Learning]学习笔记-线性回归

    模型 假定有i组输入输出数据.输入变量可以用\(x^i\)表示,输出变量可以用\(y^i\)表示,一对\(\{x^i,y^i\}\)名为训练样本(training example),它们的集合则名为训 ...

  9. 吴恩达Machine Learning学习笔记(一)

    机器学习的定义 A computer program is said to learn from experience E with respect to some class of tasks T ...

随机推荐

  1. 理解python可变类型vs不可变类型,深拷贝vs浅拷贝

    核心提示: 可变类型 Vs 不可变类型 可变类型(mutable):列表,字典 不可变类型(unmutable):数字,字符串,元组 这里的可变不可变,是指内存中的那块内容(value)是否可以被改变 ...

  2. Windows phone 8 学习笔记(7) 设备(转)

    本节主要涉及到 Windows phone 8 手机支持的各类设备,包括相机.设备状态,振动装置等.还有各类感应器,包括磁力计.加速度器和陀螺仪.通过设备状态可以获取内存.硬件.电源.键盘等状态:通过 ...

  3. pcap文件格式及文件解析

    第一部分:PCAP包文件格式 一 基本格式: 文件头 数据包头数据报数据包头数据报...... 二.文件头: 文件头结构体 sturct pcap_file_header {      DWORD   ...

  4. 读取Jar包中的资源问题探究

    最近在写一个可执行jar的程序,程序中包含了2个资源包,一个是images,一个是files.问题来了,在Eclipse里开发的时候,当用File类来获取files下面的文件时,没有任何问题.但是当程 ...

  5. leetcode 70

    70. Climbing Stairs You are climbing a stair case. It takes n steps to reach to the top. Each time y ...

  6. java实现身份证校验

    原文来自:java教程网 题目:身份证校验   身份证校验   如果让你设计个程序,用什么变量保存身份证号码呢?长整数可以吗?不可以!   因为有人的身份证最后一位是"X"   实 ...

  7. C#局域网桌面共享软件制作(三)

    到周末了,继续做这个桌面共享软件,下面是前两篇的链接, 链接 C#局域网桌面共享软件制作(一) 链接 C#局域网桌面共享软件制作(二) 通过对图片进行压缩以后,每张图片大小38K左右(win7/102 ...

  8. LevelDb系列之简介

    说起LevelDb也许您不清楚,但是如果作为IT工程师,不知道下面两位大神级别的工程师,那您的领导估计会Hold不住了:Jeff Dean和Sanjay Ghemawat.这两位是Google公司重量 ...

  9. Android无法连接adb的解决方法

    今天在折腾乐蛙时发现无法链接ADB了,但是手机却显示USB调试模式! 然后想起了大蛋曾经告诉我CM的解决方法,于是你懂得,俺差点就把菊花给卖了呢(/Д`)~゚。 adb shell rm -r /da ...

  10. web开发中,前端javascript代码的组织结构

    网页包含三个层次: 结构(HTML) 表现(CSS) 行为(javascript) web标准中,三者要分离,网页源代码由三部分组成:.html文件..css文件和.js文件.就是说html文件中不应 ...