失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 机器学习-线性回归与梯度下降

机器学习-线性回归与梯度下降

时间:2023-07-09 09:27:11

相关推荐

机器学习-线性回归与梯度下降

线性回归

linear regression

符号定义

notation,仅为本教程中的符号定义。

\(m\)

训练集中样本的数量

\(x\)

输入值,features。

\(x^{(i)}\),表示第\(i\)个样本的features

\(y\)

输出值,target

\(y^{(i)}\),表示第\(i\)个样本的label

\(\theta_i\)

parameters,第\(i\)个模型参数

\(h_\theta\)

hypothesis(假设),这是一个在早期被用于机器学习的名称算法得到的函数(\(x\)到\(y\))

\(h_\theta(x)=\theta_0+\theta_1x\)

\((x,y)\)代表一个样本,\((x^{(i)},y^{(i)})\)代表第\(i\)个样本

代价函数

cost function,有很多种。

符号是\(J(\theta_1,\theta_2)\)。

平方误差函数

square error function,最小二乘法。

对于大多数问题,特别是回归问题,平方误差函数都是一个合理的选择。

梯度下降

gradient descent,可以用梯度下降法使各种各样的代价函数\(J\)最小化

它不仅被用在线性回归上,实际上被广泛地应用于机器学习的众多领域。

符号定义

\(:=\)

赋值

\(=\)

相等

\(\alpha\)

是个数字,叫做学习速率,它控制以多大的幅度更新参数\(\theta\)

注意

多个\(\theta\)需要同时更新(如果不同时,可能也能得到答案,但就并不是人们所指的梯度下降了,而是其他性质的其它算法),所以应该先计算,最后再同时更新\(\theta\)

在梯度下降法中,当我们接近局部最低点时,梯度下降法会自动采取更小的幅度。

因为当我们接近局部最低点时,导数会变得越来越小,所以梯度下降将自动采取较小的幅度。

据上,可知实际上没有必要在接近局部最低点的时候减小\(\alpha\)。

梯度下降法求得的可能是局部最优解

但线性回归的成本函数总是一个凸函数(convex function),凸函数使用梯度下降法求得最小值就是全局最小值。

“Batch” Gradient Descent

“Batch”指的是梯度下降的每一步都使用所有的训练样本。

矩阵和向量

向量指的是列向量,4维的向量指的就是4行1列的矩阵。

按照惯例,通常用大写字母表示矩阵,用小写字母表示数字、标量或向量。

多元线性回归

符号定义

\(n\)

特征的数量,形成一个\(m\)行\(n\)列的矩阵

特征缩放

features scaling

处理不同feature之间的数量级差异,使梯度下降收敛速度更快,否则可能会收敛得很慢

方法有很多种:

\(\frac{x}{x_{max}}\)\(\frac{x-x_{mean}}{x_{max}}\)\(\frac{x-x_{mean}}{标准差}\)\(\frac{x-x_{mean}}{x_{max}-x_{min}}\)

学习率

学习率\(\alpha\)的选取是十分重要的。

学习率太小,收敛会很慢;学习率太大,代价函数的值可能不会每步都在减小,或者无法收敛。

学习率一般都是试出来的。

可以用自动收敛测试来判断代价函数是否已经收敛;也可以以迭代次数为横轴,代价函数的最小值为纵轴作图,通过观察判断。

自动收敛测试

当某步时,代价函数的减小值很小(比如小于\(10^{-3}\),这个阈值也是不好确定的)时,则认为代价函数已经收敛。

多项式回归

基于已有特征构造新的特征(乘积或次方)

正规方程

nomal equation

线性方程组有解的话,使用该方法即可,可以一次性求得最优解,不需使用梯度下降法之类的迭代算法,求得的是解析解。

正规方程法不需要特征缩放。

\[ \theta=(X^TX)^{-1}X^Ty \]

\(X^TX\)不可逆的情况很少出现,如果不可逆,就用它的伪逆。

梯度下降与正规方程对比

作者:@臭咸鱼

转载请注明出处:/chouxianyu/

欢迎讨论和交流!

如果觉得《机器学习-线性回归与梯度下降》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。