Linear’regression
发现这个教程是最入门的一个教程了,老师讲的很好,也很通俗,每堂课后面还有编程作业,全程用matlab编程,只需要填写核心代码,很适合自学。
1.1 Model representation
起始给出了预测房价的例子。
这个问题属于监督问题,每个样本都给出了准确的答案。
同时属于回归问题,对给定值预测实际输出。
定义 (x(i),y(i)) 为第i个样本,x表示输入值,y表示输出值,上标表示样本。
以下是机器学习运行模型
对于假设h我们可以用一条直线描述,用线性函数预测房价值。
hθ(x)=θ0+θ1∗x
1.2 Cost function
我们取怎样的 θ 值可以使预测值更加准确呢?
想想看,我们应使得每一个预测值和真实值差别不大,可以定义代价函数如下
J(θ0,θ1)=12m∑mi=1(hθ(x(i))−y(i))2
通过使J值取最小来满足需求
下面通过图形方式感受一下代价函数
1.3 Gradient descent
怎样使我们的代价函数取得最小值呢
下面我们采取梯度下降法。
好比我们下山,每次在一点环顾四周,往最陡峭的路向下走,用图形的方式更形象的表示
Gradient descent algorithm
repeat until convergence{
θj=θj−α∂∂θjJ(θ0,θ1) (for j=0 and j=1)
}
注意更新theta值应同时更新,matlab中向量更新即为同时更新,所以应使上式向量化(之后会讲解向量化含义),也可采取下面方式
1.4 Gradient descent for linear regression
repeat until convergence{
θj=θj−α∂∂θjJ(θ0,θ1) (for j=0 and