摘要:这是我学习斯坦福大学《机器学习》课程的第一个算法。该算法属于回归模型中最简单的模型——线性回归,使用梯度下降法达到最优拟合。
课程中对机器学习的定义是:Field of study that gives computers the ability to learn without being explicitly programmed.字面意思为不通过显式编程赋予计算机学习的能力。课程开始阐明了监督学习(supervise learning)包含两种问题:回归(regression)和分类(classification)。两种问题都是输入X到输出Y的映射。关于“监督”的含义,简单地说,就是输入和输出数据都已经给出。这类问题的任务是,我们需要从这些输入输出数据中提取一个模式,使得我们有一个新的输入x0时,可以从这个模式中预测输出y0.
一、问题引入
课程使用房屋价格和房屋面积的关系的例子作为引入。
房价2万左右吧,类似广州的房价(这个数据只是我自己编的)。根据数据表我们可以作出散点图如下:
假如我们看中的房子,面积不在这个列表中,如何估计这间房子的价格呢?我们可以作一个平滑曲线尽可能去拟合所有散点。本例阐明线性回归,于是可用一条直线去拟合:
当我们有新的输入x0时,便有预测输出y0。这是高中生都知道的回归分析。
我们可以把具体的问题抽象出来:
房屋销售表:训练集(training set),是回归分析中的输入数据,用x表示;
房屋销售价格:输出数据,用y表示;
拟合的函数:y=h(x),输出模型。
本例输入数据是二维的,而输出是一维模型