news 2026/9/4 21:34:13

Python实现神经网络?别被忽悠了,这就是个拼命调参的苦力活

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python实现神经网络?别被忽悠了,这就是个拼命调参的苦力活

神经网络模拟人脑神经元工作方式, 大量神经元相互连接, 以此实现复杂的非线性映射。神经网络基本单元是神经元, 多个神经元借权重连接一起, 从而形成一个网络结构体。

神经网络的架构通常涵盖输入层, 以及隐藏层, 还有输出层, 接收外部所输入数据的是输入层, 对数据加以处理借助非线性激活函数的是隐藏层, 输出处理最终结果的则是输出层, 隐藏层的数量以及每层之中神经元的数量能够依据实际所需予以调节。

神经网络的训练进程, 是借由反向传播算法, 持续去调整权重以及偏置, 进而让网络的输出结果, 渐渐靠拢实际值。于训练进程里, 要计算每个神经元的输出误差, 并且依据误差来调整权重与偏置。

下面我们将通过和两种语言实现神经网络的构建和训练。

实现:

首当其冲, 我们所需安装的是Deep。在这当中, 我们能够运用函数去创建一个神经网络, 此神经网络是前馈类型的。紧接着呈现的是一个示例代码, 这个代码是简单的。

  1. % 创建数据集
  2. inputs = [0 1; 1 0; 1 1; 0 1];
  3. targets = [1; 0; 1; 0];
  4. % 创建神经网络
  5. net = feedforwardnet(2); % 隐藏层包含2个神经元
  6. % 训练神经网络
  7. net = train(net, inputs, targets);
  8. % 测试神经网络
  9. outputs = net(inputs);
  10. errors = outputs - targets;

在先前那段代码内, 先是有了一个数据集, 其中放置着4个样本以及2个特征 , 并且还有一个前馈神经网络, 它有着包含2个神经元的隐藏层。之后呢 , 运用train函数对神经网络进行训练运作了。最终 , 用训练完毕的这个神经网络来进行预测此事的工作进程 , 并且也计算分析了该过程所产性出的误差情况。

实现:

在其中, 我们能够借助或之类的深度学习框架去达成神经网络的构建以及训练。紧接着呈现的是一个利用达成的简易示例代码:

  1. import tensorflow as tf
  2. from tensorflow.keras.models import Sequential
  3. from tensorflow.keras.layers import Dense
  4. from tensorflow.keras.optimizers import Adam
  5. from tensorflow.keras.losses import BinaryCrossentropy
  6. # 创建数据集
  7. inputs = [[0, 1], [1, 0], [1, 1], [0, 1]]
  8. targets = [1, 0, 1, 0]
  9. inputs = tf.convert_to_tensor(inputs)
  10. targets = tf.convert_to_tensor(targets)
  11. # 创建神经网络模型
  12. model = Sequential()
  13. model.add(Dense(2, input_shape=(2,), activation='relu')) # 隐藏层包含2个神经元,激活函数为ReLU
  14. model.add(Dense(1, activation='sigmoid')) # 输出层包含1个神经元,激活函数为Sigmoid
  15. # 编译模型
  16. model.compile(optimizer=Adam(), loss=BinaryCrossentropy(), metrics=['accuracy'])
  17. # 训练模型
  18. model.fit(inputs, targets, epochs=10)

在上述提及的代码里头, 我们先是创建了一个数据集, 该数据集涵盖有4个样本以及2个特征, 同时还创建了一个神经网络模型, 其具备着容纳2个神经元的隐藏层以及一个输出层。而后, 我们借助Keras API去编译这个模型, 并且运用fit函数来训练此模型。于编译模型之际, 我们明确指定了优化器、损失函数以及评价指标。在对模型进行训练之时,我们规定了训练的轮数。最终, 我们能够经由函数测试模型的性能。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/4 21:33:59

基于Coze工作流与Seedance2.0的AI视频自动化生成实战教程

还在为制作口播、种草、走拍、换装、带货视频而烦恼吗?从写脚本、找素材、拍摄、剪辑到发布,每个环节都耗时耗力,排队等待更是常态。今天,我将为你带来一套革命性的自动化解决方案: 即梦Seedance2.0 Coze工作流 。这…

作者头像 李华
网站建设 2026/9/4 21:31:55

HDLCheck重磅发布|新引擎驱动更精准的代码检查

近期,深远华创(南京)信息科技有限公司正式发布HDL代码规则与缺陷检查平台HDLCheck,该平台是对公司原FPGA代码缺陷检查与分析平台VCheck进行全面技术升级后的新一代产品,并根据公司产品发展战略和定位进行重新命名。HDL…

作者头像 李华
网站建设 2026/9/4 21:31:06

STM32F103驱动无源蜂鸣器播放歌曲:频率、PWM与电路实现

“蜂鸣器怎么播放歌曲”这个问题,看起来像是嵌入式初学者的玩具题,但它背后藏着 STM32F103 入门阶段最值得掌握的一组能力:理解信号频率与声音的关系、看懂蜂鸣器类型与驱动电路、学会用定时器/PWM 精确产生方波,以及用数据结构把…

作者头像 李华
网站建设 2026/9/4 21:26:01

任务依赖实战:从“双数组先做”到自动化状态检查

如果团队里出现一句“双数组任务先做,34 号完成了我们再动手”,这表面上是排期沟通,实际上已经点出了一个多任务并行开发中非常核心的问题:任务之间存在前置依赖,而依赖关系如果不拆清楚,后面要么有人空等&…

作者头像 李华