[机器学习]01.线性回归(Linear Regression) 梯度下降(Gradient Decent)

线性回归(Linear Regression)

1.假设函数( Hypothesis Function)

给定了一系列离散的点,求一条直线与这些点最吻合。将这条直线的函数叫假设函数,设为

改变theta的值时,式子将产生不同的直线,有的偏差严重,有的相对好一些。要看直线与点的吻合程度,需要一个函数来作为误差函数。


2.代价函数(Cost Function)


计算theta0和theta1取不同值时的误差大小。来找适当的theta0与theta1。

3.梯度下降(Gradient Decent)

收敛公式:


α为学习速率,为函数J(theta0,theta1)在(theta0,theta1)点的偏导数。当此偏导数等于零时,thetaj即为最佳值。

要使此偏导数等于零,就要取一个适当α,让上面的公式一直重复直至收敛。α过大时会导致函数可能不会收敛,而过小的时候,需要重复很多次才能收敛。


多变量线性回归

1.符号意思:

n: the numbers of features (特征的数量)

m: the numbers of training examples(训练集的数量)

:the column vector of all the feature inputs of the ith training example(第i组训练集数据)

:value of feature j in the ith training example(第i组训练集的第j个特征值)

2.假设函数:


设x0 =0,则假设函数为:


将x与theta用矩阵表示,假设函数为:

[机器学习]01.线性回归(Linear Regression) 梯度下降(Gradient Decent)_第1张图片

其中theta(T)为一个1X(n+1)的矩阵,x为一个(n+1)X1的矩阵。这是对一个训练集的假设函数的向量化。

而对整个训练集来说,X和theta为

[机器学习]01.线性回归(Linear Regression) 梯度下降(Gradient Decent)_第2张图片

则假设函数,是一个mX1的向量

3.代价函数


向量化:


4.多变量梯度下降(Gradient descent for Multiple Variables)

对每个theta都求偏导:
其中的每个theta必须同时更新。
[机器学习]01.线性回归(Linear Regression) 梯度下降(Gradient Decent)_第3张图片

用矩阵表示梯度下降规则可写成:


[机器学习]01.线性回归(Linear Regression) 梯度下降(Gradient Decent)_第4张图片

其中第j个为

[机器学习]01.线性回归(Linear Regression) 梯度下降(Gradient Decent)_第5张图片

将他用向量表示,i的值从1到m,相当于向量,训练集X中的j列。是的差的向量。
所以可表示为
[机器学习]01.线性回归(Linear Regression) 梯度下降(Gradient Decent)_第6张图片



梯度下降向量公式:




5.特征缩放(feature scaling)与均值归一化(mean normalization)

特征缩放:
当特征值变化很大时,梯度下降需要很大的时间来完成,我们可以通过把每个值缩放到同一个大致相同的范围,来加快梯度下降的速度。因为theta在小范围时会减小的更快,大范围会减小的相对缓慢。
特征缩放是将每个特征值除以总体特征值的范围(最大值-最小值),将他缩放到大约-1~+1之间。

均值归一化:

 u(j)表示x(j)的平均值,S(j)表示x(j)的范围。


6.学习速率α(Learning Rate)

α过小时,会使梯度下降的迭代时间过长,过大时,可能会使代价函数不收敛
If α is too small: slow convergence.
If α is too large: may not decrease on every iteration and thus may not converge.

选择α:在一个合适的范围进行选择,一半间隔为三倍,...,0.001,0.003,0.01,0.03,0.1,0.3,1,..


你可能感兴趣的:(机器学习,机器学习)