在我们遇到回归问题时,例如前面提到的线性回归,我们总是选择最小而成作为代价函数,形式如下:

这个时候,我们可能就会有疑问了,我们为什么要这样来选择代价函数呢?一种解释是使我们的预测值和我们训练样本的真实值之间的距离最小,下面我们从概率的角度来进行解释。

首先假设输入变量和目标变量满足下面的等式

ε(i)指的是误差,表示我们在建模过程中没有考虑到的,但是它对预测的结果又有影响。它是独立同分布(IID:independently and identically distributed)的高斯分布。(可以看看中心极限定理)

所以我们可以得到

将现行回归方程代入我们可以得到

其中符号  表示以θ 为参数,给定  时  的分布。如果给定 (设计矩阵,包括所有的  )和 ,则目标变量的分布可以写成,所以我们可以将它看成是关于的函数。同样,从另外一个角度,我们可以把它看成是关于θ的函数,这个函数称之为似然函数(likelihood function),形式如下:

由于已经假设  独立同分布,所以我们可以写成如下形式

这样我们就得到了y(i) 和x(i)之间的关系模型,这样问题就来了,我们该怎么去学习参数θ 呢?

在运用似然函数求解时候,我们一般运用最大似然估计,它的思想是:已知某个参数能使这个样本出现的概率最大,我们当然不会再去选择其他小概率的样本,所以干脆就把这个参数作为估计的真实值。也即,我们取L(θ)最大时候的θ值。

求解过程:

先对似然函数取对数,然后求解

所以对于取最大,则要求取最小,也即我们的代价函数。

至此,我们最大化似然函数l(Θ),等价于最小化损失函数J(Θ),这也说明了在我们的推导中,最后结果与我们假设的高斯分布的方差σ是没有关系的。

回过头来再考虑一下,我们假设了什么,我们假设误差项服从高斯分布,这个假设对于线性回归模型来说非常形象,其实我们一开始就假设了这个模型是一个线性模型,那么很自然的我们会考虑误差一定是离线性函数越近可能性越大,离线性函数越远可能性越小。所以在机器学习模型中,假设对于我们来说相当重要。

回归问题中代价函数选择的概率解释(Probabilistic interpretation)的更多相关文章

  1. Linear Regression(线性回归)(三)—代价函数J(θ)选择的概率解释

    (整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 在遇到线性回归问题时,我们总是令.可是我们为什么这样选择代价函数呢 ...

  2. Visual Studio工具栏中无法选择调试设备

    Visual Studio工具栏中无法选择调试设备 在Visual Studio工具栏中,默认显示已经识别的设备.用户可以从中选择对应的设备,进行调试和部署App.但是由于误操作,可能导致该选项丢失. ...

  3. VIM 中鼠标选择不选中行号

    VIM 中鼠标选择不选中行号 在Vim中,我们一般会使用 :set nu 打开行号开关. 但是打开行号后,有个弊端,那就是在用鼠标进行选择的时候,会将前面的行号也一起进行拷贝了.但是在gVim中进行选 ...

  4. ArcGIS Engine中如何获取Map中已经选择的要素呢

    1.使用IEnumFeturea对象获取map中的FeatureSelection,该方法可以获取所有图层的选择要素.IMap中的FeatureSelection可不是IFeatureSelectio ...

  5. 如何在VBS脚本中显示“选择文件对话框”或“选择目录对话框”

    .选择文件[XP操作系统,不能用于Win2000或98],使用“UserAccounts.CommonDialog”对象向用户显示一个标准的“文件打开”对话框 Set objDialog = Crea ...

  6. python random从集合中随机选择元素

    1.使用python random模块的choice方法随机选择某个元素 from random import choice foo = ['a', 'b', 'c', 'd', 'e'] print ...

  7. Python中的选择排序

    选择排序 选择排序(Selection sort)是一种简单直观的排序算法.它的工作原理如下.首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大 ...

  8. Confluence 6 后台中的选择站点首页

    后台中的选择站点首页选择项. https://www.cwiki.us/display/CONFLUENCEWIKI/Configuring+the+Site+Home+Page

  9. vb编程中的选择结构语句的写法

    1996年,Bohra和Jacopin提出了结构化算法的3中种基本结构:顺序结构.选择结构和循环结构 目前已经得到证明,无论多么复杂的程序,都是由上面的3种基本结构中的一种或者多种的组合构成 在此笔者 ...

随机推荐

  1. Android 开发技术选型(博客,新闻,阅读类)

    前言 最开始学习写应用的时候,发现类聚合数据这个平台可以提供一些免费数据接口,于是写了个人的第一个应用-– JuheNews,当时的知识储备稍显粗糙,虽然现在的知识也不咋滴,但是相对之前而言还是有些进 ...

  2. Jenkins简单的使用

    1.每个版本开发提单子,写清楚发布那个项目.配置文件.所执行SQL语句等:QA开始部署测试环境 2.如下时发布项目 一.版本发布 登陆系统,选择对应的项目(以api-gateway为例,如果找不到对应 ...

  3. C++Builder中的延时函数

    第一种方法: 使用 Sleep(1000) 函数 如果使用Sleep(1000);的时候提示如此错误   [C++ Error] supplierPayment_.cpp(321): E2015 Am ...

  4. iot_programe Makefile hacking

    /***************************************************************************** * iot_programe Makefi ...

  5. [javascript]复制到剪切板

    <!-- 一个简单的小栗子 --> <button class="copy-link" data-fulllink="要被复制的内容在这里-" ...

  6. git 第一次提交至仓库

    可以打开Idea 的 terminal直接进行命令操作 1.git init 2.git add src(这个src意思是添加src目录下的所有文件,有些会说add ..    那就是提交工程下的所有 ...

  7. ffmpeg hls 点播负载均衡简单实现

    备注: 主要是进行文件的切片处理,以及m3u8 的文件前缀添加以达到通过nginx 或者类似的分布式文件工具进行数据切片处理 参考配置如下: ffmpeg -y -i mydemo.mp4 -vcod ...

  8. tidb 安装试用&&以及安装几个问题解决

    备注:    tidb 听说已经很长时间了,一直无安装部署(主要是不像cockrouchdb 不见那么简单)   1. 环境准备(官方建议使用6台机器) // 我的机器准备(阿里云的,同时大家最好选择 ...

  9. 基于C#的UDP协议的异步实现

    一.摘要 总结UDP传输协议的异步实现. 二.实验平台 visual studio 2010 三.实验实例 服务器端代码: using System; using System.Collections ...

  10. zookeeper事件监听

    原来有两张表,一张是公司的,一张的产品的,项目中用来查询,不需要增删改.现在增删改交给另一项目去维护,由他们变更时同步数据到zk,我们去取.很明显,这里需要一个监听器,每次他项目发起数据变更时,我方必 ...