ML 徒手系列 最大似然估计
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的总结博客。
ML 徒手系列 最大似然估计的更多相关文章
- ML 徒手系列说明
徒手系列正确打开方式: 1.徒手撸公式 2.徒手撸代码
- ML 徒手系列 拉格朗日乘子法
拉格朗日乘子法是解决极值问题的方法. 本方法是计算多元函数在约束条件下的极值问题的方法. 1.多元函数与约束问题 如下图所示,f(x,y)为多元函数,g(x,y)=c为约束条件.目的是计算在约束条件下 ...
- ML 徒手系列 SVM
在Lagrange乘子法中,介绍了如何构建及如何使用对偶函数,对目标问题进行求解. 这一章利用L乘子法对SVM进行推导. SVM 即支持向量机,是通过求解超平面进行分类的一种算法.所谓的支持向量,是在 ...
- 【ML数学知识】极大似然估计
它是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出现了,那么可以认为实验条件对A的出现有利,也即出现 ...
- 参数估计:最大似然估计MLE
http://blog.csdn.net/pipisorry/article/details/51461997 最大似然估计MLE 顾名思义,当然是要找到一个参数,使得L最大,为什么要使得它最大呢,因 ...
- 【MLE】最大似然估计Maximum Likelihood Estimation
模型已定,参数未知 已知某个随机样本满足某种概率分布,但是其中具体的参数不清楚,参数估计就是通过若干次试验,观察其结果,利用结果推出参数的大概值.最大似然估计是建立在这样的思想上:已知某个参数能使这个 ...
- 又看了一次EM 算法,还有高斯混合模型,最大似然估计
先列明材料: 高斯混合模型的推导计算(英文版): http://www.seanborman.com/publications/EM_algorithm.pdf 这位翻译写成中文版: http://w ...
- B-概率论-极大似然估计
[TOC] 更新.更全的<机器学习>的更新网站,更有python.go.数据结构与算法.爬虫.人工智能教学等着你:https://www.cnblogs.com/nickchen121/ ...
- LR为什么用极大似然估计,损失函数为什么是log损失函数(交叉熵)
首先,逻辑回归是一个概率模型,不管x取什么值,最后模型的输出也是固定在(0,1)之间,这样就可以代表x取某个值时y是1的概率 这里边的参数就是θ,我们估计参数的时候常用的就是极大似然估计,为什么呢?可 ...
随机推荐
- 如何从统计中批量获取BD搜索关键词及对应的入口页面?
前面我们介绍了通过cnzz的访问明细获取到搜索关键词及对应的入口页面,但是从BD搜索进来的关键词无法完整显示,只能呈现一些bd图片搜索的关键词,这是因为百度宣布从去年5月开始逐渐取消了referer关 ...
- Linux mint
最近一直在配置vim, 今天终于配的差不多了,拿出来晒晒,^_^ . 附上一段Linux Mint 的简介(来自Wiki). Linux Mint是一种基于Ubuntu开发出的Linux操作系统.由L ...
- ubuntu14.04搭建gitlab
以下内容来自:https://mirror.tuna.tsinghua.edu.cn/help/gitlab-ce/ (清华大学开源软件镜像站)可以直接移步上面的网站.这里做个笔记,也是为了记录一下 ...
- python 常用的字符串方法
st = ' hello Kitty 'str = 'hello {name} {age}' #print(st.format(name='fadfa'))#常用的字符串方法print(st.coun ...
- JDK8新特性:接口的静态方法和默认方法
在jdk8之前,interface之中可以定义变量和方法,变量必须是public.static.final的,方法必须是public.abstract的.由于这些修饰符都是默认的,所以在JDK8之前, ...
- 51nod 1513 && CF570D
题意:给定一棵树,每个节点有一个字母.给定若干个询问,询问某个子树内某一深度的节点是否能将这些节点组合成一个回文串.(深度是以根节点为基准的,不是当前子树根.)数据规模10^5. 神犇题解 子树问题, ...
- maven命令创建项目
1)创建一个Project mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArti ...
- MySQL中处理Null时要注意两大陷阱
MySQL数据库是一个基于结构化数据的开源数据库.SQL语句是MySQL数据库中核心语言.不过在MySQL数据库中执行SQL语句,需要小心两个陷阱. 陷阱一:空值不一定为空 空值是一个比较特殊的字段. ...
- java:练习学校学生
java:练习学校学生 一个学生对应一个学校 一个学校对应多个学生 Student类,School类,Demo测试类 Student: public class Student { private S ...
- java:练习超市卖场
java:练习超市卖场 涉及到:大商品类,具体商品(以书为例),卖场类 Goods,Book,superMart, 商品类Goods: public interface Goods { //商品类 ...