1. Supervised Learning - Linear Regression

Linear
Regression线性回归


Notation


给定一个样本集T

样本总数为m

每个样本记做

其中为输入变量,也称为特征变量;为我们要预测的输出变量,也称为目标变量

表示第个样本。

问题描述

给定一个样本集,学习一个函数
使得是对相应y的一个好的预测。

因为某些历史原因,h被称为假设hypothesis)。

整个过程如下图所示:

如果我们想要预测的目标变量是连续值,称为回归问题regression);

当目标变量是少数离散值时,称为分类问题(classification)

如何表示h

是线性函数的参数(parameters)。

为了使我们的标记更简单,我们添加项:

Cost function代价函数

我们要使尽可能的靠近y

定义一个函数来度量与相应之间的距离,称为代价函数(cost
function)

代价函数就是最小二乘(OLS
ordinary least squares )

使尽可能的靠近y,也就是选择最小化

#1 Gradient descent algorithm 梯度下降算法

首先始化一个随机的,然后重复的执行以下操作来更新

α
被称作学习速率(learning rate)

脑补如下前景:你从山上往山谷走,每一步在x轴方向走α长度,每走一步前向四周张望,选择最陡的方向走。

继续脑补:α大时,你很快就跑下山,但说不定就跨过全局最小值;α大时,下山需要花很长时间,但会更好的收敛于最小值。

求偏导,假设只有一个训练样本时:

所以可以得到更新策略:

被称为LMS(least mean
squares)更新策略,也称为Widrow-Hoff学习策略(Widrow Hoff 1960)

根据LMS更新策略,得到以下算法:

这个算法的特点是每此迭代都会查看所有的样本,所以被称为批梯度下降batch
gradient descent

与批梯度下降算法相比,下面的算法每次迭代只查看一个样本:

被称为随机梯度下降stochastic
gradient descent
also incremental gradient descent)

当样本集比较大时,随机梯度下降比批梯度下降更快接近最小值,但随机梯度下降会在最小值附近徘回,而不会收敛于最小值。如果你在迭代的过程中减小α,随机梯度下降同样会收敛于最小值。

实际中,每个接近最小值都是可用的,有些值的泛化误差甚至小于最优值。

一般来说,梯度下降算法不能保证收敛于全局最优点。但如果目标函数是凸的(Convex),可以保证收敛于全局最优点。

过程如图,自行脑补:

特征放缩(Feature Scaling)

保证特征有相近的尺度会帮助梯度下降算法更快收敛。如图,自行脑补:

最常用的方法是正规化:

其中是平均值,是标准差

如何确定收敛,如何确定α?

绘制与迭代次数的关系图观测算法在何时趋于收敛

自动测试是否收敛的方法,例如将代价函数的变化直与某个阀直(例如0.001)进行比较,但通常看上面这样的图表更好。

梯度下降算法的每次迭代受到学习率的影响,如果学习率α过小,则达到收敛所需的迭代次数会非常高;如果学习率α过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。

通常可以考虑尝试这些学习率:

α=0.01,0.3,0.1,0.3,1,3,10

#2 Normal equations 正规方程组

有直接解法:求导,令导数为零

求解过程见cs229
Lecture notes,使用Matrix derivatives和trace operator简化了运算

比较喜欢这句"Armed with the tools of matrix
derivatives, let us now proceed to find in closed-form the value of θ that
minimizes J (θ)."

最终得到normal
equations:

如果可逆,有如下解:(不可逆请用伪逆)

Normal equations
VS gradient descent

normal
equations
可以直接得到的解,不用担心gradient
descent
没有收敛的问题

normal
equations
中求逆的过程非常耗时,而gradient
descent
对于特征数量n较大问题常常速度比normal equations

gradient
descent
有个好处是可控:时间比较有限,设置一个比较大的α少跑几圈;时间比较充裕,设置一个比较小的α多跑几圈;对现在的值不满意可以接着跑

n小于10000考虑用Normal equations

#3 Ridge
regression岭回归(正则化Regularization)

如果矩阵不满秩,或者其他数值解不稳定的情况(线性相关),则可以使用下面的解:

岭回归的算法通过最小化带惩罚项的代价函数:

参数在最小化与最小化误差平方和之间起到平衡作用

梯度下降不存在这种问题

Model selection模型选择

可以添加高次项,或者自行构造有些特征使线性回归可以做拟合出非线性函数出来

比如

再比如考虑通过把房屋长度和宽度相乘构造房屋面积特征

后面会专门开辟一章讲模型选择

Probabilistic interpretation最小二乘法的概率诠释

为什么最小二乘法最为代价函数?

假设样本来自某未知的过程:

其中项捕捉了建模的参数对输出的影响,和随机噪音。

假设:(个人感觉这样的假设还是比较合理的)

1.独立同分布(IID
independently and identically distributed)

2.

也就是:

标记指不是随机变量,而是真实存在,未被发现的值。

用极大似然估计法(Maximum Likehood
Estimate)对进行估计:

最大化?(θ)等价于最小化代价函数:

以上的假设(独立同分布,)不是最小二乘法的必要条件。

充分必要条件来自Gauss–Markov
theorem
。这个定理同时有多个等价版本。。

Anscombe‘s quartet安斯库姆四重奏

考虑一下四组数据(F.J. Anscombe 1973)














































































































x

10

8

13

9

11

14

6

4

12

7

5

y

8.04

6.95

7.58

8.81

8.33

9.96

7.24

4.26

10.84

4.82

5.68

x

10

8

13

9

11

14

6

4

12

7

5

y

9.14

8.14

8.74

8.77

9.26

8.1

6.13

3.1

9.13

7.26

4.74

x

10

8

13

9

11

14

6

4

12

7

5

y

7.46

6.77

12.74

7.11

7.81

8.84

6.08

5.39

8.15

6.42

5.73

x

8

8

8

8

8

8

8

19

8

8

8

y

6.58

5.76

7.71

8.84

8.47

7.04

5.25

12.5

5.56

7.91

6.89

进行线性回归,得到相同的直线方程(你这是在逗我)

第一组数据是大多人看到上述统计数字的第一反应,是最"正常"的一组数据;

第二组数据所反映的事实上是一个精确的二次函数关系,只是在错误地应用了线性模型后,各项统计数字与第一组数据恰好都相同;

第三组数据描述的是一个精确的线性关系,只是这里面有一个异常值,它导致了上述各个统计数字,尤其是相关度值的偏差;

第四组数据则是一个更极端的例子,其异常值导致了平均数、方差、相关度、线性回归线等所有统计数字全部发生偏差。

所以请不要滥用线性回归,以及其他机器学习算法。拿到数据的第一件事就是把数据绘来。

正态性检验

直方图,排列图/柏拉图,概率纸图,Q-Q图,P-P图等有时间再做整理

[请善用excel,最强大的数据分析工具,没有之一]

Locally weighted
linear regression 局部加权线性回归

1.学习θ ,使得最小化,其中权重

2.输出

non-parametric
algorithm 非参数算法(为了做预测,须存储东西的数量随着样本数量的增加而线性增加)

预测阶段需要整个样本集

如果样本离x较远,
较大,接近于0;如果样本离x较近,
较小,接近于1。

τ控制随样本与x的距离下降的多快,称为带宽参数(bandwidth)

参考资料


  • [1]
    CS229 Lecture notes 1 (ps) (pdf) 
    Supervised Learning, Discriminative Algorithms Andrew Ng

  • [2]
    Coursera Machine Learning
    Andrew Ng

  • [3]《数据之魅:基于开源工具的数据分析》
    Philipp
    K. Janer [Anscombe‘s quartet安斯库姆四重奏部分]

  • [4]《支持向量机导论》
    Nello
    Cristianini,John Shawe-Taylor [Ridge regression岭回归部分]

  • [5]《Locally weighted
    linear regression(局部加权线性回归)》
    华科小涛
    [最后一张图]

1. Supervised Learning - Linear Regression,布布扣,bubuko.com

时间: 2024-10-12 23:49:57

1. Supervised Learning - Linear Regression的相关文章

2. Supervised Learning - Logistic Regression

Logistic Regression 逻辑回归解决问题类型 二分类问题(classification) Notation 给定一个样本集T 样本总数为m 每个样本记做 其中为输入变量,也称为特征变量:为我们要预测的输出变量,也称为目标变量 表示第个样本. Hypothesis的作用是,对于给定的输入变量,根据选择的参数计算输出变量=1的可能性 也就是 最终,当大于等于0.5时,预测y=1,当小于0.5时,预测y=0 假设是一下形式: 其中称为Logistic函数或者sigmoid函数,函数图象

Machine Learning—Linear Regression

印象笔记同步分享:Machine Learning-Linear Regression

机器学习---线性回归(Machine Learning Linear Regression)

线性回归是机器学习中最基础的模型,掌握了线性回归模型,有利于以后更容易地理解其它复杂的模型. 线性回归看似简单,但是其中包含了线性代数,微积分,概率等诸多方面的知识.让我们先从最简单的形式开始. 一元线性回归(Simple Linear Regression): 假设只有一个自变量x(independent variable,也可称为输入input, 特征feature),其与因变量y(dependent variable,也可称为响应response, 目标target)之间呈线性关系,当然x

Machine Learning:Linear Regression With One Variable

Machine Learning:Linear Regression With One Variable 机器学习可以应用于计算机视觉,自然语言处理,数据挖掘等领域,可以分为监督学习(Supervised Learning),无监督学习(Unsupervised Learning),强化学习(Reinforcement Learning)等. 首先我们从一个简单的监督学习入手:假如给我们一组训练集(在这里就是Size和Price),我们如何才能建立一个可以预测房价的模型呢? 这里(x,y)称为一

Machine Learning:Linear Regression With Multiple Variables

Machine Learning:Linear Regression With Multiple Variables 接着上次预测房子售价的例子,引出多变量的线性回归. 在这里我们用向量的表示方法使表达式更加简洁. 变量梯度下降跟单变量一样需同步更新所有的theta值. 进行feature scaling的原因是为了使gradient descent算法收敛速度加快.如下图所示,左图theta2与theta1的量级相差太大,这样导致Cost Function的等高图为一个细高的椭圆形状,可以看到

Machine Learning - II. Linear Regression with One Variable (Week 1)

http://blog.csdn.net/pipisorry/article/details/43115525 机器学习Machine Learning - Andrew NG courses学习笔记 单变量线性回归Linear regression with one variable 模型表示Model representation 例子: 这是Regression Problem(one of supervised learning)并且是Univariate linear regressi

Machine learning with python - Linear Regression

Machine learning with python Linear Regression 数据来自 cs229  Problem Set 1 (pdf) Data: q1x.dat, q1y.dat, q2x.dat, q2y.dat PS1 Solution (pdf) 从左上往右下 batchGradientDescent的cost随迭代次数的增加而下降,和收敛结果 stochasticGradientDescent的cost随迭代次数的增加而下降,和收敛结果 normalEquatio

Andrew Ng Machine Learning 专题【Linear Regression】

此文是斯坦福大学,机器学习界 superstar - Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记. 力求简洁,仅代表本人观点,不足之处希望大家探讨. 课程网址:https://www.coursera.org/learn/machine-learning/home/welcome Week 3: Logistic Regression & Regularization 笔记:http://blog.csdn.net/ironyoung/ar

Coursera machine learning 第二周 编程作业 Linear Regression

必做: [*] warmUpExercise.m - Simple example function in Octave/MATLAB[*] plotData.m - Function to display the dataset[*] computeCost.m - Function to compute the cost of linear regression[*] gradientDescent.m - Function to run gradient descent 1.warmUpE