1. softmax

softmax 公式

softmax(xi)=exi∑j(exj)softmax(x_i) = \frac{e^{x_i}}{\sum_j(e^{x_j})}softmax(xi)=j(exj)exi

代码

import numpy as np
 
def softmax(x, axis = 1):
    assert (len(x.shape) > 1, "dimension must be larger than 1")
    x -= np.max(x, axis=axis, keepdims=True)
    x = np.exp(x) / np.sum(np.exp(x), axis=axis, keepdims=True)
    return x

注意:

为了稳定的计算softmax概率,防止exe^xex过大,出现nannannan的情况,会选择减去其最大值。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐