第四节  最大似然推导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)的更多相关文章

  1. 大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5)

                                                        大白话5分钟带你走进人工智能-第二十节逻辑回归和Softmax多分类问题(5) 上一节中,我们讲 ...

  2. 大白话5分钟带你走进人工智能-第32节集成学习之最通俗理解XGBoost原理和过程

    目录 1.回顾: 1.1 有监督学习中的相关概念 1.2  回归树概念 1.3 树的优点 2.怎么训练模型: 2.1 案例引入 2.2 XGBoost目标函数求解 3.XGBoost中正则项的显式表达 ...

  3. 大白话5分钟带你走进人工智能-第31节集成学习之最通俗理解GBDT原理和过程

    目录 1.前述 2.向量空间的梯度下降: 3.函数空间的梯度下降: 4.梯度下降的流程: 5.在向量空间的梯度下降和在函数空间的梯度下降有什么区别呢? 6.我们看下GBDT的流程图解: 7.我们看一个 ...

  4. 大白话5分钟带你走进人工智能-第36节神经网络之tensorflow的前世今生和DAG原理图解(4)

    目录 1.Tensorflow框架简介 2.安装Tensorflow 3.核心概念 4.代码实例和详细解释 5.拓扑图之有向无环图DAG 6.其他深度学习框架详细描述 6.1 Caffe框架: 6.2 ...

  5. 大白话5分钟带你走进人工智能-第30节集成学习之Boosting方式和Adaboost

    目录 1.前述: 2.Bosting方式介绍: 3.Adaboost例子: 4.adaboost整体流程: 5.待解决问题: 6.解决第一个问题:如何获得不同的g(x): 6.1 我们看下权重与函数的 ...

  6. 大白话5分钟带你走进人工智能-第35节神经网络之sklearn中的MLP实战(3)

    本节的话我们开始讲解sklearn里面的实战: 先看下代码: from sklearn.neural_network import MLPClassifier X = [[0, 0], [1, 1]] ...

  7. 大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out of bag data及代码(2)

              大白话5分钟带你走进人工智能-第二十九节集成学习之随机森林随机方式 ,out  of  bag  data及代码(2) 上一节中我们讲解了随机森林的基本概念,本节的话我们讲解随机森 ...

  8. 大白话5分钟带你走进人工智能-第三节最大似然推导mse损失函数(深度解析最小二乘来源)(1)

                                                    第三节最大似然推导mse损失函数(深度解析最小二乘来源)        在第二节中,我们介绍了高斯分布的 ...

  9. 大白话5分钟带你走进人工智能-第十四节过拟合解决手段L1和L2正则

                                                                               第十四节过拟合解决手段L1和L2正则 第十三节中, ...

随机推荐

  1. 微服务架构的基础框架选择:Spring Cloud还是Dubbo?

    最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论微服务架构.近期也看到各大技术社区开始组织一些沙龙和论坛来分享Spring Cloud的相关实施经验,这对于最近正在整理Spr ...

  2. WebRTC技术调研

    相关网址: 协议:https://www.w3.org/TR/webrtc/ https://apprtc.webrtc.org/ https://apprtc.appspot.com/ https: ...

  3. 微信公众号网页授权登录--JAVA

    网上搜资料时,网友都说官方文档太垃圾了不易看懂,如何如何的.现在个人整理了一个通俗易懂易上手的,希望可以帮助到刚接触微信接口的你. 请看流程图!看懂图,就懂了一半了: 其实整体流程大体只需三步:用户点 ...

  4. 115个Java面试题和答案——终极列表(下)【转】

    第一篇讨论了面向对象编程和它的特点,关于Java和它的功能的常见问题,Java的集合类,垃圾收集器,本章主要讨论异常处理,Java小应用程序,Swing,JDBC,远程方法调用(RMI),Servle ...

  5. Linux系统中常见文件系统格式

    Windows常用的分区格式有三种,分别是FAT16.FAT32.NTFS格式. 在Linux操作系统里有Ext2.Ext3.Linux swap和VFAT四种格式. FAT16: 作为一种文件名称, ...

  6. Django入门四之数据库相关

    1. 数据库设置 在settings.py中配置数据库 我首先使用的是sqlite3,所以配置如下 2. 数据库的数据结构定义 #blog/models.py #定义了一个表(Student),表里两 ...

  7. 小程序从后台输出的代码为HTML实体字符如何解决?

    最近在做一个小程序的考试系统,从后台调出的数据是这个样子的 那么我遇到这个问题的时候想到的微信小程序的富文本即(wxParse),使用过wxParse的都知道,富文本必须得具体到单个的数据上才能使用, ...

  8. 并发库应用之九 & 到时计数器CountDownLatch应用

    申明:CountDownLatch好像倒计时计数器,调用CountDownLatch对象的countDown方法就将计数器减1,当到达0时,所有等待者就开始执行. java.util.concurre ...

  9. QTP自动化测试流程

    1)准备TestCase        - 在进行自动化之前,将测试内容进行文档化,不建议直接录制脚本        - 在录制脚本之前设计好脚本,便于录制过程的流畅        - 由于测试用例设 ...

  10. 【线程系列五】什么时候释放锁—wait()、notify()

    由于等待一个锁定线程只有在获得这把锁之后,才能恢复运行,所以让持有锁的线程在不需要锁的时候及时释放锁是很重要的.在以下情况下,持有锁的线程会释放锁:    1. 执行完同步代码块.    2. 在执行 ...