softmax 函数详解
1. sigmod 函数
提到二分类首先想到的可能就是逻辑回归算法。逻辑回归算法是在各个领域中应用比较广泛的机器学习算法。而 刚好有这样的功能:
(保留)函数的绘制代码:
py
import matplotlib.pyplot as plt
import numpy as np
x = np.arange(-10, 10, 0.1)
y = 1 / (1 + np.exp(-x))
plt.plot(x, y)
plt.xlabel('x')
plt.ylabel('y')
plt.show()2. 引入
对于一个二分类问题,可以选择预测 事件发生的概率 ,也可以选择分别预测 和 ,并满足约束条件 。
这个约束条件将输出节点的输出值变成一个概率分布,简单来说各个输出节点的输出值范围映射到 ,并且约束各个输出节点的输出值的和为 。
softmax 函数即满足将各个输出值的范围映射为 ,并且约束各个输出节点的输出值的和为 。
3. softmax
大多数我们求和都是 hardmax,
py
a = np.array([1, 2, 3, 4, 5])
np.max(a)softmax 的含义就在于不再唯一的确定某一个最大值,而是为每个输出分类的结果都赋予一个概率值,表示属于每个类别的可能性,函数定义如下:
经过使用指数形式的 softmax 函数能够将差距大的数值距离拉的更大。
根据函数的性质,可以减去一个最大值来确保不会溢出:
4. 交叉熵损失
其交叉熵损失值如下:
通常