Python下的Softmax回归函数的实现方法

2017-01-13 11:33:46来源:CSDN作者:u013698770人点击

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

Softmax公式

这里写图片描述

Softmax实现方法1

import numpy as npdef 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 npdef softmax(x):    return np.exp(x)/np.sum(np.exp(x),axis=0)#测试结果scores = [3.0,1.0, 0.2]print softmax(scores)

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台