您的位置:首页 > 其它

coursera《机器学习》吴恩达-week1-02 单一变量的线性回归

2017-08-11 16:13 375 查看
线性回归根据输入值预测实值输出。我们讨论线性回归在房价预测中的应用,提出了成本函数的概念,并介绍了梯度下降法的学习方法。

模型和代价函数

线性回归

之前的住房价格数据示例

监督学习-回归问题

我们从头开始

训练集(这是你的数据集)

符号(整个过程中使用)

m = 训练例数

x’s =输入变量/特征

y’s =输出变量“target”变量

(x,y) - 单一训练示例

(x i,y j) - 具体示例(第 i 训练示例)

i是训练集的索引



我们的训练集确定了 - 我们如何使用它?

接受训练集

用学习算法处理

算法输出一个函数(表示为h )(h = 假设)

这个功能需要一个输入(例如新房子的大小)

尝试输出Y的估计值

我们如何表示假设h ?

如下所示

ħθ(X) = θ0+θ1X

h(x)(简写)



这是什么意思?

均值Y是x的线性函数!

θi是参数

θ0是x=0时h(x)的状态

θ1是斜率

这种函数是一个变量的线性回归

也称 单变量线性回归

所以总结一下

一个假设需要一些变量

使用由学习系统确定的参数

根据该输入输出预测

线性回归 - 实现(代价函数)

一个成本函数可以让我们找出如何使我们的数据符合最好的直线

可供选择的值θi(参数)

不同的值给你不同的功能

如果 θ0是1.5和 θ1是0,那么我们得到平行X轴的直线,y坐标恒为1.5

如果 θ1> 0,我们得到了一个正斜率

根据我们的训练集,我们要生成直线的参数

选择这些参数,以便 hθ(x)的值接近我们的训练样例的Y值

基本上,使用训练集中的多个X值输入h(x),使输出尽可能的接近于实际的Y值(X值实际对应的数据)

-想象hθ(X)是“Y模仿者” -它试图将X转化为Y,并考虑到我们已经有了实际的Y,我们可以评估hθ(X)效果如何

-形式化过程

我们想要解决 最小化问题

Minimize (hθ(x) - y)2

即最小化每个/任何/每个示例的 h(x)和y之间的差异

在训练集上求和每个差异



最小化预测房价与实际房价之间的平方差

1 / 2M

1/m- 表示我们确定平均值

1/2m使数学有点简单,并且不改变我们确定的常数(即最小值的一半仍然是最小值!)

最小化θ0/θ1意味着θ0、θ1的值可以使得x的线性回归值与y的平均偏差最小。

更简单地说,这是一个代价函数



而且我们希望最小化这个代价函数的值

我们的成本函数(因为求和术语)总是在任何时候处理训练集中的所有数据

所以要回顾一下

Hypothesis假设 - 就像你的预测机器,输入一个x值,得到一个推定的y值



Cost代价 - 是使用您的训练数据确定θ值的值的方法,这使得Hypothesis假设尽可能准确



该代价函数也称为平方误差成本函数

这个代价函数是大多数回归函数的合理选择

可能是最常用的函数

J(θ0,θ1) 有些抽象,在未来的章节将深入它做了什么,它的工作原理以及我们如何使用它

代价函数-深入了解

让我们考虑一些关于成本函数的直觉,以及为什么要使用它

成本函数确定参数

与参数相关的值决定了您的假设行为,不同的值会产生不同的结果

简化假设

假定θ0=0



代价函数和目标在这里非常近似,但需要一个更简单的参数

简化假设使可视化成本函数J()更容易一些

所以假设直线通过了(0,0)

两个需要了解的关键函数

hθ(x)

Hypothesis假设是x的函数,一个关于房子面积的函数

J(θ1)

一个关于参数θ1的函数

例如

θ1 = 1

J(θ1) = 0

考虑

θ1 vs J(θ1)

Data

1)

θ1 = 1

J(θ1) = 0

2)

θ1 = 0.5

J(θ1) = ~0.58

3)

θ1 = 0

J(θ1) = ~2.3

如果我们计算一个值的范围

J(θ1) vs θ1 我们得到一个多项式(看起来像一个二次方程)



对于学习算法的优化目标是找到的值θ1,其最小化J(θ1)

所以,这里θ1 = 1是对于θ1的最佳值

更深入了解成本函数 - 简化成本函数

假设你熟悉轮廓图或轮廓图

使用相同的成本函数,假设和目标如前所述

如果您不了解 cotour plots,可以跳过本节的部分内容

使用我们原来的复杂的假设函数与两个变量参数,

所以成本函数是

J(θ0, θ1)

例如,

假定:

θ0 = 50

θ1 = 0.06

以前,我们通过绘图绘制了成本函数

θ1 vs J(θ1)

现在我们有2个参数

绘制变得更加复杂

生成一个所在轴的3D曲面

X = θ1

Z = θ0

Y = J(θ0,θ1)



我们可以看到,height (y)表示成本函数的值,因此找到y在最小值的位置

我们可以使用轮廓数字/曲线来代替曲面图

以不同颜色设置椭圆

每种颜色为J(θ0, θ1),但显然打印到不同的位置,因为θ0和θ1将变化

想象一下碗状函数从屏幕出来,所以中间是同心圆



每个点(像上面的红色)代表Ɵ0和 Ɵ1的一对参数值

我们的例子在这里选定参数:

θ0 = ~800

θ1 = ~-0.15

不适合

这些参数给出了远离轮廓图上的中心的值

如采用:

θ0 = ~360

θ1 = 0

这给了一个更好的假设,但仍然不是很好 - 不是在轮廓图的中心

最后我们找到最小值,给出最佳假设

通过眼睛/手做这个是令人憎恨的

我们真正需要的是一个高效的算法往复查找了不同的θ0和θ1对应的最小值

$(".MathJax").remove();
<
9dd8
/script>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习
相关文章推荐