Andrew NG Machine Learning二刷笔记(-单变量线性回归20190819)

什么叫“回归”问题?为什么叫“回归(regression)”?

房价预测问题: 已知一组数据(size, price),给定一个价格值,预测其价格。

是一种监督学习的问题,这是因为要求样本有标签。

至于为什么取名回归(regression),知乎有一个很好的解释可以帮助直观理解和记忆:

实际上是生物统计学家高尔顿研究父母身高和子女身高时发现。
“即使父母的身高都‘极端’高,其子女不见得会比父母高,而是有“衰退”(regression)(也称作“回归)至平均身高的倾向”

具体说明一下:
高尔顿当时拟合了父母平均身高 x 和 子女平均身高 y 的经验方程:
y = 3.78+0.516 x
可以看到,父代身高每增加一个单位, 其成年子女的平均身高只增加0.516个单位, 它反映了这种“衰退”效应(“回归”到正常人平均身高) 虽然之后的 xy 变量之间并不总是具有“衰退”(回归)关系,但是为了纪念高尔顿这位伟大的统计学家,“线性回归”这一名称就保留了下来。

作者:你好·世界
链接:https://www.zhihu.com/question/47455422/answer/139299878
来源:知乎2
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

另外, 房价预测回归问题返回的是实数取值的输出;有一类监督学习问题是分类问题,其返回的是离散取值的输出。

什么是假设(hypothesis)函数?

设上述房价预测问题的训练样本表示为(x,y), 那么,h就是将x映射为y的假设函数
单变量线性回归(univariate linear regression)问题的假设函数
h_\theta (x) = \theta_{0} + \theta_{1}x
其中,h_\theta (x)可以简写为h(x)

单变量回归问题的核心思想是什么?

单变量回归问题的核心思想就是: 对训练样本(x,y),寻找假设函数的参数\theta_0\theta_1的值,使得假设函数h(x)y最接近。

什么是代价函数(cost function)?

回归问题核心思想,即上面的句子,用公式来表达的话,就是:
minimize_{\theta_{0},\theta_{1}} \frac{1}{2m} \sum_{i=1}^{m}(h(x^{(i)} - y^{(i)})^2
其中,m是训练样本的个数

因此,定义函数J(\theta_{0},\theta_{1}) = \frac{1}{2m} \sum_{i=1}^{m}(h(x^{(i)} - y^{(i)})^2为代价函数。

此函数又称为squared error function,平方误差函数。

为什么选取平方误差函数作为回归问题的代价函数?

先看直觉解释。
可以假定\theta_0 = 0从而使得h的直线经过原点,方便观察和直觉理解。
先计算\theta_1 = 0.5, 0, 1几种情况下J(\theta_1)的取值。
例如,设样本 (3,3) (1,1) (2,2) \theta_1 = 1时,
h(1) = \theta_1x = 1, h(2) = 2, h(3) =3
h(x^1) - y^1 = 0 , h(x^{(2)}) - y^{(2)} = 0, h(x^{(3)}) - y^{(3)} = 0
J(0.5) = \frac{1}{2 \times 3} ( 0+0+0 ) = 0

\theta_1 = 0.5时,
h(1) = \theta_1x = 0.5, h(2) = 1, h(3) =1.5
J(0.5) = \frac{1}{2 \times 3} ((h(1)-y^{(1)})^2 + (h(2)-y^{(2)})^2 + (h(3)-y^{(3)})^2) = \frac{((0.5-1)^2 + (0-1)^2 + (1.5-3)^2) }{6} = 0.58
同样,求得J(0) = 6

有几个点之后,可以尝试画出函数J(\theta_1)的曲线。根据上面的式子,可以看出\theta_1取1时,该函数极小(因为等于0)。

也就是说其代价函数在\theta_1 = 1时最小。

什么是“等高线图”,它能揭示什么?

contour plots
有两种等高线图,观察如下三种图,思考为什么它们表示的同一个意思


Image.png
Image [2].png
image.png

什么是“梯度下降”法?它是用来做什么的一种方法?

针对代价函数 J(\theta_0, \theta_1),目标是得到其最小值 min_{\theta_0,\theta_1} J(\theta_0, \theta_1),
从某个 \theta_0, \theta_1 开始,
不断改变 \theta_0, \theta_1 的值, 改变的方式是代价函数输出结果减少的方向 J(\theta_0, \theta_1),
直到得到最小值(如果存在的话)

梯度下降算法的一般描述:

repeat until convergence {
\theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j} J(\theta_0,\theta_1)
}

对于单变量回归问题来说,这个算法中的循环,j=0, j=1

注意 算法中的\alpha为学习率,是表示每一次更新参数的步长、变化速度;

变量要同时更新。同时更新以为着什么?

temp_0 := \theta_0 - \alpha \frac{\partial}{\partial \theta_0} J(\theta_0,\theta_1)
temp_1 := \theta_1 - \alpha \frac{\partial}{\partial \theta_1} J(\theta_0,\theta_1)
\theta_0 := temp_0
\theta_1 := temp_1

而不是
temp_0 := \theta_0 - \alpha \frac{\partial}{\partial \theta_0} J(\theta_0,\theta_1)
\theta_0 := temp_0
temp_1 := \theta_1 - \alpha \frac{\partial}{\partial \theta_1} J(\theta_0,\theta_1)
\theta_1 := temp_1

单变量线性回归梯度下降法

Image [4].png

根据上式对梯度下降公式的计算,所以,单变量线性回归下降算法具体如下:
repeat until convergence {
\theta_0 := \theta_0 - \alpha \frac{1}{m} \sum_{i=1}^m (h_\theta (x^{(i) - y^{(i)}}))
\theta_1 := \theta_1 - \alpha \frac{1}{m} \sum_{i=1}^m (h_\theta (x^{(i) - y^{(i)}}))\times x^{(i)}
}

todolist:

“回归”和“拟合”的区别?

“回归”和“最小二乘法”什么关系?

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。