深度学习入门初探——C语言版的softmax实现

        在机器学习的问题上可以大致地分为分类问题和回归问题。回归问题简言之就是根据某个输入来预测或计算出一个数值的结果,基本上使用的就是恒等函数;而分类问题是数据属于哪一个类别的问题,二分类和多分类等,使用的是softmax函数。

        其Python版的代码在这里:输出层的介绍

深度学习入门初探——多层感知机的神经网络式实现icon-default.png?t=LA92https://www.toutiao.com/i7027833090944860710/?group_id=7027833090944860710

        C语言基于前文的代码组织加入softmax的实现:

深度学习入门初探——C语言版的激活函数icon-default.png?t=LA92https://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  */    

你可能感兴趣的:(C,DeepLearning,source,code,深度学习,c语言,神经网络)