Python下的Softmax回归函数的实现方法(推荐)

1264次阅读  |  发布于5年以前

Softmax回归函数是用于将分类结果归一化。但它不同于一般的按照比例归一化的方法,它通过对数变换来进行归一化,这样实现了较大的值在归一化过程中收益更多的情况。

Softmax公式

Softmax实现方法1


    import numpy as np
    def softmax(x):
     """Compute softmax values for each sets of scores in x."""
     pass # TODO: Compute and return softmax(x)
     x = np.array(x)
     x = np.exp(x)
     x.astype('float32')
     if x.ndim == 1:
      sumcol = sum(x)
      for i in range(x.size):
       x[i] = x[i]/float(sumcol)
     if x.ndim > 1:
      sumcol = x.sum(axis = 0)
      for row in x:
       for i in range(row.size):
        row[i] = row[i]/float(sumcol[i])
     return x
    #测试结果
    scores = [3.0,1.0, 0.2]
    print softmax(scores)

其计算结果如下:


    [ 0.8360188 0.11314284 0.05083836]

Softmax实现方法2


    import numpy as np
    def softmax(x):
     return np.exp(x)/np.sum(np.exp(x),axis=0)

    #测试结果
    scores = [3.0,1.0, 0.2]
    print softmax(scores)

以上这篇Python下的Softmax回归函数的实现方法(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8