神经网络建立(结果可变)最小神经元

目录

介绍: 

 初始化:

 建模:

 预测:

改变结果: 

介绍: 

在深度学习中,神经元通常指的是人工神经元(或感知器),它是深度神经网络中的基本单元。深度学习的神经元模拟了生物神经元的工作原理,但在实现上更加简化和抽象。

在深度学习神经元中,每个神经元接收一组输入信号,通过加权求和和激活函数来生成输出信号。每个输入信号都有一个对应的权重,用于控制其对输出信号的影响程度。加权求和之后,通过激活函数进行非线性变换,以生成最终的输出信号。

参考: 使用程序设计流程图解析并建立神经网络(不依赖深度学习library)-CSDN博客 深度学习使用python建立最简单的神经元neuron-CSDN博客

 初始化:

import numpy as np
from matplotlib import pyplot as plt
# (1) assign input values
input_value=np.array([[0,0],[0,1],[1,1],[1,0]])
input_value.shape
#结果:(4,2)input_value
'''结果:
array([[0, 0],[0, 1],[1, 1],[1, 0]])
'''# (2) assign output values
output_value=np.array([0,1,1,0])
output_value=output_value.reshape(4,1)
output_value.shape
#结果:(4,1)output_value
'''结果:
array([[0],[1],[1],[0]])
'''# (3) assign weights
weights = np.array([[0.3],[0.4]])
weights
'''结果:
array([[0.3],[0.4]])
'''# (4) add bias
bias = 0.5# (5) activation function
def sigmoid_func(x):return 1/(1+np.exp(-x))
# derivative of sigmoid function
def der(x):return sigmoid_func(x)*(1-sigmoid_func(x))

 建模:

# updating weights and bias
j=0 #debug draw picture
k=[] #debug draw picture
l=[] #debug draw picturefor epochs in range(2000):   sum = np.dot(input_value, weights) + bias #summation and biasact_output = sigmoid_func(sum) #activationerror = act_output - output_value #calculte error in predicttotal_error = np.square(error).mean() act_der = der(act_output) #Backpropagation and chain rulederivative = error * act_derfinal_derivative = np.dot(input_value.T, derivative)j=j+1 #debug draw picturek.append(j) #debug draw picturel.append(total_error) #debug draw pictureprint(j,total_error) #debug draw picture# update weights by gradient descent algorithmweights = weights - 0.5 * final_derivative# update biasfor i in derivative:bias = bias - 0.5 * iplt.plot(k,l)
print('weights:',weights)
print('bias:',bias)

 预测:

# prediction
pred = np.array([1,0])result = np.dot(pred, weights) + biasres = sigmoid_func(result) >= 1/2print(res)
#结果:[False]

改变结果:

output_value=np.array([0,1,1,0])
#改为output_value=np.array([0,0,0,0])
# updating weights and bias
j=0 #debug draw picture
k=[] #debug draw picture
l=[] #debug draw picturefor epochs in range(2000):   sum = np.dot(input_value, weights) + bias #summation and biasact_output = sigmoid_func(sum) #activationerror = act_output - output_value #calculte error in predicttotal_error = np.square(error).mean() act_der = der(act_output) #Backpropagation and chain rulederivative = error * act_derfinal_derivative = np.dot(input_value.T, derivative)j=j+1 #debug draw picturek.append(j) #debug draw picturel.append(total_error) #debug draw pictureprint(j,total_error) #debug draw picture# update weights by gradient descent algorithmweights = weights - 0.5 * final_derivative# update biasfor i in derivative:bias = bias - 0.5 * iplt.plot(k,l)
print('weights:',weights)
print('bias:',bias)

# prediction
pred = np.array([1,0])result = np.dot(pred, weights) + biasres = sigmoid_func(result) >= 1/2print(res)
#结果:[False]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/654614.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

JavaWeb基础01-基本技术体系介绍和相关工具的安装

一、JavaWeb 1.概述 Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站JavaWeb:是用Java技术来解决相关web互联网领域的技术栈 2.组成 (1)网页:展示数据(前端技术&…

计算机网络·网络层

网络层 网络层提供的两种服务 争论: 网络层应该向运输层提供怎样的服务?面向连接还是无连接? 在计算机通信中,可靠交付应当由谁来负责?是网络还是端系统? 2 种观点: 面向连接的可靠交付。 无连…

【C\C++ 04】归并排序

归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,也是用空间换时间思维的体现。 将已有序的子序列合并,得到完全有…

w24文件上传之PHP伪协议

PHP支持的伪协议 file:// - 访问本地文件系统 http:// - 访问网址 ftp:// - 访问文件 php:// -访问各个输入/输出流 zlib:// -压缩流 data:// - 数据 glob:// -查找匹配的文件路径模式 phar:// - php归档 ssh2:// - Secure shell 2 rar:// - RAR ogg:// - 音频流 expect:// - …

软件个性化选型:制造企业如何选择适合自身的工单管理系统-亿发

企业制造业是实体经济中非常重要和基础的组成部分,直接关系到国家经济的血脉。然而,传统制造业在生产与管理上所采用的老一套方法和经验已不再适应当下的发展需求。信息化、数字化和智能化被视为制造企业的必然趋势。要想在竞争激烈的市场中永立潮头&…

web前端---------盒子模型

1.内容 盒子的内容可以包含文字、图片等多种类型。 浏览器在加载网页时&#xff0c;会将元素按照内容区分为替换元素与非替换元素。 &#xff08;1&#xff09;替换元素指的是HTML中的一些形如<img>、<input>等非文本元素。 这些元素本身不包含任何内容&#x…

容器和虚拟机的对比

容器和虚拟机的对比 容器和虚拟机在与硬件和底层操作系统交互的方式上有所不同 虚拟化 使多个操作系统能够同时在一个硬件平台上运行。 使用虚拟机监控程序将硬件分为多个虚拟硬件系统&#xff0c;从而允许多个操作系统并行运行。 需要一个完整的操作系统环境来支持该应用。…

企业为何对数据可视化越发看重?

数据可视化&#xff0c;作为信息时代的一项重要技术&#xff0c;正在企业中崭露头角&#xff0c;逐渐成为业务决策和运营管理的得力助手。企业之所以对数据可视化如此重视&#xff0c;是因为它为企业带来了诸多实际利益和战略优势。 首先&#xff0c;数据可视化为企业提供了更…

如何实现无公网ip远程SSH连接家中本地的树莓派

文章目录 如何通过 SSH 连接到树莓派步骤1. 在 Raspberry Pi 上启用 SSH步骤2. 查找树莓派的 IP 地址步骤3. SSH 到你的树莓派步骤 4. 在任何地点访问家中的树莓派4.1 安装 Cpolar4.2 cpolar进行token认证4.3 配置cpolar服务开机自启动4.4 查看映射到公网的隧道地址4.5 ssh公网…

word文档怎么做成翻页电子书

随着科技的进步&#xff0c;电子书已成为越来越多人阅读的首选。翻页电子书以其独特的翻页效果和丰富的互动功能&#xff0c;更是受到了广大读者的喜爱。那么&#xff0c;如何将传统的Word文档制作成翻页电子书呢&#xff1f; 一、了解翻页电子书的特点 翻页电子书&#xff0c…

计网Lesson12 - UDP客户服务器模型和UDP协议

文章目录 丢个图在这&#xff0c;实在不是很明白在讲啥&#xff0c;等学完网编的我归来狠狠拿下它

ArcGIS Pro 如何计算长度和面积等数据?

要素的几何属性属于比较重要的信息&#xff0c;作为一款专业的GIS软件&#xff0c;ArcGIS Pro自然也是带有计算几何的功能&#xff0c;这里为大家介绍一下计算方法&#xff0c;希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的矢量数据&#xff0c;除了矢…

3步体验在DAYU200开发板上完成OpenHarmony对接华为云IoT

一、前言 OpenHarmony 3.1.1 是一个开源的智能终端操作系统&#xff0c;主要用于智能家居、智能手机、平板电脑、智能穿戴设备等智能终端设备。是一个分布式操作系统&#xff0c;支持多种硬件平台和多种编程语言&#xff0c;可以方便地进行移植和定制。 特点&#xff1a; &a…

Java类和对象详解

文章目录 一、面向对象初步认识1.1 什么是面向对象 二、类的定义和使用2.1 简单认识类2.2 类的定义格式 三、类的实例化3.1 什么是类的实例化3.2 类和对象的说明 四、对象的构造及初始化4.1 如何初始化对象4.2 构造方法(1) 概念(2) 特性 4.3 默认初始化4.4 就地初始化 本文章&a…

图片中的水印怎么去掉?教你三个去水印方法

在拍摄照片时&#xff0c;有时候会遇到不期而遇的路人出现在镜头中&#xff0c;给照片带来不必要的干扰。这时候我们就需要把路人给去掉&#xff0c;让照片变的更加完美。下面我将给大家分享三个把照片中的路人去掉的小妙招。 一、水印云 水印云是一款非常实用的图片处理工具…

腾讯发表多模态大模型最新综述,从26个主流大模型看多模态效果提升关键方法

在大规模语言模型&#xff08;LLMs&#xff09;通往通用人工智能&#xff08;AGI&#xff09;的道路中&#xff0c;从传统的单一的“语言模态”扩展到“图像”、“语音”等等的“多模态”必然是大模型进化的必经之路。 在过去的 2023 年&#xff0c;多模态大规模语言模型&…

【Node-RED】node-red-contrib-opcua-server模块使用(2)

这里写自定义目录标题 前言示例简单介绍变量产生opcuaServe配置 地址空间的配置创建opcua服务器获取命名空间初始化变量定义文件夹定义文件夹中的变量view文件夹增加view文件夹中查阅信息定义最终效果 加密设置opcuaServe组件配置客户端配置 参考官网博文 前言 上期博文【Node…

零基础学编程,中文编程入门视频教程

零基础学编程&#xff0c;中文编程入门视频教程 一、前言 编程入门视频教程链接 https://edu.csdn.net/course/detail/39036 编程工具及实例源码文件下载可以点击最下方官网卡片——软件下载——常用工具下载——编程工具免费版下载及实例源码下载。 如上图为编程工具构件…

c语言实战之贪吃蛇

文章目录 前言效果展示游戏用到的图片游戏思路一览游戏前准备一、贪吃蛇、食物、障碍物节点坐标的结构体二、枚举游戏状态、和贪吃蛇的方向三、维护运行的结构体 游戏开始前的初始化一、学习图形库相关知识二、设置背景三、欢迎界面四、初始化贪吃蛇五、生成障碍物六、生成食物…

SharedPreferences卡顿分析

SP的使用及存在的问题 SharedPreferences(以下简称SP)是Android本地存储的一种方式&#xff0c;是以key-value的形式存储在/data/data/项目包名/shared_prefs/sp_name.xml里&#xff0c;SP的使用示例及源码解析参见&#xff1a;Android本地存储之SharedPreferences源码解析。以…