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

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

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

ε(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. Scala函数式编程——近半年的痛并快乐着

    从9月初啃完那本让人痛不欲生却又欲罢不能的<七周七并发模型>,我差不多销声匿迹了整整4个月.这几个月里,除了忙着讨食,便是继续啃另一本"锯著"--<Scala函数 ...

  2. iOS开发心得

    一步一步来,慢慢走. 正如昨天黄大哥所说:全身心地投入,遇到喜欢的工作更好,遇到不喜欢的工作那就把它当作一种能力的培养.坚持坚持!!!

  3. 【排序】希尔排序,C++实现

    原创博文,转载请注明出处! 本文代码的github地址 # 基本思路       希尔排序是”直接插入排序“的改进版,也称为“缩小增量排序”.基本原理:先将待排序的数组元素分成多个序列,然后对每个子序 ...

  4. Ubuntu 16.04安装QQ国际版

    QQ国际版wine-qqintl的下载链接:http://pan.baidu.com/s/1jIwKdXs sudo apt install  libgtk2.0-0:i386 sudo apt in ...

  5. three.js中点生成矩阵方法

    正常情况用threejs 点生成matrix4,方法为: 例如生成饶Y轴旋转的矩阵我们要的结果为: [cos, 0, -sin, 0,  0,  1,   0, 0, sin,  0,   cos, ...

  6. Ubuntu下环境变量设置

    [内容来自网络] 相应配置文件介绍: 1) /etc/profile :在登录时,操作系统定制用户环境使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,改文件被执行 2) /e ...

  7. spring boot 使用spring.resources.static-locations 分离系统模版&&资源文件

    方便我们将资源配置以及模版&&静态文件分离出来,而不是打包在一起,比如以下的一个demo 参考配置: server.port=8006 spring.application.name= ...

  8. openresty 几个插件使用

    1. jwt    opm get SkyLothar/lua-resty-jwt   2. cookie   opm get p0pr0ck5/lua-resty-cookie   3. http ...

  9. VirtulBox安装虚拟机(鼠标点击时)0x00000000指令引用的0x00000000内存该内存不能为written错误解决方案

    这个错误并不是所有人都会用到,我用的是WIN7系统,公司的电脑.查找了很多原因后,发现的确是由于系统主题被破解过的原因. 手工恢复风险太高.通过下面的工具就可以直接恢复.UniversalThemeP ...

  10. CSS样式属性分类

    A 文字 1 font-family:字体名称 注意: 当指定多种字体时,用“,”分隔每种字体的名称 当字体名称包含两个以上分开的单词是,用“”把该字体名称括起来. 当样式规则外已经有“”时,用‘’代 ...