Machine Learing by Andrew Ng笔记 (二):Linear Regression with One Variable部分一

来源:互联网 发布:linux 变量连接字符串 编辑:程序博客网 时间:2024/05/21 10:19

在本章节中,Andrew Ng老师 主要讲述了单变量的线性回归模型

他首先介绍模型中的一些基本概念,譬如:训练集(对于每一个数据,它具有明确的结果)、X (输入变量)、Y(输入或目标变量)、

(x,y)(代表一个训练实例)、(X^i , Y^i)(代表第 i 次的观察值)、

h(代表学习算法的解决方法或函数)

接下来课程介绍了成本函数(Cost Function)

其中h表示成    (图一)

,    其中θ0,θ1表示为参数

接下来介绍了误差平方和的公式:(图二)
  这个公式用于统计在特定θ0,θ1的情况下,训练集中得到的预测值与真实值之间的误差大小,J 表示总误差,m表示训练集中实例数目。

当θ0,θ1改变时,J的值也会改变,所以以上公式可以表示成J(θ0,θ1)这样一个函数,而我们的目的就是找出使J值最小的θ0,θ1。

如何求最小的θ0,θ1?

课上,老师先求了一种特殊情况(θ0=0),在这种情况下,J函数只和θ1有关,那么其图像将会一个抛物线的形式下

明显的此时当θ1=1时,J的值最小。而这是一种特殊情况 ,那如何求一般情况下的θ0,θ1?

利用Matalab可以得到以下的关于J的函数,在特定训练集下

图三)

如何寻找最小的θ0,θ1,这里介绍了一种梯度下降的方法。这种方法中会一直循环计算以下的

公式:

 (图四)

其中表示为求J函数分别关于θ0,θ1的偏导数,α表示为学习比例

这个公式的实际含义如下:

 (图五)

他需要同时改变θ0,θ1的值,如果将2,3 式子位置互换,那么可以看到原来第2个式子中的θ0已经先改变了。

那么利用这种方法,如何求了特殊例子下的θ1的值

图六)

每循环一次θ1的值都越来越靠近使得min(J)的θ1的值,

那么一般情况下了?下篇文章会讲述。



原创粉丝点击