【学习笔记】常见的激励函数和损失函数

一、激励函数

如上图:神经元的输出值会经历一个f函数,我们将这个函数叫做激励函数。加入激励函数的目的是为了让神经网络模型能够逼近非线性函数。假若去掉激励函数,神经元就只有线性函数y=wx+b,这样的神经网络就只能逼近线性函数。假如在不加激励函数的前提下,要训练一个分类模型,倘若数据是非线性可分的,那么模型的准确率会相当低,因为我们的模型训练不出一个非线性函数去拟合数据。 

常见的激励函数:

1.Sigmoid函数

 2.Linear

线性激活函数,即不对神经元的输出值进行处理,直接输出,通常是用在回归模型的输出层中。

3.Softmax

通常用在分类模型的输出层中。原理如下:

 训练的时候将训练样本图片放入输入层,标签向量放入输出层,最终训练出一个模型。

最后,softmax层的输出结果如下图所示:

 0.85对应着最大概率,说明这张图片是猫,多有的概率加起来等于1。

 4.Relu

 二、损失函数

前言:基于整个神经网络的训练课程是基于梯度下降方法去不断缩小预测值与真实值之间差值的过程。而这个差值就是损失(loss),计算这个损失的函数就是损失函数,且损失函数是和神经网络输出层的激励函数相配套的。

 

 

 以上信息来源于公众号:python机器学习体系

自己的学习记录,如有侵权,请联系删除!!!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`sigprocmask()` 函数是用于修改进程的信号屏蔽字的函数,它可以阻塞或允许特定的信号。下面是关于 `sigprocmask()` 函数的一些学习笔记: 1. `sigprocmask()` 函数的头文件为 `<signal.h>`。 2. `sigprocmask()` 函数的原型为: ``` int sigprocmask(int how, const sigset_t *set, sigset_t *oldset); ``` - `how` 表示如何修改信号屏蔽字,有三个取值:`SIG_BLOCK`、`SIG_UNBLOCK` 和 `SIG_SETMASK`。分别表示阻塞、解除阻塞和设置信号屏蔽字。 - `set` 表示要修改的信号集合。 - `oldset` 表示原来的信号集合。 3. `sigprocmask()` 函数可以修改进程的信号屏蔽字,控制是否允许或阻塞某些信号的处理。 4. 信号屏蔽字是一个二进制位向量,每个位代表一个信号,如果该位为 1,则表示该信号被屏蔽,不会被处理;如果该位为 0,则表示该信号是允许的,可以被处理。 5. `sigprocmask()` 函数可以使用 `sigemptyset()`、`sigfillset()`、`sigaddset()`、`sigdelset()` 等函数来创建和修改信号集合。 6. `sigprocmask()` 函数可以用于防止信号的竞争条件,例如在多线程程序中使用信号处理函数时,可以使用信号屏蔽字来防止多个线程同时处理同一个信号。 7. `sigprocmask()` 函数还可以用于实现临界区保护,即在进入临界区时,屏蔽某些信号,以防止信号处理函数中断临界区代码的执行。 总之,`sigprocmask()` 函数是一个非常重要且常用的函数,可以用于控制信号的处理,保护临界区等。在学习和使用该函数时,需要注意其参数的含义和使用方法,以及信号屏蔽字的概念和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值