在前面房价预测案例中,我们提出了如下的hypothesis function:
为了确保hypothesis function足够“完美”,我们又引入了cost function:
通过前面的讲解,我们知道,hypothesis function足够“完美”,需要满足如下条件:
前面章节中,hypothesis function中的变量θ0、θ1,是我们手动算出来的,那么机器学习算法又是如何计算这些参数的呢?
接下来,介绍一种最基本的机器学习算法:最小二乘法(Least Squares Algorithm),并介绍最小二乘法如何得到这些参数,从而使hypothesis function足够“完美”。
介绍算法之前,我们先了解一下这个算法的历史,加深下印象。
1801年,意大利天文学家朱赛普·皮亚齐发现了第一颗小行星谷神星。经过40天的跟踪观测后,由于谷神星运行至太阳背后,使得皮亚齐失去了谷神星的位置。随后全世界的科学家利用皮亚齐的观测数据开始寻找谷神星,但是根据大多数人计算的结果来寻找谷神星都没有结果。时年24岁的高斯也计算了谷神星的轨道。
3:函数和/差的导数为:
4:函数积的导数为:
5:函数商的导数为:
下面分别对求θ0、θ1偏导数:
对θ0求偏导数(此时θ0作为自变量,θ1和x都作为常数处理):
对θ1求偏导数(此时θ1作为自变量,θ0和x都作为常数处理):
从偏导数的求解结果来看,两个偏导数函数构成一个二元一次方程组,其中自变量为θ0和θ1,x(i)和y(i)都是常数,求解二元一次方程组对计算机来说,so easy!
最小二乘法内容基本就这些,下一章我们再介绍下feature比较多时,最小二乘法的变种:正规方程。
最后,为了方便大家理解,我们还是training set中的数据,代入偏导数方程,具体求解过程就不再讲解。
这里再列一下我们的training set:
,