大白话5分钟带你走进人工智能-第四节最大似然推导mse损失函数(深度解析最小二乘来源)(2)
第四节 最大似然推导mse损失函数(深度解析最小二乘来源)(2)
上一节我们说了极大似然的思想以及似然函数的意义,了解了要使模型最好的参数值就要使似然函数最大,同时损失函数(最小二乘)最小,留下了一个问题,就是这两个因素或者目的矛盾吗?今天我们就接着上面的问题继续解剖下去。
我们再来回顾下似然函数:
所谓似然函数就是一个大的乘项,它有多少项,取决于有多少个训练集的样本,因为它是判断训练集上发生的总概率最大的这么一个总似然函数。我们分析一下似然函数的取值由哪些因素确定?
是常数,
虽然是未知数,但是是个定值不能来回变,误差应该服从方差的高斯分布,不能来回变方差,唯一又能变又能影响最终结果的变量就是这一组
也就是
。 那么我们的目标就是找到一个θ(一组w) 使通过其计算出来似然函数结果最大,我们给似然函数起个名字叫
,为什么括号里是
,因为
的大小只看
的脸色,其它值都是定值,改变不了最终结果,只有
能改变结果,所以是关于
的函数。由于似然函数内部带着exp函数, 并且函数本身的形式是连乘,不太好求,所以我们在似然函数之前加了个log函数,因为log函数它是一个单调函数,而且是单调递增函数,不会影响函数的相对大小,并且
,
,天生的良好属性。它能函数中的累乘变成累加,更方便求解。所以为了似然函数的更好求解,我们在
两边加上log函数,如下:
我们来解析上面的每一步的来源,第一步不用怎么说,就是加了一个log, 需要注意的是没加log之前是大写的,加完log之后就是小写的
。第一步到第二步实际上就是对于每一个样本之前的累乘,由于
,加完log之后,所有的累乘变成累加,然后又用
表示出来。第二步到第三步,因为第二步中
个
累加,每一个利用
属性表示成
,而
是常数,所以
个累加就是
,而后半部分
累加,因为
,log和e在一起可以互相消掉,所以
因为每一项
不一样,所以写成
,同时后半部分结果又把负号也给提出来了,那么加起来结果就是我们的第三步
。给自己鼓个掌吧 ,这么难得公式都会了,而且跟着我一步步的给它解释出来,真是不容易。到此为止,我们就分析一下,能够使第三步即:
最大的是谁呢? 因为
是常数项,不去考虑它,它始终为正,所以有它没它都不会影响相对大小。那么也就是说只要
这一项越大,原始的
函数就越大。注意这前面带个负号,因为我们是看成两个整体相加,所以后半部分的那一项是带个负号的。那么把负号去掉了,或者说这一项
,这一项越小,原始的
函数就越大。而
是常数,不影响大小,也就是说能够使
最小的
就是能够使
最大的
。是不是已经很眼熟了?我们回顾下MSE(最小二乘):
发现一模一样,因为里面的位置不会影响相对大小。所以MSE(最小二乘)怎么来的?为什么说MSE(最小二乘)越小
就越好,取决于你背后估计了所有的误差,服从高斯分布,如果它不服从高斯分布,也就不能用mse来判断了。截止到目前,我们就发现了把它作为损失函数,真的是非常合理。实际上这就是它背后的理论依据。
我们总结下,我们说判别模型事先给定一个判别函数,对吧?它这个例子判别函数根据判别函数来合理的构造出一个损失函数来。这个损失函数往往都是通过MLE,也就是最大似然估计为理论基础建立出来的最合理的损失函数,而最大似然的理论源泉是误差服从均值为零的高斯分布,也即样本服从高斯分布,而后通过最大似然一步步推导得到最小二乘。,所以mse的损失函数的根本理论依据是什么?你就应该回答为假设方差服从均值为零的高斯分布。至于是不是所有的回归问题,都用MSE当损失函数,不一定。但是90%都是它。在一些特殊的场景里,你已知误差服从别的分布了,那就会建立出别的损失函数来。比如huber损失函数,有兴趣可以自己研究下。但绝大多数的场景都会使用MSE作为回归问题的损失函数。因为在你不知道任何情况的前提下,假设误差服从高斯分布是最常见且最合理的一种方式。自此,你从理论方面推导了最大似然和最小二乘的关系,也为最小二乘作为损失函数找到了数学的理论支撑。下一节中我们讲解怎么样求解最小二乘或者使其相对最小,从而找到我们相对合理的模型参数
。
大白话5分钟带你走进人工智能-第四节最大似然推导mse损失函数(深度解析最小二乘来源)(2)的更多相关文章
- 大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5)
大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5) 上一节中,我们讲 ...
- 大白话5分钟带你走进人工智能-第32节集成学习之最通俗理解XGBoost原理和过程
目录 1.回顾: 1.1 有监督学习中的相关概念 1.2 回归树概念 1.3 树的优点 2.怎么训练模型: 2.1 案例引入 2.2 XGBoost目标函数求解 3.XGBoost中正则项的显式表达 ...
- 大白话5分钟带你走进人工智能-第31节集成学习之最通俗理解GBDT原理和过程
目录 1.前述 2.向量空间的梯度下降: 3.函数空间的梯度下降: 4.梯度下降的流程: 5.在向量空间的梯度下降和在函数空间的梯度下降有什么区别呢? 6.我们看下GBDT的流程图解: 7.我们看一个 ...
- 大白话5分钟带你走进人工智能-第36节神经网络之tensorflow的前世今生和DAG原理图解(4)
目录 1.Tensorflow框架简介 2.安装Tensorflow 3.核心概念 4.代码实例和详细解释 5.拓扑图之有向无环图DAG 6.其他深度学习框架详细描述 6.1 Caffe框架: 6.2 ...
- 大白话5分钟带你走进人工智能-第30节集成学习之Boosting方式和Adaboost
目录 1.前述: 2.Bosting方式介绍: 3.Adaboost例子: 4.adaboost整体流程: 5.待解决问题: 6.解决第一个问题:如何获得不同的g(x): 6.1 我们看下权重与函数的 ...
- 大白话5分钟带你走进人工智能-第35节神经网络之sklearn中的MLP实战(3)
本节的话我们开始讲解sklearn里面的实战: 先看下代码: from sklearn.neural_network import MLPClassifier X = [[0, 0], [1, 1]] ...
- 大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out of bag data及代码(2)
大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out of bag data及代码(2) 上一节中我们讲解了随机森林的基本概念,本节的话我们讲解随机森 ...
- 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)
第三节最大似然推导mse损失函数(深度解析最小二乘来源) 在第二节中,我们介绍了高斯分布的 ...
- 大白话5分钟带你走进人工智能-第十四节过拟合解决手段L1和L2正则
第十四节过拟合解决手段L1和L2正则 第十三节中, ...
随机推荐
- Python函数式实现单例特性
传统的单例一般是基于类的特性实现,Python模块是天生的单例,下面来个简单的借助模块和函数实现单例特性: gdb = None def get_gdb(): global gdb if gdb is ...
- ThinkPHP简单的验证码实现
ThinkPHP简单的验证码实现 写一个最简单的TP验证码. 写Controller 首先在Controller/IndexController.class.php(简称Index)文件中编辑: &l ...
- Taurus.MVC 支持Asp.Net Core 的过程
前言: 这些天,似乎.NET Core相关的新闻和文章经常在我眼前晃~~~ 昨天,微软又发布了.Core 2.1,又愰了一下,差点没亮瞎我的眼睛. 好吧,大概是上天给我的暗示,毕竟 CYQ.Data ...
- Hi,这有一份风控体系建设干货
互联网.移动互联网.云计算.大数据.人工智能.物联网.区块链等技术已经在人类经济生活中扮演越来越重要的角色,技术给人类带来各种便利的同时,很多企业也饱受"硬币"另一面的伤害,并且形 ...
- hive------ Group by、join、distinct等实现原理
1. Hive 的 distribute by Order by 能够预期产生完全排序的结果,但是它是通过只用一个reduce来做到这点的.所以对于大规模的数据集它的效率非常低.在很多情况下,并不需要 ...
- ubantu和虚拟机tools 安装 小问题集结
一.虚拟机 就安装虚拟机而言,个人觉得还是比较简易的,毕竟VMware workstation pro 是一个开源的软件,只要在网上搜索即可,这里我提供一个虚拟机的资源: 链接:http://pan. ...
- UIDatePicker在swift中的使用
在上一篇文章中,创建了UISegmentedControl控件并了解它的简单用法,这篇文章主要学习DatePicker的使用,将通过Swift语言创建一个简单的例子. UIDatePicker对象:是 ...
- 剑指Offer_编程题之重建二叉树
题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7, ...
- 前端面试题总结二(js原型继承)
今天这篇文章整理了JS原型和继承的一些知识点,面试的时候 基!本!都!会!问!还不快认真阅读下文,看看你还有哪些知识点需要掌握吧~ 1.原型链 基本思想:利用原型让一个引用类型继承另外一个引用类型的 ...
- YII框架CGridView分页实现
C控制器层 $model = new User('search'); $model->unsetAttributes(); $dataProvider = $model->search() ...