如何将numpy ndarray值转换为概率值

时间:2017-03-17 09:19:50

标签: python python-3.x numpy tensorflow

以下结果是来自线性回归的numpy ndarray得分[y = Wx + b]。

scores = tf.nn.xw_plus_b(self.h_drop, W, b, name='scores')
~ ~ .....
all_scores = np.zeros(shape=(0,len(label_dict))) 
~~...    
all_scores = np.concatenate((all_scores, batch_scores) , axis=0) 

numpy ndarray   numpy ndarray description 如何将上面的numpy ndarray值更改为ndarray概率值?

期望的结果:

      col0    col1      col2     col3   col4    col5 

Row1 0.02  |   0.123 | 0.678 | 0.067 | 0.0987 | 0.1089   : Sum(col0~5) = 1 
~ 

1 个答案:

答案 0 :(得分:2)

最简单的方法是应用softmax函数:

f(x)= e ^ x_i / sum_j e ^ x_j

这会将任何范围内的值转换为总和为1的向量,可以将其解释为概率。执行此操作的TF函数是tf.nn.softmax。