申明:此文章内容来自于 Doctor AndrewNG的视频,经过编辑而成
例子:预测住房价格
数据集包含俄勒冈州波特兰市的住房价格 在这里 我要根据不同房屋尺寸所售出的价格 画出我的数据集 比方说 我们来看这个数据集:
用图形化表示如下:
你有一个朋友正想出售自己的房子(1250平方尺)。如果预测 这房子能卖多少钱,那么你可以构建一个模型。也许是条直线 从这个数据模型上来看 也许你可以告诉你的朋友 他能以大约220000(美元)左右的价格 卖掉这个房子,如图:
这个过程可以用下图进行表示:
概念
上面的问题是一个线性回归问题,回归一词指的是我们根据之前的数据预测出一个准确的输出值。回归问题很明显属于监督学习,因此方法和监督学习应该是一样的,先给定一个训练集,根据这个训练集学习出一个线性函数,然后测试这个函数训练的好不好(即此函数是否足够拟合训练集数据),挑选出最好的函数。因为是单变量线性回归,我们能够给出单变量线性回归的模型:
注意:
(1)因为是线性回归,所以学习到的函数为线性函数,即直线函数;
(2)因为是单变量,因此只有一个x;
下面讲述如何找到与给定的数据相拟合的把最有可能的直线。
为了描述方便,做如下约定:
m代表训练集中实例的数量
x代表特征/输入变量
y代表目标变量/输出变量
(x,y)代表训练集中的实例
(x(i),y(i))代表第i个观察实例
hθ(代表学习算法的解决方案或函数也称为假设,是一个从x到y的函数映射,简写为h
找最合适的直线问题演变成如何选择这两个参数值θ0和θ1 ,似的模型与数据集拟合的最好。
我们的思路是:能使h(x) 即输入x时我们预测的值 最接近该样本对应的y值的参数θ0,θ1。 因此,在线性回归其实是一个最小化问题。用( x(i),y(i) )代表第i个样本 所以我想要做的是对所有训练样本进行一个求和:对i=1到i=M的样本 将对假设进行预测得到的结果,对于房价预测问题,此时的输入是第i号房子的面积 ,将第i号对应的预测结果,减去第i号房子的实际价格,所得的差的平方相加得到总和。
而我希望尽量减小这个值,也就是预测值和实际值的差的平方误差和,而为了让表达式的数学意义 变得容易理解一点,我们实际上考虑的是 这个数的1/2m。因此 简单地说 我们正在把这个问题变成 找到能使 我的训练集中预测值和真实值的差的平方的和 的1/2M最小的θ0和θ1的。用下面公式进行描述,这个就是我们定义的代价函数,代价函数也被称作平方误差函数
事实上,我们之所以要求出误差的平方和, 是因为误差平方代价函数对于大多数问题特别是回归问题都是一个合理的选择 还有其他的代价函数也能很好地发挥作用 但是平方误差代价函数可能是解决回归问题最常用的手段了。