问题描述
收集到某一地区的房子面积和房价的数据(x, y)42组,对于一套已知面积的房子预测其房价?
由房价数据可视化图可以看出,可以使用一条直线拟合房价。通过这种假设得到的预测值和真实值比较接近。
Model 模型
将现实的问题通过数学模型描述出来。
m 个 样本(example)组成训练集(training set),每一个样本有n个特征(feature)和一个标签(label)。目的是,通过一个数学模型(algorithm)和参数(parameters)将每一个样本和标签映射。这样,给定一个未知的样本就可以通过建立的数学模型预测其标签。
Hypothesis 假设
假设房价由此方程拟合
其中theta_0为偏置bias,theta_1为因变量的权重weigh
Cost function 损失函数
需要一个函数评价拟合函数的预测效果如何。直观的,我们可以计算真实房价和预测房价的差值平方和J,J越小预测效果越好。所以,可以通过最小化J可以求出参数theta_0和theta_1的值。
Gradient descent 梯度下降
这是一个二元函数求极值的问题。可以使用求偏导的方法找出极值点。对于计算机来说采用梯度下降法。
repeat until convergence {
}
通过这种方式可以得出假设的参数。对于已知房子面积的房子就可以使用假设估计房价了。值得一提的是预测的房价不可能是100%准确,但是可以认为是在给定条件下最接近真实房价的值。
LG with multiple variables 多元线性回归
更一般的情况是房价可能由多种因素综合决定,像房子年龄,卧室数目和楼层数。
这时hypothesis变为
cost function变为
gradient descent变为
注意使用feature scaling将不同范围的特征映射到相近的范围。
Polynomial regression多项式回归
更一般的情况是房价和面积是如下图的关系。解决方法转化为多元线性回归。
在这种情况下,一种可能是选择以下特征
hypothesis 为
即为
解决方法同多元线性回归。
Normal Equation
当除了使用梯度下降外,还可以
解得
注意当features数多于样本数的情况
解决办法增加样本数,减少特征数,使用normalization