softmax实现

softmax 常用于预测于伯努利分布相关联的概率,具体的数学表达为:

s o f t m a x ( x ) i = 1 ∑ j = 1 n e x p ( x j ) softmax(x)_i=\frac{1}{{\sum^n_{j=1}exp{(x_j)}}} softmax(x)i=j=1nexp(xj)1

也就是在机器学习中著名 的S型曲线,对数据下溢和上溢有很好的作用,具体的实现也就是如下的代码

import numpy as np

def softmax(x):
"""
input:x
output:softmax result
function:softmax
"""
    exp_x = np.exp(x)
    softmax_x = exp_x / np.sum(exp_x)
    return softmax_x  

如果是在tensorflow中使用的话可以直接使用如下

import tensorflow as tf
def softmax(A):
	with tf.Session() as sess: 
   	print sess.run(tf.nn.softmax(A))

你可能感兴趣的:(python)