1、最大似然估计数学定义:

  假设总体分布为f(x,θ),X1,X2...Xn为总体采样得到的样本。其中X1,X2...Xn独立同分布,可求得样本的联合概率密度函数为:

  

  其中θ是需要求得的未知量,xi是样本值。

  此时,L(x,θ)是关于θ的函数,称之为似然函数。

  求参数θ值使得似然函数值取最大值,这种方法称之为最大似然估计。》》MLE

2、如何求解最大似然估计

  其中x是已知的,θ是需要求的变量值。如果最大似然函数可导,可以通过对θ求导的方式,取得L(x,θ)的极值。

  在实际中为了方便计算,往往先对L(x,θ)取对数:

    加入求导:

3、使用MLE推导逻辑回归

  逻辑回归中使用sigmoid函数,将输出值确定在范围0到1之间。此时输出的值相当于概率中某一个样本的值。即上述所讲的X1,X2...Xn。

而sigmoid函数中所需要求的w,即为似然函数中的θ。

  有如下公式:

    1、sigmoid函数

      此时没有截距b,加入后在归一化时会被约掉,所以干脆不使用b。

    2、sigmoid求导

         3、对数似然函数    

      概率分布为:

      将上面两式子写作联合:

      联合概率密度函数为:

      

      构建似然函数:

  4、求解MLE

  5、与UFLDL中的RL结合,改变某些表述:

    概率分布:    

    似然函数:

    

    求解MLE:

    矩阵形式:

得到似然函数对θ的导数后,使用梯度下降法来更新θ,使得最终的结果接近于label。

4、使用似然估计推导softma

  (此处使用UFLDL中的公式,敲公式好麻烦。。。)

  (1)概率

  (2)似然函数

  (3)对似然函数关于θq求导

      似然函数展开:

      求导:

最后,同样使用梯度下降法来求最优θ。

LR可以使用最大熵来推导,在后续给出。

参考:

UFLDL

有机会,会做一个UFLDL的总结博客。

ML 徒手系列 最大似然估计的更多相关文章

  1. ML 徒手系列说明

    徒手系列正确打开方式: 1.徒手撸公式 2.徒手撸代码

  2. ML 徒手系列 拉格朗日乘子法

    拉格朗日乘子法是解决极值问题的方法. 本方法是计算多元函数在约束条件下的极值问题的方法. 1.多元函数与约束问题 如下图所示,f(x,y)为多元函数,g(x,y)=c为约束条件.目的是计算在约束条件下 ...

  3. ML 徒手系列 SVM

    在Lagrange乘子法中,介绍了如何构建及如何使用对偶函数,对目标问题进行求解. 这一章利用L乘子法对SVM进行推导. SVM 即支持向量机,是通过求解超平面进行分类的一种算法.所谓的支持向量,是在 ...

  4. 【ML数学知识】极大似然估计

    它是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出现了,那么可以认为实验条件对A的出现有利,也即出现 ...

  5. 参数估计:最大似然估计MLE

    http://blog.csdn.net/pipisorry/article/details/51461997 最大似然估计MLE 顾名思义,当然是要找到一个参数,使得L最大,为什么要使得它最大呢,因 ...

  6. 【MLE】最大似然估计Maximum Likelihood Estimation

    模型已定,参数未知 已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值.最大似然估计是建立在这样的思想上:已知某个参数能使这个 ...

  7. 又看了一次EM 算法,还有高斯混合模型,最大似然估计

    先列明材料: 高斯混合模型的推导计算(英文版): http://www.seanborman.com/publications/EM_algorithm.pdf 这位翻译写成中文版: http://w ...

  8. B-概率论-极大似然估计

    [TOC] 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等着你:https://www.cnblogs.com/nickchen121/ ...

  9. LR为什么用极大似然估计,损失函数为什么是log损失函数(交叉熵)

    首先,逻辑回归是一个概率模型,不管x取什么值,最后模型的输出也是固定在(0,1)之间,这样就可以代表x取某个值时y是1的概率 这里边的参数就是θ,我们估计参数的时候常用的就是极大似然估计,为什么呢?可 ...

随机推荐

  1. [Java面试一]Spring总结以及在面试中的一些问题.(转发:http://www.cnblogs.com/wang-meng/p/5701982.html)

    1.谈谈你对spring IOC和DI的理解,它们有什么区别? IoC Inverse of Control 反转控制的概念,就是将原本在程序中手动创建UserService对象的控制权,交由Spri ...

  2. linux 10 -Bash Shell编程

    二十三. Bash Shell编程:     1.  读取用户变量:     read命令是用于从终端或者文件中读取输入的内建命令,read命令读取整行输入,每行末尾的换行符不被读入.在read命令后 ...

  3. HDU - 3081 Marriage Match II 【二分匹配】

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=3081 题意 有n对男女 女生去选男朋友 如果女生从来没和那个男生吵架 那么那个男生就可以当她男朋友 女 ...

  4. IAR 条件断点

    条件断点是IDE的一个重要功能,在IAR调试时候,经常跟踪一个数据,但是对较大的buffer,用普通的断点或live watch都不好跟踪. 比如某个buffer里一个数,我们知道他在第几个,但是却从 ...

  5. 【四】MongoDB索引管理

    一.索引介绍 在mongodb中,索引用来支持高效查询.如果没有索引,mongodb必须在整个集合中扫描每个文档来查找匹配的文档.但是如果建立合适的索引,mongodb就可以通过索引来限制检查的文档数 ...

  6. crond

    Crond介绍 Crond是linux系统用来定期执行命令或程序的工具. 服务 /etc/init.d/crond 命令 crontab [root@rhel6 script]# crontab -h ...

  7. HDU 之 City Game

                                                                                      City Game Time Lim ...

  8. sqlserver 2008 创建数据库的时候不是空库,里面总有数据的解决办法

    SqlServer2008 里面有个系统数据库 Model 数据库,在创建新数据库的时候,会以它为模板创建,所以如果发现你的Model数据库比较大,说明里面有很多模板数据.此时如果需要去创建没有数据的 ...

  9. oracle 从select的结果update其他表

    update a set a.id=(selelct b.id from temp b where b.line = a.line)  where a.line = (select line from ...

  10. jquery实现td控制显示宽度

    目的为了实现td表格元素出现省略的情况,然后点击中间位置是td的宽度增加. 实现代码如下,采用css+jquery的实现方式: <!DOCTYPE html> <html lang= ...