四舍五入、近似与数量级

从零开始——在一切之前你需要的基础数学

有些数是精确的。一间有 12 把椅子的教室恰好是 12 把,不是 11.6,也不是 12.4。但你在简单计数之外遇到的大多数数字都不是这样。秒表可能显示 9.83274 秒。计算器算 1 除以 7 可能显示 0.142857142857。这样的数字携带的位数远远超过你实际需要的,而四舍五入就是把它精简成一个更简单的值,同时诚实地说明你保留了多少细节。

四舍五入不是瞎猜,也不是撒谎。你要根据情况选择一个合适的细节层级,然后根据紧跟其后的那一位数字来调整你要保留的最后一位。你经常会看到结果写成带有符号 ≈ 的形式,读作“约等于”,比如 7.846 ≈ 7.85。养成这个习惯,你就能对任何东西做四舍五入:价格、测量值,或者模型的输出分数。

这里有一个值得记住的画面。雨量筒其实就是一个侧面印有刻度线的集水圆筒。雨水很少恰好落到某一条刻度线上,所以如果水面停在两条线之间,你就读出最近的那一条并记下来。多写几位数字并不会让你的读数更诚实,只会假装这个量筒能显示出它其实显示不出的细节。你可以在下面亲自试试:沿着线拖动这个点,在四舍五入到个位、十分位和百分位之间切换,看看哪个刻度胜出。

在机器学习中的应用计算机存储几乎所有实数值时都只能用有限的精度。一个在屏幕上看起来干干净净的数值,底层可能早已是一个接近的二进制近似值。这一点比听起来更重要:非常小的梯度在低精度下可能会完全消失,而非常大的值则可能会溢出。 同样的原则也适用于你如何报告结果。把模型准确率写成 0.873642,并不能证明你真的对小数点后六位都有把握。数量级也很重要。一个以千为量级的特征,如果不在训练前把各特征缩放到可比的范围,就可能悄悄压过一个以十分之一为量级的特征。
▶ 四舍五入、近似与数量级
← 十的幂什么是变量 →