参考了斯坦福大学2014(吴恩达)机器学习教程中文笔记,感谢编者黄海广博士。
模型表示
我们将要用来描述这个回归问题的标记如下: $m$ 代表训练集中实例的数量 $x$ 代表特征/输入变量 $y$ 代表目标变量/输出变量 $(x,y)$ 代表训练集中的实例 $(x^{(i)},y^{(i)})$ 代表第 $i$ 个观察实例 $h$ 代表学习算法的解决方案或函数也称为假设(hypothesis) 一种可能的表达方式为:$h_\theta(x)=\theta_0+\theta_1x$,因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。
代价函数
引入一些术语我们现在要做的便是为我们的模型选择合适的参数(parameters)$\theta_{0}$ 和 $\theta_{1}$,在房价问题这个例子中便是直线的斜率和在$y$ 轴上的截距。 我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距就是建模误差(modeling error)。 我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。即使得代价函数 $J(\theta_0,\theta_1)=\frac{1}{2m}\sum\limits_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})^2$最小。 则可以看出在三维空间中存在一个使得$J(\theta_0,\theta_1)$最小的点。 代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择。还有其他的代价函数也能很好地发挥作用,但是平方误差代价函数可能是解决回归问题最常用的手段了。 在后续课程中,我们还会谈论其他的代价函数,但我们刚刚讲的选择是对于大多数线性回归问题非常合理的。
代价函数的直观理解I
总结上一节的内容:
Hypothesis | $h_\theta(x)=\theta_0+\theta_1x$ |
---|---|
Parameters | $\theta_0,\theta_1$ |
Cost Function | $J(\theta_0,\theta_1)=\frac{1}{2m}\sum\limits_{i=1}^m(h_{\theta}(x^{(i)})-y^{(i)})^2$ |
Goal | $minimize_{\theta_0,\theta_1}J(\theta_0,\theta_1)$ |
代价函数的直观理解II
轮廓图:看起来比较像等高线图。
梯度下降
${\theta_{j} }:={\theta_{j} }-\alpha \frac{\partial }{\partial {\theta_{j} } }J\left( \theta \right)$
梯度下降的直观理解
Repeat { ${\theta_{0} }:={\theta_{0} }-a\frac{1}{m}\sum\limits_{i=1}^{m}{ \left({ {h}{\theta } }({ {x}^{(i)} })-{ {y}^{(i)} } \right)}$ ${\theta{1} }:={\theta_{1} }-a\frac{1}{m}\sum\limits_{i=1}^{m}{\left( \left({ {h}_{\theta } }({ {x}^{(i)} })-{ {y}^{(i)} } \right)\cdot { {x}^{(i)} } \right)}$ }
接下来的内容
对线性代数进行一个快速的复习回顾。如果你从来没有接触过向量和矩阵,那么这课件上所有的一切对你来说都是新知识,或者你之前对线性代数有所了解,但由于隔得久了,对其有所遗忘,那就请学习接下来的一组视频,我会快速地回顾你将用到的线性代数知识。 通过它们,你可以实现和使用更强大的线性回归模型。事实上,线性代数不仅仅在线性回归中应用广泛,它其中的矩阵和向量将有助于帮助我们实现之后更多的机器学习模型,并在计算上更有效率。正是因为这些矩阵和向量提供了一种有效的方式来组织大量的数据,特别是当我们处理巨大的训练集时,如果你不熟悉线性代数,如果你觉得线性代数看上去是一个复杂、可怕的概念,特别是对于之前从未接触过它的人,不必担心,事实上,为了实现机器学习算法,我们只需要一些非常非常基础的线性代数知识。通过接下来几个视频,你可以很快地学会所有你需要了解的线性代数知识。具体来说,为了帮助你判断是否有需要学习接下来的一组视频,我会讨论什么是矩阵和向量,谈谈如何加、减 、乘矩阵和向量,讨论逆矩阵和转置矩阵的概念。
![]() |
![]() |