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

(一)局部加权回归

通常情况下的线性拟合不能很好地预测所有的值,因为它容易导致欠拟合(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}离散值而不是概率。其假设为
在这个假设的基础上,我们使用与


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

时间: 2024-10-25 18:35:01

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

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

(一)生成学习算法 在线性回归和Logistic回归这种类型的学习算法中我们探讨的模型都是p(y|x;θ),即给定x的情况探讨y的条件概率分布.如二分类问题,不管是感知器算法还是逻辑回归算法,都是在解空间中寻找一条直线从而把两种类别的样例分开,对于新的样例,只要判断在直线的哪一侧即可:这种直接对问题求解的方法可以称为判别学习方法. 而生成学习算法则是对两个类别分别进行建模,用新的样例去匹配两个模板,匹配度较高的作为新样例的类别,比如分辨大象(y=1)和狗(y=0),首先,观察大象,然后建立一个大

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

(一)朴素贝叶斯多项式事件模型 在上篇笔记中,那个最基本的NB模型被称为多元伯努利事件模型(Multivariate Bernoulli Event Model,以下简称 NB-MBEM).该模型有多种扩展,一种是在上一篇笔记中已经提到的每个分量的多值化,即将p(xi|y)由伯努利分布扩展到多项式分布:还有一种在上一篇笔记中也已经提到,即将连续变量值离散化.本文将要介绍一种与多元伯努利事件模型有较大区别的NB模型,即多项式事件模型(Multinomial Event Model,一下简称NB-M

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

(一)牛顿法解最大似然估计 牛顿方法(Newton's Method)与梯度下降(Gradient Descent)方法的功能一样,都是对解空间进行搜索的方法.其基本思想如下: 对于一个函数f(x),如果我们要求函数值为0时的x,如图所示: 我们先随机选一个点,然后求出该点的切线,即导数,延长它使之与x轴相交,以相交时的x的值作为下一次迭代的值. 更新规则为: 那么如何将牛顿方法应用到机器学习问题求解中呢? 对于机器学习问题,我们优化的目标函数为极大似然估计L,当极大似然估计函数取得最大时,其导

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

本课内容: 1.线性回归 2.梯度下降 3.正规方程组 监督学习:告诉算法每个样本的正确答案,学习后的算法对新的输入也能输入正确的答案 1.线性回归 问题引入:假设有一房屋销售的数据如下: 引入通用符号: m =训练样本数 x =输入变量(特征) y =输出变量(目标变量) (x,y)—一个样本 ith—第i个训练样本=(x(i),y(i)) 本例中:m:数据个数,x:房屋大小,y:价格 监督学习过程: 1) 将训练样本提供给学习算法 2) 算法生成一个输出函数(一般用h表示,成为假设) 3)

斯坦福吴恩达教授机器学习公开课第五讲笔记——判别分析/高斯判别分析/GPA+逻辑回归/laplace平滑/极大似然的原理

斯坦福大学机器学习公开课 ---Octave Tutorial Transcript

斯坦福大学机器学习公开课 ---Octave Tutorial Transcript Prompt (命令窗口提示符)can be changed with the command PS1('>> '). Transcript 1  Basics 1.1 Basic algebra in Octave Elementary +; -; *; / ;            %arithmetic operations. == ; ~=;&&; ||; xor ;  % logic

斯坦福大学机器学习公开课学习—1.机器学习的动机与应用

斯坦福大学机器学习公开课学习—1.机器学习的动机与应用 介绍了课程主要内容包含以下4点 1.supervised learning(监督学习) 2.learning theory(学习理论) 3.unsupervised learning(非监督学习) 4.reinforcement learning(强化学习) 其中介绍了很多例子,有一些例子还是非常有趣的: 而且通过课程内容我发现机器学习的应用范围真的比之前想象的大多了,而且现在也的确在很多领域取得了很大的成就. 监督学习介绍了回归问题,分类

斯坦福大学机器学习公开课---Programming Exercise 1: Linear Regression

斯坦福大学机器学习公开课---Programming Exercise 1: Linear Regression 1  Linear regression with one variable In thispart of this exercise, you will implement linear regression with one variableto predict profits for a food truck. Suppose you are the CEO of a rest

斯坦福大学机器学习公开课:Programming Exercise 2: Logistic Regression

斯坦福大学机器学习公开课:Programming Exercise 2: Logistic Regression---Matlab实现 1 Logistic Regression In this part of the exercise, I will build a logistic regression model to predict whether a student gets admitted into a university. You want to determine each