已知:softmax后得到概率P(0-1之间),取P的以e为底的负对数,就是交叉熵
我们要讨论的是函数 f ( x ) = − log e ( x ) f(x) = -\log_e(x) f(x)=−loge(x),其中 log e ( x ) \log_e(x) loge(x)表示以 e e e为底的对数函数。
首先,让我们看看这个函数的特点:
1. 定义域:
- 对数函数 log e ( x ) \log_e(x) loge(x)的定义域是 x > 0 x > 0 x>0,因此 − log e ( x ) -\log_e(x) −loge(x)的定义域也是 x > 0 x > 0 x>0。
- x x x属于 ( 0 , 1 ) (0, 1) (0,1),所以我们只关心这个区间上的图像。
2. 函数行为:
-
当 x → 0 + x \to 0^+ x→0+时, log e ( x ) → − ∞ \log_e(x) \to -\infty loge(x)→−∞,所以 − log e ( x ) → + ∞ -\log_e(x) \to +\infty −loge(x)→+∞。这意味着当 x x x趋近于零时,函数值会趋向于无穷大。
-
当 x = 1 x = 1 x=1时, log e ( 1 ) = 0 \log_e(1) = 0 loge(1)=0,因此 − log e ( 1 ) = 0 -\log_e(1) = 0 −loge(1)=0。这意味着在 x = 1 x = 1 x=1时,函数值为 0。
-
单调性: 对于 0 < x < 1 0 < x < 1 0<x<1, log e ( x ) \log_e(x) loge(x)是负值,并且随着 x x x的增加, log e ( x ) \log_e(x) loge(x)向 0 逼近,因此 − log e ( x ) -\log_e(x) −loge(x)是一个递减的函数。
3. 图像特征:
- 左端点: 当 x x x趋近于 0 时,函数值趋向于无穷大。
- 右端点: 当 x = 1 x = 1 x=1时,函数值为 0。
- 单调性: 在区间 ( 0 , 1 ) (0, 1) (0,1)内,函数是递减的。
4. 图像大致描述:
在区间 ( 0 , 1 ) (0, 1) (0,1)内,函数 − log e ( x ) -\log_e(x) −loge(x)从 + ∞ +\infty +∞逐渐递减,直到 x = 1 x = 1 x=1时,函数值为 0。整体图像是一条从左上方到右下方的下降曲线。
5. 绘制图像:
如果用图像表示,可以想象它的形状如下:
- 当 x x x非常接近 0 时,函数值接近于正无穷。
- 随着 x x x增大,函数值逐渐减小,最终在 x = 1 x = 1 x=1时函数值为 0。
这是一个类似于对数函数翻转的图像,在 x = 1 x = 1 x=1处触碰 y = 0 y = 0 y=0的水平线,并且在 x x x趋近于 0 时,图像迅速上升至无穷大。
6. 绘图代码:
如果你想使用 Python 来绘制这个函数图像,可以使用 matplotlib
来实现:
import numpy as np
import matplotlib.pyplot as plt
# 定义x的范围 (0, 1) 之间,避免x=0导致对数无法计算
x = np.linspace(0.01, 1, 400)
# 计算 -log(x)
y = -np.log(x)
# 绘制图像
plt.plot(x, y, label=r'$- \log_e(x)$')
plt.axhline(0, color='black',linewidth=1) # x轴
plt.axvline(1, color='black',linewidth=1) # x=1的竖线
plt.title(r'Plot of$- \log_e(x)$for$x \in (0, 1)$')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid(True)
plt.show()