在机器学习的问题上可以大致地分为分类问题和回归问题。回归问题简言之就是根据某个输入来预测或计算出一个数值的结果,基本上使用的就是恒等函数;而分类问题是数据属于哪一个类别的问题,二分类和多分类等,使用的是softmax函数。
其Python版的代码在这里:输出层的介绍
深度学习入门初探——多层感知机的神经网络式实现https://www.toutiao.com/i7027833090944860710/?group_id=7027833090944860710
C语言基于前文的代码组织加入softmax的实现:
深度学习入门初探——C语言版的激活函数https://www.toutiao.com/i7034883235377054211/?group_id=7034883235377054211
void SoftmaxFunc(datavar *src, datavar *dst, ctrovar length)
{
ctrovar i = 0;
datavar sum = 0.0;
for(i=0; i
/*!
*****************************************************************************
* \file
* functions.h
*
* \brief
* function
*
* \version
* 0.1 - 2021/11/28 19:10:20: Initial Version
*
* \author
* cy
*****************************************************************************
*/
#ifndef _FUNCTION_
#define _FUNCTION_
#include
#include "unstd.h"
#include "option.h"
#ifdef __cplusplus
extern "C" {
#endif
void StepFunc(datavar *src, datavar *dst, ctrovar length);
void SigmoidFunc(datavar *src, datavar *dst, ctrovar length);
void ReluFunc(datavar *src, datavar *dst, ctrovar length);
void SoftmaxFunc(datavar *src, datavar *dst, ctrovar length);
#ifdef __cplusplus
}
#endif
#endif /* functions.h */