跟随吴恩达的coursear课程学习。
入门第一课是理解最简单的线性回归问题。
先上问题:通过房子的大小(living area -> x)来预测房价(house price -> y)。
同时,给予m个案例,这里的m就是样本(training set)个数。
为了生动形象,这里的行数就是样本数(m)
左边一列是房子大小(x)
右边一列是对应的价格(y)
现在我们可以得出一个假设函数(hypothesis function):
hθ(xi) = θ0 + θ1*x,该函数就是假设的面积对应的房价。
hθ(xi) 代表了房价,x就是房子面积。
现在需要求出θ0和θ1的值来求出房价,而hθ(xi) 的值需要接近样本的房价,我们可以用 hθ(xi) 和 样本中的房价做比较,用最小二乘法来计算。
可以得出(cost function):
现在我们考虑单变量的情况,即θ0=0,这样可以更简单的理解J(θ0,θ1)函数。
hθ(xi) = θ1*x
下图就可以更加直观的理解cost function的推导。
坐标系中的蓝线就是假设函数,现在计算假设的房价和样本的房价的差距,就是(hθ(xi)-yi)^2,现在我们有m个样本,即需要求和,再除以m是取平均,除以2暂时还没理解,在以后发现用处后再来补充。
现在,我们画出hθ(x)和J(θ0,θ1)的图像
左图是假设函数,右图是代价函数
在最理想的状态下,我们的假设函数刚好在样本上,那么J(θ)的值计算得出=0
但是,我们不可能一开始就能从样本数据直接得出θ1的值,所以,正常情况下我们会有这样的函数,如下图:
我们把θ1猜测成0.5,那么,现在需要计算J(θ1)的值为每个样本距离函数的距离的平方/(2m)。
J(θ1)=(0.25+1+2.25)/(23)=0.583333333
那么在右图就是对应的蓝色叉叉的位置
现在,我们就同理,切换不同的θ1的值,计算出J(θ)的值
如图:
咦,可以看出是类似一个2次函数的图像,从图像上看,θ1=1时,是假设的房价最接近样本的时候,那么现在,我们可以认为假设函数得出的值是最靠谱的。
双变量情况
上面考虑的只是单变量情况,现在,我们来求出双变量θ0,θ1的值
因为是两个变量,所以J(θ0,θ1)的函数不是一个平面图可以表达的,他是一个三维图
我们现在把J函数“压扁”,就得到一个θ0和θ1的图像,上图右边的
在右图随机取一个点,看到左图hθ(x)的值。
我们慢慢向圆心靠近
函数与样本的拟合慢慢开始接近
当θ0,θ1在圆心的时候
假设函数和样本值的拟合度最高。可是现在我们是用肉眼来寻找θ0,θ1的值,而且在实际问题上,可能无法画出代价函数J(θ0,θ1),下一篇将寻找求出θ0,θ1的方法。