(一)局部加权回归

通常情况下的线性拟合不能很好地预测所有的值,因为它容易导致欠拟合(under
fitting)。如下图的左图。而多项式拟合能拟合所有数据,但是在预测新样本的时候又会变得很糟糕,因为它导致数据的
过拟合(overfitting),不符合数据真实的模型。如下图的右图。

下面来讲一种非参数学习方法——局部加权回归(LWR)。为什么局部加权回归叫做非参数学习方法呢?首先,参数学习方法是这样一种方法:在训练完成所有数据后得到一系列训练参数,然后根据训练参数来预测新样本的值,这时不再依赖之前的训练数据,参数是确定的。而非参数学习方法是这样一种算法:在预测新样本值的时候,每次都会重新训练数据得到新的参数值,亦即说每次预测样本都会依赖训练数据集合,所以每次得到的参数是不确定的。
局部加权回归算法是对线性回归的扩展,当目标假设是线性模型时,使用线性回归自然能拟合得很好,但如果目标假设不是线性模型,比如一个忽上忽下的函数,这时用线性模型就拟合得很差。为了解决这个问题,当当我们在预测一个点的值时,我们选择和这个店相近的点而不是全部得点做线性回归。基于这个思想,就有了局部加权回归算法。之前普通的线性拟合中,我们得到了最小二乘的损失函数为


找到合适的参数θ使得上述损失函数最小即可。而在局部加权回归中,损失函数变为
其中,是权值,它的作用在于根据要预测的点与数据集中的点的距离来为数据集中的点赋权值,当某点距离待预测点较远时,其权重较小,否则较大。一个较好的函数如下

其性质为:
(1)如果,则

(2)如果,则

其中,τ被称为波长参数,用于控制权值随距离下降的速率。该函数比较像但不是高斯函数或正太分布。这个算法的问题在于,对于每一个要查询的点,都要重新依据整个数据集计算一个线性回归模型出来,这样使得计算代价极高。

(二)最小二乘法的概率解释

接下来,对线性回归中的最小二乘法的合理性做了概率解释,即为什么选择平方函数作为目标函数会使得效果比较好?
假设一:对于每一个样例(x(i),y(i)),特征值x和目标值y的关系可以表示成:

其中,ε(i)
 表示线性模型与目标值的误差。
 
假设二:ε(i)
 服从正态分布:

假设一只是一种表示方法,成立很合理。那么假设二为何会成立呢?这是因为影响误差的因素有很多,这些因素都是随机分布,根据中心极限定理(Central
Limit Thoery),即许多独立随机变量的和趋向于正态分布,我们可以得到假设二。
 
   
 有了假设二之后,我们可以得到:

这也表示,当给定参数θ和x时,目标值y也服从正态分布:
注意到x(i)与θ间的分号,它表示的是θ是已知变量而非随机变量;整个P式表示给定以θ为参数的概率。

假设三:对于各个样例的误差ε(i) ,它们是IID(独立同分布,Independent
Identical Distribution)随机变量。
这样,我们就可以得到似然函数:

其中,Y是一个长度为样例数的向量,X是样例数*特征数的矩阵。
似然函数的意义是什么?似然函数表示的是在参数θ下,数据集出现的概率。似然函数与概率的概念其实相似,不同之处在于似然函数把θ作为变量,找到使得数据集出现的概率最大时的参数,就称为极大似然估计。
对上式取log对数,即对一个乘积取对数等于对每项取对数之后再求和。可得下式:

所以,最大化等同于最小化

所以,之前讲的一般的最小二乘法实际上是在假设误差项满足高斯分布且独立同分布的情况下,使似然性最大化。

 
 
(三)逻辑回归

 
对于目标值是连续变量的问题来说,使用线性回归可能会解决得很好,即便其问题不是线性模型所能解决的,也可以用局部加权回归解决。但对于目标值是离散变量的分类问题来说,应用线性模型会有一定的困难。当然,有些这类问题也可以应用线性模型,但线性模型绝不是一种通用的解决这类问题的方法。
对于目标值是离散变量的二分类问题,假设目标值为{0,1},所以先改变模型使其预测值在[0,1]之间,我们选择这样一个函数:

其中,函数g被称为logistic函数或sigmoid函数。
有了这个函数,对于一个样例,我们就可以得到它分类的概率值:


将两式组合起来,得到公式如下: 这样,我们得到了函数h在整个数据集上的似然函数为:
同样的,为了计算方便,对似然函数取对数: 因为要求最大似然函数,可应用梯度上升算法,所以有如下更新规则: 求上式的导数时,根据上节课的做法,先假设有一个样例,这样,导数的解法如下:

考虑到多个样例,所以更新规则为:
上式与上节课中最小二乘的形式一样,但是实际上含义是不一样的,因为函数h不一样。但这并不是巧合,这几乎是一种通用的规则,你可以选择不同的假设,但如果使用梯度下降(上升)算法的话,更新规则都是如上式的形式的。

 
(四)感知器算法
感知器算法强迫函数输出为{0,1}离散值而不是概率。其假设为
在这个假设的基础上,我们使用与


形式相同的规则,就得到了感知器算法。感知器算法是人工神经网络的基础,在后面的理论学习中,将把它作为分析的起点。

Stanford大学机器学习公开课(三):局部加权回归、最小二乘的概率解释、逻辑回归、感知器算法的更多相关文章

  1. Stanford大学机器学习公开课(六):朴素贝叶斯多项式模型、神经网络、SVM初步

    (一)朴素贝叶斯多项式事件模型 在上篇笔记中,那个最基本的NB模型被称为多元伯努利事件模型(Multivariate Bernoulli Event Model,以下简称 NB-MBEM).该模型有多 ...

  2. Stanford大学机器学习公开课(五):生成学习算法、高斯判别、朴素贝叶斯

    (一)生成学习算法 在线性回归和Logistic回归这种类型的学习算法中我们探讨的模型都是p(y|x;θ),即给定x的情况探讨y的条件概率分布.如二分类问题,不管是感知器算法还是逻辑回归算法,都是在解 ...

  3. Stanford大学机器学习公开课(四):牛顿法、指数分布族、广义线性模型

    (一)牛顿法解最大似然估计 牛顿方法(Newton's Method)与梯度下降(Gradient Descent)方法的功能一样,都是对解空间进行搜索的方法.其基本思想如下: 对于一个函数f(x), ...

  4. Stanford大学机器学习公开课(二):监督学习应用与梯度下降

    本课内容: 1.线性回归 2.梯度下降 3.正规方程组   监督学习:告诉算法每个样本的正确答案,学习后的算法对新的输入也能输入正确的答案   1.线性回归 问题引入:假设有一房屋销售的数据如下: 引 ...

  5. LR 算法总结--斯坦福大学机器学习公开课学习笔记

    在有监督学习里面有几个逻辑上的重要组成部件[3],初略地分可以分为:模型,参数 和 目标函数.(此部分转自 XGBoost 与 Boosted Tree) 一.模型和参数   模型指给定输入xi如何去 ...

  6. [置顶] 局部加权回归、最小二乘的概率解释、逻辑斯蒂回归、感知器算法——斯坦福ML公开课笔记3

    转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/9113681 最近在看Ng的机器学习公开课,Ng的讲法循循善诱,感觉提高了不少 ...

  7. 第三集 欠拟合与过拟合的概念、局部加权回归、logistic回归、感知器算法

    课程大纲 欠拟合的概念(非正式):数据中某些非常明显的模式没有成功的被拟合出来.如图所示,更适合这组数据的应该是而不是一条直线. 过拟合的概念(非正式):算法拟合出的结果仅仅反映了所给的特定数据的特质 ...

  8. 局部加权回归、欠拟合、过拟合 - Andrew Ng机器学习公开课笔记1.3

    本文主要解说局部加权(线性)回归.在解说局部加权线性回归之前,先解说两个概念:欠拟合.过拟合.由此引出局部加权线性回归算法. 欠拟合.过拟合 例如以下图中三个拟合模型.第一个是一个线性模型.对训练数据 ...

  9. Andrew Ng机器学习公开课笔记 -- 线性回归和梯度下降

    网易公开课,监督学习应用.梯度下降 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 线性回归(Linear Regression) 先看个 ...

随机推荐

  1. linux 之常见的好用命令

    参考网址:软件匠艺小组之第八期把命令行玩飞起来 1.如果想要将文件重定向到文件里,而又想看重定向的内容, tee命令 例如:ls | tee foot.txt 2.如果想要字母显示为大写独特的,命令: ...

  2. jQuery插件之simplemodal

    1.simplemodal在内部定义了如下css类 simplemodal-overlay:遮罩 simplemodal-container:弹出窗口容器 simplemodal-wrap simpl ...

  3. Unity开发-你必须知道的优化建议

    转自:http://blog.csdn.net/leonwei/article/details/18042603 最近研究U3D开发,个人认为,精通一种新的技术,最快最好的方法就是看它的documen ...

  4. leetcode 236. Lowest Common Ancestor of a Binary Tree

    Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...

  5. JavaScript判断是否是手机mobile登录

    在页面代码中加入以下js,即可利用JavaScript判断是否是手机mobile登录! <script type="text/javascript" src="${ ...

  6. Android坐标系统

     1 背景 去年有很多人私信告诉我让说说自定义控件,其实通观网络上的很多博客都在讲各种自定义控件,但是大多数都是授之以鱼,却很少有较为系统性授之于渔的文章,同时由于自己也迟迟没有时间规划这一系列文章, ...

  7. Python之函数之路

    1 集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 创建集合 a = {3, 5, 9, 9, ...

  8. phpcms后台进入地址(包含No permission resources错误)

    安装phpcms后却不知道怎么进入后台,实际上输入如下地址即可进入后台登陆界面: http://你的域名/admin.php 如果出现No permission resources.错误,可能是之前修 ...

  9. java实现远程储存读取文件

    import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileN ...

  10. 【MySQL】MySQL 如何实现 唯一随机数ID

    如果不是 UUID 好像比较困难 参考资料: http://bbs.csdn.net/topics/390001507 https://www.zhihu.com/question/20151242