当前位置:   article > 正文

斯坦福机器学习第二周线性回归、特征值标准 ...

线性回归对特征标准化后需要对标签值标准化吗

线性回归(Linear Regression):

1. 假设函数(hypothesis function)

机器学习中,总是用来表示输入,来表示输出;因此,为了研究机器学习就需要一个之间的关系式,我们假设是,我们称之为目标函数(target function)。然而,遗憾的是我们并不知道这样一个关系式。因此,机器学习算法就试图预先假设一个函数;而机器学习的目的就是找到这样一个,使其近似于(拟合)

在不同的机器学习模型中,假设函数有不同的表达形式。最简单的一种就是单变量的线性回归模型(Linear regression with one variable),形式如下:

  

这里写图片描述

显然,蓝色的直线相比于黄色的直线能更好的拟合与!


2. 代价函数(cost function)

上一个概念我们说到了假设函数,那么我们应该如何来评估一个假设函数是否可以用来近似的表示目标函数呢?所以,此时就需要用到代价函数,通过它我们就能够近似的确定参数。我们还以以最简单的单变量为例,其代价函数的形式如下:

其中是关于参数的函数;是输入,是输出(因为是有监督学习,所以两者都是已知的)。因此我们可以通过取不同的参数值,来改变函数值,直到取到最小值或局部最小值时,这个过程我们称之为最小化(minimize)。


3. 梯度下降算法(gradient descent algorithm)

现在我们知道了代价函数和假设函数的概念,那么我们应该如何来计算假设函数中的参数呢?这是就要用到梯度下降算法,以及下一个要提到的正规方程(normal equation)。梯度下降算法不仅使用与线性回归模型,同样也适用于机器学习的其它地方来最小化代价函数。梯度下降算法能够通过多次迭代自动地找到参数

Gradient descent:

 

注:中的是一个维列向量
  是一个常数,称之为学习速率(learning rate),如果过小,则收敛速度将会急剧下降(依旧会收敛);但过大可能导致发散(divergence)


4. 正规方程(normal equation)

同梯度下降算法一样,正规方程也是一种用来求解参数的有效方法。而相较于梯度下降算法,该算法的不足之处在于在数据集的扩展性上较差。即,当训练集的特征值过大(Andrew Ng 说如果大于10000,它就选择用梯度下降)时,其计算过程十分耗时。但好处在于正规方程不需要对特征值进行标准化(normalization)。

Normal equation:

 


5. 特征值标准化(feature normalization)

之所以要进行特征值标准化是因为,如果各个特征之间的范围(range)相差过大,梯度下降算法的性能就会急剧下降,函数的收敛(convergence)速度也会大大减慢。

特征值标准化主要有两种方法,分别是特征缩放(feature scaling)和均值归一化(mean normalization)。

Feature scaling:
;其中分母为每一类特征值得最大值减去最小值。

Mean normalization:
;其中是每一类特征值的平均值,为每一类特征值的标准差。


6. 矢量化(vectorization)

矢量化的目的是为了便于计算,减少算法的时间复杂度,便于在Matlab/Octave中快速的实现编程结果。

转载于:https://www.cnblogs.com/tolic/p/7142215.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/144950?site
推荐阅读
相关标签
  

闽ICP备14008679号