位置: IT常识 - 正文

神经网络Python实现(9行代码)(神经网络模型python)

编辑:rootadmin
神经网络Python实现(9行代码)

推荐整理分享神经网络Python实现(9行代码)(神经网络模型python),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:神经网络python代码,神经网络python代码,python神经网络例子,python神经网络教程,python3神经网络,神经网络python代码,python神经网络例子,神经网络python代码,内容如对您有帮助,希望把文章链接给更多的朋友!

1. 神经网络简介

神经网络由输入层、输出层和之间若干层(一层或多层)隐含层构成,每一层可以有若干个节点。层与层之间节点的连接状态通过权重来体现。

 下面介绍一下单个神经元:

输入节点:x1,x2

权重:w1,w2

偏置:b

激活函数:h()

输出结果:y

a = x1*w1 + x2*w2 + b

 2. 代码解释

这段代码是在GitHub上找到的,链接如下:

https://github.com/miloharper/simple-neural-network

作者这样描述这段代码:

A neural network written in Python, consisting of a single neuron that uses gradient descent to learn.

一种用Python编写的神经网络,它是由一个使用梯度下降学习的神经元组成。

from numpy import exp, array, random, dottraining_set_inputs = array([[0, 0, 1], [1, 1, 1], [1, 0, 1], [0, 1, 1]])training_set_outputs = array([[0, 1, 1, 0]]).Trandom.seed(1)synaptic_weights = 2 * random.random((3, 1)) - 1for iteration in range(10000): output = 1 / (1 + exp(-(dot(training_set_inputs, synaptic_weights)))) synaptic_weights += dot(training_set_inputs.T, (training_set_outputs - output) * output * (1 - output))print( 1 / (1 + exp(-(dot(array([1, 0, 0]), synaptic_weights)))))

① from numpy import exp, array, random, dot

神经网络Python实现(9行代码)(神经网络模型python)

#从Numpy库中调用exp(指数函数)、array(数组)、random(随机函数)、dot(矩阵相乘函数)

② training_set_inputs = array([[0, 0, 1], [1, 1, 1], [1, 0, 1], [0, 1, 1]])

#神经网络训练部分的输入

③ training_set_outputs = array([[0, 1, 1, 0]]).T

#神经网络训练部分的输出,.T表示矩阵转置

④ random.seed(1)

#使用随机函数生成随机数(这一行代码可以省略,目的只是保证测试结果与作者一致)

⑤ synaptic_weights = 2 * random.random((3, 1)) – 1

⑥ for iteration in range(10000):⑦   output = 1 / (1 + exp(-(dot(training_set_inputs, synaptic_weights))))

#使用for语句循环10000次,将训练集的输入和权重采用.dot进行矩阵相乘,将相乘得到的结果输入到sigmoid函数,然后将得到的结果赋值给output

⑧   synaptic_weights += dot(training_set_inputs.T, (training_set_outputs - output) * output * (1 - output))

#权重的调整采用“误差加权导数”公式(梯度下降)

⑨ print (1 / (1 + exp(-(dot(array([1, 0, 0]), synaptic_weights))))) #[0.99993704]

#synaptic_weights是调整之后的最终权重,数组(矩阵)[1,0,0]与这个权重矩阵通过dot函数进行相乘,将相乘的结果作为输入引入到sigmoid函数,得到最终的结果

这段代码的模型如下图所示,有三个输入,一个输出,简单来说,神经网络就是一个通过训练集输入的数据不断地迭代更新权重的模型,使之输出更接近“标准答案”,这里推荐看一下B站上的一个有关神经网络的短视频:

一分钟告诉你什么是神经网络

 这9行代码就是把上图的1~4组数据作为训练集进行模型训练,不断地更新权重使其输出更接近训练集中给出的输出标签(标准答案),然后将最后一组数据当做测试集来检测模型的准确度,它最后的结果输出是0.99993704,也是约等于1,其实不难发现,4组测试数据的输出都与第一个输入数据相同,所以说神经网络模型测试得到了正确的结果,这也是说明神经网络有预测结果的作用。

本文链接地址:https://www.jiuchutong.com/zhishi/300203.html 转载请保留说明!

上一篇:【js】超详细js函数基础()

下一篇:2023前端面试题(硬货-持续更新)(2023前端面试题目)

  • 微信如何解除青少年模式监护人(微信如何解除青少年模式设置)

    微信如何解除青少年模式监护人(微信如何解除青少年模式设置)

  • 苹果手机微信如何设置不显示内容(苹果手机微信如何换行)

    苹果手机微信如何设置不显示内容(苹果手机微信如何换行)

  • 抖音极速版不能提现(抖音极速版不能微信支付怎么回事)

    抖音极速版不能提现(抖音极速版不能微信支付怎么回事)

  • 小米商城什么时候停止发货(小米商城什么时候降价)

    小米商城什么时候停止发货(小米商城什么时候降价)

  • se屏幕多大尺寸(荣耀50se屏幕多大尺寸)

    se屏幕多大尺寸(荣耀50se屏幕多大尺寸)

  • 手机直播卡是什么原因(手机直播卡是什么问题)

    手机直播卡是什么原因(手机直播卡是什么问题)

  • 淘宝主页在哪里(淘宝主页在哪里修改)

    淘宝主页在哪里(淘宝主页在哪里修改)

  • 手机屏幕不受控制(手机屏幕不受控制怎么办华为手机)

    手机屏幕不受控制(手机屏幕不受控制怎么办华为手机)

  • 抖音怎么上传60帧视频(抖音怎么上传60帧视频教程)

    抖音怎么上传60帧视频(抖音怎么上传60帧视频教程)

  • 电脑没网但是wifi有网(电脑没网但是wifi有网IP)

    电脑没网但是wifi有网(电脑没网但是wifi有网IP)

  • 苹果11promax跟苹果11区别(苹果11promax跟苹果11哪个好)

    苹果11promax跟苹果11区别(苹果11promax跟苹果11哪个好)

  • oppo reno z屏幕分辨率(oppo reno z怎么分屏)

    oppo reno z屏幕分辨率(oppo reno z怎么分屏)

  • word表格一根线加粗(word表格有一根单线去不掉)

    word表格一根线加粗(word表格有一根单线去不掉)

  • 怎样唤醒小V(怎样唤醒小v对主人的个性称谓)

    怎样唤醒小V(怎样唤醒小v对主人的个性称谓)

  • 如何用ps缩小图片内存(如何用ps缩小图片大小kb)

    如何用ps缩小图片内存(如何用ps缩小图片大小kb)

  • 淘宝违规分为哪几种(淘宝违规分为哪几种类型)

    淘宝违规分为哪几种(淘宝违规分为哪几种类型)

  • 手机低数据模式是什么意思(手机低数据模式怎么改)

    手机低数据模式是什么意思(手机低数据模式怎么改)

  • 键盘灯不亮(键盘灯不亮按键没反应怎么回事)

    键盘灯不亮(键盘灯不亮按键没反应怎么回事)

  • 畅语电话话费怎么用(畅享聊话费)

    畅语电话话费怎么用(畅享聊话费)

  • 快手能看到访客是谁吗?(快手能看到访客记录吗怎么看)

    快手能看到访客是谁吗?(快手能看到访客记录吗怎么看)

  • 58同城如何发帖子(58同城如何发帖子内容)

    58同城如何发帖子(58同城如何发帖子内容)

  • Win11安装如何跳过CPU检测 Win11跳过CPU检测的方法(Win11安装如何跳过以太网)

    Win11安装如何跳过CPU检测 Win11跳过CPU检测的方法(Win11安装如何跳过以太网)

  • win10错误代码0x0000011b怎么解决(win10错误代码0xc0000001)

    win10错误代码0x0000011b怎么解决(win10错误代码0xc0000001)

  • HashMap源码,看我这篇就够了(hashmap resize源码)

    HashMap源码,看我这篇就够了(hashmap resize源码)

  • 织梦实现列表页双样式和列表样式循环交替变化方法(织梦内容页模板修改)

    织梦实现列表页双样式和列表样式循环交替变化方法(织梦内容页模板修改)

  • 农副产品免税发票抵扣多少税率
  • 小规模纳税人申请一般纳税人条件
  • 经营所得汇算在哪里查
  • 个人社保信息变更
  • 资产负债表税务报表中其他应收款可以为负数吗
  • 法人资本个人资本
  • 国外出差差旅费
  • 营改增后预存话费可以报销吗?
  • 以前年度损益调整属于哪类科目
  • 其他业务成本是什么类
  • 购买固定资产的进口关税
  • 发票已认证部分怎么撤销
  • 怎么确定高新产品
  • 并购重组协议样本
  • 外包服务费税率是多少
  • 股权转让需要什么资料
  • 固定资产入账包括税额吗
  • 销售净利率如何分析出来
  • 附加税减免要计税吗
  • 房产税的征收范围为
  • windows10提示更新11
  • 错误代码:0x0000428
  • 本月收到的发票可以下月勾选抵扣吗
  • ipad哪款最贵
  • php写的代码怎么运行
  • 城建税征税范围广吗
  • 报废的设备怎么处理
  • 预收账款和应收账款的账务处理
  • 如何用php
  • php面试题目100及最佳答案
  • 破解版微擎框架如何升级
  • 国税申报系统操作流程
  • 印刷电机特点
  • 发票开具的常见错误以及盖章问题
  • 产品维修费的会计怎么做
  • 医院绿化方案
  • 融资租赁期间的维修费由谁承担
  • 个人所得税汇算年收入不超过12万
  • 有限合伙企业的税收筹划
  • 劳务关系需要交税吗
  • 科技专项资金
  • 建筑企业收挂靠公司的管理费如何做账?
  • 无形资产内部研究开发支出的处理
  • 为员工购买意外保险
  • 短期借款如何记账
  • 客运服务费发票计入什么科目
  • 法人能去税务局开个人发票吗
  • 计提风险准备金是什么意思
  • 会计做账过程中遇到的问题
  • 三大财务报表英文
  • 哪些会计凭证可以抵扣进项税
  • windows下命令
  • windows桌面快捷方式怎么创建
  • win8旗舰版和专业版区别
  • u盘安装win8.1系统教程
  • window9为什么没有
  • be备份linux系统
  • 笔记本bios密码怎么强制清除
  • macbook pro怎么分区
  • 在linux2.4.0版本中
  • win8系统运行在哪里
  • ubuntu文本编辑器命令
  • linux开机后怎么进去系统
  • 系统升级为中狼
  • iphone手机文件怎么传到电脑
  • 谈谈对环境保护认识话题三分钟
  • 获取本站的context root
  • 归档 oracle
  • shell截取字段
  • unity获取手机型号
  • cypress 异步
  • node爬取数据
  • js 返回上一页面并刷新
  • sql怎么增删改
  • python3 cookie
  • Android-Universal-Image-Loader 图片异步加载类库的使用
  • 吉林省国家税务局官网
  • 实名办税信息采集的身份证件
  • 加强案件查办工作方案
  • 分类编码方案可以在什么中修改
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设