softmax实现

版权声明:本文为博主原创文章,欢迎大家交流 https://blog.csdn.net/he_min/article/details/84582468

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)}}}

也就是在机器学习中著名 的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))

猜你喜欢

转载自blog.csdn.net/he_min/article/details/84582468