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. linux c编程:信号(四) sigaction

    signal 函数的使用方法简单,但并不属于 POSIX 标准,在各类 UNIX 平台上的实现不尽相同,因此其用途受到了一定的限制.而 POSIX 标准定义的信号处理接口是 sigaction 函数, ...

  2. pinpoint本地开发——collector

    本地启动collector 启动前准备 启动之前,要先确保本地已经可以正常package,install 必须保证install成功,才能进行后续步骤,无法install或者package参考[pin ...

  3. pycharm ctrl+滚轮调节字体大小

    File --> Setting --> Editor --> General --> 勾选Change font size (zoom) with Ctrl+Mouse Wh ...

  4. mysql 触发器(trigger) 总结

    触发器(trigger):监视某种情况,并触发某种操作. 触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/befo ...

  5. springmvc的优化

    二.springmvc的工作机制 在容器初始化时会建立所有url和controller的对应关系,保存到Map<url,controller>中.tomcat启动时会通知spring初始化 ...

  6. JAVA- 数据库连接池原理

    第一次Java程序要在MySQL中执行一条语句,那么就必须建立一个Connection对象,代表了与MySQL数据库的连接通过直接发送你要执行的SQL语句之后,就会调用Connection.close ...

  7. javascript中的this值

    如何确定this的值  this值会被传递给所有函数,this的值是基于运行时调用函数的上下文. 例如:从全局作用域调用sayFoo函数时,this引用window对象, 当它作为myObject的一 ...

  8. 分享知识-快乐自己:springboot之thymeleaf (1):简单的thymeleaf例子

    之前搞springboot时,发现spring很推荐thymeleaf,所以看了看学了学,感觉不错,做个笔记先. 做个简单和例子,项目是springboot,所以引入themeleaf相关包 pom. ...

  9. fflush(stdin)的对错?

    C和C++的标准里从来没有定义过 fflush(stdin).也许有人会说:"可是我用 fflush(stdin) 解决了这个问题,你怎么能说是错的呢?"的确,某些编译器(如VC6 ...

  10. Oracle学习笔记_04_多表查询

    一.概念: 1.多表连接有以下几种分法: (1)内连接           vs          外连接 (左.右.满) (2)等值连接        vs         不等值连接 (3)非自连 ...