第三章 神经网络

神经网络结构

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

神经网络与感知机的差异

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

神经网络中使用的是平滑变化的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函数

相关推荐
Victory_orsh5 分钟前
“自然搞懂”深度学习系列(基于Pytorch架构)——03渐入佳境
人工智能·pytorch·深度学习
Fuly102416 分钟前
AI 大模型应用中的图像,视频,音频的处理
人工智能·音视频
掘金安东尼26 分钟前
Cursor 2.0 转向多智能体 AI 编程,并发布 Composer 模型
人工智能
Small___ming26 分钟前
【人工智能数学基础】如何理解方差与协方差?
人工智能·概率论
好家伙VCC29 分钟前
**发散创新:AI绘画编程探索与实践**随着人工智能技术的飞速发展,AI绘
java·人工智能·python·ai作画
兔兔爱学习兔兔爱学习31 分钟前
2025年语音识别(ASR)与语音合成(TTS)技术趋势分析对比
人工智能·语音识别
程序猿编码35 分钟前
Linux 文件变动监控工具:原理、设计与实用指南(C/C++代码实现)
linux·c语言·c++·深度学习·inotify
中杯可乐多加冰37 分钟前
服务编排搭建案例详解|基于smardaten实现协同办公平台复杂交互
人工智能·低代码
AndrewHZ42 分钟前
【图像处理基石】图像匹配技术:从原理到实践,OpenCV实现与进阶方向
图像处理·人工智能·opencv·图像匹配·算法原理
有点笨的蛋1 小时前
从零构建你的 AIGC 后端:pnpm + dotenv + OpenAI SDK 的现代工程实践
人工智能·node.js