关于softmax函数:https://www.cnblogs.com/alexanderkun/p/8098781.html
C语言实现:
#include "stdio.h"
#include "math.h"
void main(void)
{
int i = 0;
double sum = 0;
int vertor0[6] = {1,2,3,4,5,6}; //初始向量
double vertor1[6] = {0}; //softmax初值为0
for (i = 0; i < 6; i++)
{
vertor1[i] = exp(vertor0[i]);
sum += vertor1[i];
}
for (i = 0; i < 6; i++)
printf("%d ",vertor0[i]);
printf("\n");
for (i = 0; i < 6; i++)
printf("%f ", vertor1[i]/sum);
printf("\n");
printf("\n");
}
运行结果: