- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
python⼈⼯神经⽹络算法_⼿把⼿教你⽤Python创建简单的神
经⽹络(附代码)!...
了解神经⽹络⼯作⽅式的最佳途径莫过于亲⾃创建⼀个神经⽹络,本⽂将演⽰如何做到这⼀点。
神经⽹络(NN)⼜称⼈⼯神经⽹络(ANN),是机器学习领域中基于⽣物神经⽹络概念的学习算法的⼀个⼦集。
拥有五年以上经验的德国机器学习专家Andrey Bulezyuk声称:“神经⽹络正在彻底改变机器学习,因为它们能够在⼴泛的学科和⾏业中为
抽象对象⾼效建模。”
⼈⼯神经⽹络基本上由以下组件组成:
输⼊层:接收并传递数据
隐藏层
输出层
各层之间的权重
每个隐藏层都有⼀个激活函数。在这个简单的神经⽹络Python教程中,我们将使⽤Sigmoid激活函数。
神经⽹络有多种类型。在本项⽬中,我们将创建前馈或感知神经⽹络。这种类型的ANN直接将数据从前向后传递。
前馈神经元的训练往往需要反向传播,它为⽹络提供了相应的输⼊和输出集。当输⼊数据被传送到神经元时,经过处理后,产⽣⼀个输出。
下⾯的图表显⽰了⼀个简单的神经⽹络的结构 :
了解神经⽹络如何⼯作的最佳⽅法是学习如何从头开始构建神经⽹络(⽽不是采⽤任何库)。
在本⽂中,我们将演⽰如何利⽤Python编程语⾔创建⼀个简单的神经⽹络。
问题
如下是⼀个展⽰问题的表格。
我们将提供⼀个新的数据集,利⽤它训练神经⽹络,从⽽能够预测正确的输出值。
正如上表所⽰,输出值总是等于输⼊部分中的第⼀个值。因此,我们期望输出的值为1。
让我们看看是否可以使⽤Python代码来得出相同的结果(你可以在本⽂末尾仔细阅读这个项⽬的代码,然后再继续阅读本⽂)。
创建⼀个NeuralNetwork类
我们将⽤Python创建⼀个NeuralNetwork类来训练神经元,以期给出准确的预测。这个类还会有其他的帮助函数。
即使我们不会在这个简单的神经⽹络⽰例中使⽤神经⽹络库,我们也将导⼊numpy库来辅助计算。
numpy库提供了以下四种重要⽅法:
exp—⽤于⽣成⾃然指数
array—⽤于⽣成矩阵
dot—⽤于矩阵相乘
random—⽤于⽣成随机数。请注意,我们将⽣成随机数,以确保它们的有效分布。
1. 应⽤Sigmoid函数
我们将使⽤Sigmoid函数,来绘制⼀个特征 “S”型曲线,作为神经⽹络的激活函数。
此函数可以将任何值映射到0到1之间的值,它将有助于我们对输⼊的加权和归⼀化。
此后,我们将创建Sigmoid函数的导数,以帮助计算权重的调整参数。
可以利⽤Sigmoid函数的输出来⽣成它的导数。例如,如果输出变量为“x”,则其导数为x*(1-x)。
2. 训练模型
这是我们教神经⽹络做出准确预测的阶段。每个输⼊都有⼀个权重-可为正值或负值。这意味着:有较⼤的正权重或负权重的输⼊会对结果
的输出产⽣更⼤的影响。请记住,我们最初是通过为每个随机数分配⼀个权重后开始的。
下⾯是这个神经⽹络⽰例的训练过程:
第⼀步:从训练数据集中提取输⼊,根据训练数据集的权重进⾏调整,并通过⼀种计算神经⽹络输出的⽅法对其进⾏筛选。
第⼆步:计算反向传播错误率。在这种情况下,它是神经元的预测输出与训练数据集的期望输出之间的差异。
第三步:利⽤误差加权导数公式,根据所得到的误差范围,进⾏了⼀些较⼩的权值调整。
第四步:对这⼀过程进⾏15000次迭代。在每次迭代中,整个训练集被同时处理。
我们使⽤“.T”函数将矩阵从⽔平位置转换为垂直位置。因此,数字将以如下⽅式存储:
最终,神经元的权重将根据所提供的训练数据进⾏优化。随后,如果让神经元考虑⼀个新的状态,与先前的状态相同,它便可以作出⼀个准
确的预测。这就是反向传播的⽅式。
打包运⾏
最后,NeuralNetwork类初始化成功后,可以运⾏代码了。
下⾯是如何在Python项⽬中创建神经⽹络的完整代码 :
import numpy as np
class NeuralNetwork():
def __init__(self):
# seeding for random number generation
np.random.seed(1)
#converting weights to a 3 by 1 matrix with values from -1 to 1 and mean of 0
self.synaptic_weights = 2 * np.random.random((3, 1)) - 1
def sigmoid(self, x):
#applying the sigmoid function
return 1 / (1
您可能关注的文档
- 数字式万用表的使用方法.pdf
- 传递高中生英语口语训练的正能量.pdf
- 《求生之路2》游侠对战平台联机教程+中文免安装硬盘版下载.pdf
- 七年级上册语文生字词表(1-3单元).pdf
- 化学品安全技术说明书大全(MSDS)7255.pdf
- 《塞外的春天》阅读理解及答案.pdf
- MVR蒸发器选型思路与注意事项.pdf
- 一键启动功能使用说明书.pdf
- 人教版化学必修1:第三章第三节课堂达标即时巩固.pdf
- 二氧化碳气体保护焊工艺7450.pdf
- 2025至2030中国移动治疗台行业发展研究与产业战略规划分析评估报告.docx
- 2025至2030链激酶行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030爆炸物探测扫描仪行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030四川省智能制造行业细分市场及应用领域与趋势展望研究报告.docx
- 2026届高三二轮复习试题政治大单元突破练1生产资料所有制与分配制度含解析.docx
- 2026届高三二轮复习试题政治大单元突破练16哲学基本思想与辩证唯物论含解析.docx
- 2026届高三二轮复习试题政治大单元突破练2社会主义市场经济体制含解析.docx
- 浙江省衢州市五校联盟2025-2026学年高二上学期期中联考技术试题-高中信息技术含解析.docx
- 浙江省金丽衢十二校2026届高三上学期11月联考政治试题含解析.docx
- 2026届高三二轮复习试题政治大单元突破练7领导力量:中国共产党的领导含解析.docx
最近下载
- 信息技术与高中数学课堂教学融合路径研究.pptx VIP
- 2023ABB VD4真空断路器安装使用说明书.docx VIP
- MDCG 2022-21 欧盟定期安全更新报告(PSUR)指南(中文版).pdf VIP
- 七年级数学上册2.2.1同类项与合并同类项课件新版北京课改版 (2).ppt VIP
- 宝宝是从哪里来的.ppt VIP
- 信息技术与高中数学课堂教学深度融合的案例研究 (6).pptx VIP
- PPT:继往开来:从“十四五”辉煌成就到坚定不移迈向“十五五”新征程(四中全会).pptx VIP
- 黄帝的传说(课件).pptx VIP
- 2025年大学《化学测量学与技术》专业题库—— 分子探针技术在化学测量中的应用.docx
- 重型柴油车OBD尾气检测系统方案 ppt课件.doc VIP
原创力文档


文档评论(0)