机器学习代码实战——数值计算
文章目录 1.上溢和下溢 2.优化方法 1.上溢和下溢 下溢(Underflow):当接近零的数被四舍五入为零时发生下溢。 上溢(Overflow):当大量级的数被近似为 ∞ 或 −∞ 时发生上溢。 必须对上溢和下溢进行数值稳定的一个例子是 softmax 函数。softmax 函数经常用于预测与范畴分布相关联的概率,定义为: import numpy as np x = np . array ( [ 1e7 , 1e8 , 2e5 , 2e7 ] ) y = np . exp ( x ) / sum ( np . exp ( x ) ) print ( "上溢:" , y ) x = x - np . max ( x ) # 减去最大值 y = np . exp ( x ) / sum ( np . exp ( x ) ) print ( "上溢处理:" , y ) import numpy as np x = np . array ( [ - 1e10 , - 1e9 , - 2e10 , - 1e10 ] ) y = np . exp ( x ) / sum ( np . exp ( x ) ) print ( "下溢:" , y ) x = x - np . max ( x ) y = np . exp ( x ) / sum ( np . exp ( x ) )