coursera《机器学习》吴恩达-week1-02 单一变量的线性回归
线性回归根据输入值预测实值输出。我们讨论线性回归在房价预测中的应用,提出了成本函数的概念,并介绍了梯度下降法的学习方法。
模型和代价函数
线性回归
- 之前的住房价格数据示例
- 监督学习-回归问题
- 我们从头开始
- 训练集(这是你的数据集)
- 符号(整个过程中使用)
- m = 训练例数
- x’s =输入变量/特征
- y’s =输出变量“target”变量
- (x,y) - 单一训练示例
- (x i,y j) - 具体示例(第 i 训练示例)
- i是训练集的索引
- 我们的训练集确定了 - 我们如何使用它?
- 接受训练集
- 用学习算法处理
- 算法输出一个函数(表示为h )(h = 假设)
- 这个功能需要一个输入(例如新房子的大小)
- 尝试输出Y的估计值
- 算法输出一个函数(表示为h )(h = 假设)
- 我们如何表示假设h ?
- 如下所示
- ħθ(X) = θ0+θ1X
- h(x)(简写)
- ħθ(X) = θ0+θ1X
- 如下所示
- 这是什么意思?
- 均值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)效果如何
- 基本上,使用训练集中的多个X值输入h(x),使输出尽可能的接近于实际的Y值(X值实际对应的数据)
- -形式化过程
- 我们想要解决 最小化问题
- Minimize (hθ(x) - y)2
- 即最小化每个/任何/每个示例的 h(x)和y之间的差异
- 在训练集上求和每个差异
- 最小化预测房价与实际房价之间的平方差
- 1 / 2M
- 1/m- 表示我们确定平均值
- 1/2m使数学有点简单,并且不改变我们确定的常数(即最小值的一半仍然是最小值!)
- 最小化θ0/θ1意味着θ0、θ1的值可以使得x的线性回归值与y的平均偏差最小。
- 1 / 2M
- 更简单地说,这是一个代价函数
- 而且我们希望最小化这个代价函数的值
- 我们的成本函数(因为求和术语)总是在任何时候处理训练集中的所有数据
- 所以要回顾一下
- Hypothesis假设 - 就像你的预测机器,输入一个x值,得到一个推定的y值
- Cost代价 - 是使用您的训练数据确定θ值的值的方法,这使得Hypothesis假设尽可能准确
- 该代价函数也称为平方误差成本函数
- 这个代价函数是大多数回归函数的合理选择
- 可能是最常用的函数
- 该代价函数也称为平方误差成本函数
- Hypothesis假设 - 就像你的预测机器,输入一个x值,得到一个推定的y值
- J(θ0,θ1) 有些抽象,在未来的章节将深入它做了什么,它的工作原理以及我们如何使用它
代价函数-深入了解
- 让我们考虑一些关于成本函数的直觉,以及为什么要使用它
- 成本函数确定参数
- 与参数相关的值决定了您的假设行为,不同的值会产生不同的结果
- 简化假设
- 假定θ0=0
- 假定θ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
- 1)
- 如果我们计算一个值的范围
- J(θ1) vs θ1 我们得到一个多项式(看起来像一个二次方程)
- hθ(x)
- 两个需要了解的关键函数
- 对于学习算法的优化目标是找到的值θ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对应的最小值