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的概率 这里边的参数就是θ,我们估计参数的时候常用的就是极大似然估计,为什么呢?可 ...
随机推荐
- sublime 添加 注释插件 Docblockr
https://github.com/spadgos/sublime-jsdocs Package Control Open Package Control: Preferences -> Pa ...
- python基础20 -------python中的异常处理
一.python程序中的会出现的错误. 1.语法错误:这种错误根本过不了python解释器的语法检测阶段,必须在程序执行之前进行改正. 2.逻辑错误:这种错误虽然过了语法检测阶段但是程序在执行的过程中 ...
- Python 3 并发编程多进程之守护进程
Python 3 并发编程多进程之守护进程 主进程创建守护进程 其一:守护进程会在主进程代码执行结束后就终止 其二:守护进程内无法再开启子进程,否则抛出异常:AssertionError: daemo ...
- 20165101刘天野 2018-2019-2《网络对抗技术》Exp8 Web基础
20165101刘天野 2018-2019-2<网络对抗技术>Exp8 Web基础 1.实验内容 1.1 Web前端HTML (1)输入命令service apache2 start启动A ...
- JFreeChart的使用示例
示例一,饼图,简单示例: 导入jar,代码文件: 运行结果: 代码: import org.jfree.chart.ChartFactory;import org.jfree.chart.ChartF ...
- Serblet 过滤器(Filter)
Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息. 过滤器的作用: 1.身份验证过滤器 2.日志记录和审核过滤器 3.触发资源访问事件过滤器. 等等等... Ser ...
- Canvas drawImage
drawImage() 方法在画布上绘制图像.画布或视频. drawImage() 方法也能够绘制图像的某些部分,以及/或者增加或减少图像的尺寸. 这个方法有三张传参模式,3个参数,5个参数,9个参数 ...
- Uva 10820 Send a Table(欧拉函数)
对每个n,答案就是(phi[2]+phi[3]+...+phi[n])*2+1,简单的欧拉函数应用. #include<iostream> #include<cstdio> # ...
- HIVE SQL JOIN
最近总结了一下hive表关联的用法,与Postgres表关联还是有细微差别,总结在这里方便以后查看. join语法 join_table: table_reference [INNER] JOIN t ...
- android:layout_weight的真实含义/android:layout_gravity的条件
用layout_weight的时候,不要把宽度(或是高度,你想分配weight的那个)设成match_parent. android:layout_weight只适用于LinearLayout and ...