第三章 神经网络

神经网络结构

输入层->中间层(隐藏层)->输出层

神经网络与感知机的差异

向下一个神经元发送信号时,改变信号的激活函数有很大差异。

神经网络中使用的是平滑变化的sigmoid函数,而感知机中使用的是信号急剧变化的阶跃函数。

激活函数

激活函数将输入信号的总和转换为输出信号

作用在于决定如何来激活输入信号的总和

sigmoid函数

python 复制代码
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

不管输入信号有多小,或者有多大,输出信号都在0到1之间

为了发挥叠加层所带来的有事,激活函数必须使用非线性函数

ReLU函数

ReLU函数在输入大于0 时,直接输出该值;在输入小于等于0 时,输出0

python 复制代码
def relu(x):
    return np.maximum(0, x)

使用np.dot计算矩阵的点积

关于输出层的激活函数

分类问题是数据属于哪一个类别的问题,而回归问题是根据某个输入预测一个(连续的)数值的问题

需要根据情况改变输出层的激活函数。回归问题用恒等函数,分类问题用softmax 函数

softmax函数

python 复制代码
def softmax(a):
    c = np.max(a)
    exp_a = np.exp(a - c) # 溢出对策
    sum_exp_a = np.sum(exp_a)
    y = exp_a / sum_exp_a
        return y

softmax函数的输出是0.0 到1.0之间的实数。并且,softmax函数的输出值的总和是1

因为有了这个性质,我们才可以把softmax 函数的输出解释为"概率"

输出层的神经元数量需要根据待解决的问题来决定。对于分类问题,输出层的神经元数量一般设定为类别的数量

输入数据的集合称为批,通过批处理可以实现计算机高速运算

sigmoid函数和softmax函数的区别和联系

多标签分类任务使用softmax函数

二分类任务使用sigmoid函数

相关推荐
叁两15 小时前
用opencode打造全自动公众号写作流水线,AI 代笔太香了!
前端·人工智能·agent
前端付豪15 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
strayCat2325515 小时前
Clawdbot 源码解读 7: 扩展机制
人工智能·开源
程序员打怪兽15 小时前
详解Visual Transformer (ViT)网络模型
深度学习
王鑫星15 小时前
SWE-bench 首次突破 80%:Claude Opus 4.5 发布,Anthropic 的野心不止于写代码
人工智能
lnix15 小时前
当“大龙虾”养在本地:我们离“反SaaS”的AI未来还有多远?
人工智能·aigc
泉城老铁15 小时前
Dify知识库如何实现多关键词AND检索?
人工智能
阿星AI工作室15 小时前
给openclaw龙虾造了间像素办公室!实时看它写代码、摸鱼、修bug、写日报,太可爱了吧!
前端·人工智能·设计模式
Halo咯咯15 小时前
别再学写代码了,顶级工程师现在在学管理AI agent | 值得一读
人工智能