【机器学习】归一化目的分析

简介: 【1月更文挑战第27天】【机器学习】归一化目的分析

  不同方向的陡峭度是不一样的,即不同维度的数值大小是不同。也就是说梯度下降的快慢是不同的:

image.png

 如果维度多了,就是超平面(了解一下霍金所说的宇宙十一维空间),很难画出来了。

  如果拿多元线性回归举例的话,因为多元线性回归的损失函数 MSE 是凸函数,所以我们可以把损失函数看成是一个碗。然后下面的图就是从碗上方去俯瞰!哪里是损失最小的地方呢?当然对应的就是碗底的地方!所以下图碗中心的地方颜色较浅的区域就是损失函数最小的地方。
image.png

  上面两张图都是进行梯度下降,你有没有发现,略有不同啊?两张图形都是鸟瞰图,左边的图形做了归一化处理,右边是没有做归一化的俯瞰图。

  啥是归一化呢?请带着疑问跟我走~

  我们先来说一下为什么没做归一化是右侧图示,举个例子假如我们客户数据信息,有两个维度,一个是用户的年龄,一个是用户的月收入,目标变量是快乐程度。

name age salary happy
路博通 36 7000 100
马老师 42 20000 180
赵老师 22 30000 164
…… …… …… ……

  我们可以里面写出线性回归公式, $y = \theta_1x_1 + \theta_2x_2 + b$ ,那么这样每一条样本不同维度对应的数量级不同,原因是每个维度对应的物理含义不同嘛,但是计算机能理解 36 和 7000 分别是年龄和收入吗?计算机只是拿到一堆数字而已。

  我们把 $x_1$ 看成是年龄,$x_2$ 看成是收入, y 对应着快乐程度。机器学习就是在知道 X,y的情况下解方程组调整出最优解的过程。根据公式我们也可以发现 y 是两部分贡献之和,按常理来说,一开始并不知道两个部分谁更重要的情况下,可以想象为两部分对 y 的贡献是一样的即 $\theta_1x_1 = \theta_2x_2$ ,如果 $x_1 \ll x_2$ ,那么最终 $\theta_1 \gg \theta_2$ (远大于)。

  这样是不是就比较好理解为什么之前右侧示图里为什么 $\theta_1 > \theta_2$ ,看起来就是椭圆。再思考一下,梯度下降第 1 步的操作,是不是所有的维度 $\theta$ 都是根据在期望 $\mu$ 为 0 方差 $\sigma$ 为 1 的正太分布随机生成的,说白了就是一开始的 $\theta_1$ 和 $\theta_2$ 数值是差不多的。所以可以发现 $\theta_1$ 从初始值到目标位置 $\theta_1^{target}$ 的距离要远大于 $\theta_2$ 从初始值到目标位置$\theta_2^{target}$。

  因为 $x_1 \ll x_2$,根据梯度公式 $gj= (h{\theta}(x) - y)x_j$ ,得出 $g_1 \ll g_2$。根据梯度下降公式:$\theta_j^{n+1} = \theta_j^n - \eta * g_j$ 可知,每次调整 $\theta_1$ 的幅度 $\ll$ (远小于) $\theta_2$ 的调整幅度。

  总结一下 ,根据上面得到的两个结论 ,它俩之间是互相矛盾的 ,意味着最后 $\theta_2$ 需要比 $\theta_1$ 更少的迭代次数就可以收敛,而我们要最终求得最优解,就必须每个维度 $\theta$ 都收敛才可以,所以会出现 $\theta_2$ 等待 $\theta_1$ 收敛的情况。讲到这里对应图大家应该可以理解为什么右图是先顺着 $\theta_2$ 的坐标轴往下走再往右走的原因了吧。

结论:

  归一化的一个目的是,使得梯度下降在不同维度 $\theta$ 参数(不同数量级)上,可以步调一致协同的进行梯度下降。这就好比社会主义,一小部分人先富裕起来了,先富带后富,这需要一定的时间,先富的这批人等待其他的人富裕起来;但是,更好途经是实现共同富裕,最后每个人都不能落下, 优化的步伐是一致的。

image.png

经过归一化处理,收敛的速度,明显快了!

相关文章
|
1月前
|
机器学习/深度学习 算法 数据可视化
JAMA | 机器学习中的可解释性:SHAP分析图像复刻与解读
JAMA | 机器学习中的可解释性:SHAP分析图像复刻与解读
153 1
|
3月前
|
机器学习/深度学习
【机器学习】误差分析
【1月更文挑战第23天】【机器学习】误差分析
|
6天前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
28 1
|
2天前
|
机器学习/深度学习 数据可视化 计算机视觉
【视频】机器学习交叉验证CV原理及R语言主成分PCA回归分析犯罪率|数据共享
【视频】机器学习交叉验证CV原理及R语言主成分PCA回归分析犯罪率|数据共享
|
12天前
|
机器学习/深度学习 人工智能 分布式计算
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
16 0
|
1月前
|
机器学习/深度学习 算法 数据可视化
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
机器学习-生存分析:如何基于随机生存森林训练乳腺癌风险评估模型?
32 1
|
2月前
|
机器学习/深度学习 算法 数据可视化
机器学习——主成分分析(PCA)
机器学习——主成分分析(PCA)
28 0
|
2月前
|
机器学习/深度学习 数据采集 自然语言处理
编写员工聊天监控软件的机器学习模块:Scikit-learn在行为分析中的应用
随着企业对员工行为监控的需求增加,开发一种能够自动分析员工聊天内容并检测异常行为的软件变得愈发重要。本文介绍了如何使用机器学习模块Scikit-learn来构建这样一个模块,并将其嵌入到员工聊天监控软件中。
170 3
|
2月前
|
机器学习/深度学习 自然语言处理 JavaScript
GEE机器学习——最大熵分类器案例分析(JavaScript和python代码)
GEE机器学习——最大熵分类器案例分析(JavaScript和python代码)
45 0
|
3月前
|
机器学习/深度学习 自然语言处理 算法
【机器学习】生成对抗网络(GAN)应用领域分析
【1月更文挑战第27天】【机器学习】生成对抗网络(GAN)应用领域分析

热门文章

最新文章