softmax 的作用就是扩大最佳值的比例, 缩小不是最佳值的比例, 如果对于: 1, 2, 3 这三个数的打分分别为1, 2, 3分, 那么结果为3 的概率为50%, 但使用softmax后 结果为3 的概率为: 0.67, 剩余的概率0.33, 概率由原来的1/2变为现在的2/3, 如果数量越多这种效果越明显, 这样在卷积神经网络中, 就能够准确的预测大量的图片。
from math import e
score_a = 1
score_b = 2
score_c = 3
softmax_score_a = e ** score_a /(e ** score_a + e ** score_b + e ** score_c)
softmax_score_b = e ** score_b /(e ** score_a + e ** score_b + e ** score_c)
softmax_score_c = e ** score_c /(e ** score_a + e ** score_b + e ** score_c)
score_c_percent = score_c / (score_a + score_b + score_c)
softmax_score_c_percent = softmax_score_c / (softmax_score_a + softmax_score_b + softmax_score_c)
print(f'score_c_percent: {score_c_percent: .2f}')
print(f'softmax_score_c_percent: {softmax_score_c_percent: .2f}')
score_c_percent: 0.50
softmax_score_c_percent: 0.67
-
multinoulli distribution
-
softmax
-
multinomial distribution