当前位置: 首页 > article >正文

神经网络|(一)加权平均法,感知机和神经元

【1】引言

从这篇文章开始,将记述对神经网络知识的探索。相关文章都是学习过程中的感悟和理解,如有雷同或者南辕北辙的表述,请大家多多包涵。

【2】加权平均法

在数学课本和数理统计课本中,我们总会遇到求一组数据平均值的做法,而获得平均值的计算方法,是丰富且各有深远意义的。

在之前的学习进程中,在对numpy模块进行探索时,曾对平均值函数numpy.average()有过基础探索,相关文章链接为:numpy学习|average()函数基础_numpy average-CSDN博客

在这篇文章中,有一种加权平均值的计算方法,算法原理为:

对于一组数据,每个数据占有的权重不同,计算平均值时,每个数据和各自对应的权重相乘后再叠加。

比如两个数为1和5,对应的权重分别为0.8和0.2,获得这两个数的算术平均值和加权平均值的算法明显不同:

算术平均值计算方法:0.5\times(1+5)=3

加权平均值计算方法:1\times 0.8+5\times0.2=1.8

由上述例子可见,权重会给结果带来显著影响;相应的,掌握权重的分配,会直接影响计算结果的呈现。

【3】感知机

对加权平均值加一层结果判断,就是感知机,继续使用上述示例。

在上述示例中,两个数为1和5,对应的权重分别为0.8和0.2,如果在计算之前就规定,加权平均值只有在不小于2时才有效,其余情况会强制等于0。

那对于上述示例,加权平均值的计算结果是1.8,按照上述规则,此时就会直接赋值为0。

感知机就是一种二元分类器:加权平均值超过一个阈值开关,就会强制赋1,相反则强制赋0。

在opencv的学习进程中,阈值处理的方法与此有很大的相似性:cv.THRESH_BINARY阈值处理的原则是,给定阈值开关,大于开关的像素点,对其BGR值强制赋最大值255,相反则赋0。相关文章的链接为:python学opencv|读取图像(三十四)阈值处理-彩色图像-CSDN博客

相应的,如果把对加权平均值的大小比较写成加法(加阈值开关的负数),可以获得数学表达式:

f(x)=\left\{\begin{matrix} 1& if &wx+b>0\\ 0& else \end{matrix}\right. 

【4】神经元

神经元是一个生物学概念,为便于理解,这里主要概述。

典型的神经元结构包括:细胞体和细胞突起,细胞体理解为神经元的处理中枢,细胞突起包括树突和轴突。

(树突可以理解为沿着神经元细胞体的边缘衍生出的小突起,数量多,可能叫做径向突起更便于理解;轴突可以理解为从神经元细胞体伸出来的突起,这个突起只有一个,在轴突的末端,和其他神经元相互连接的部分叫做突触。把树突理解为径向突起纯粹是为了和轴向突起进行对比,没有实际意义,请谅解。)

神经元的状态主要有两种:兴奋和抑制。

树突把兴奋信号传给细胞体,轴突通过突触把兴奋信号从一个神经元传给另一个神经元。

【5】总结

神经元只有兴奋和抑制的工作模式很像一种二元法则,非此即彼。

基于此,神经元可以理解为一种生物意义上的感知机,而感知机是对加权平均值进行阈值判断的二元分类器。


http://www.kler.cn/a/515560.html

相关文章:

  • KETTLE-SAP抽数报错RFC_ERROR_SYSTEM_FAILURE
  • 【Linux】19.基础IO(1)
  • 差分轮算法-两个轮子计算速度的方法-阿克曼四轮小车计算方法
  • 人工智能之深度学习_[4]-神经网络入门
  • 服务器日志自动上传到阿里云OSS备份
  • Node.js HTTP模块详解:创建服务器、响应请求与客户端请求
  • Linux 切换到 Root 用户的方式及差异详解
  • Vue平台开发三——项目管理页面
  • 用于牙科的多任务视频增强
  • C++priority_queue模拟实现
  • linux 下调试 pac1934 电源监控器
  • AutoPrompt框架和实操:如何用AutoPrompt完成电影评论和聊天审核任务?
  • python内置的调试工具-pdb
  • 解决SpringBoot项目启动错误:找不到或无法加载主类
  • 一文大白话讲清楚webpack基本使用——11——chunkIds和runtimeChunk
  • 【玩转全栈】----基于ModelForm完成用户管理页面
  • 作品显示ip属地与定位哪个是真实的
  • 解决因JDK升级导致的`java.nio.file.NoSuchFileException`问题
  • 【K8S问题系列 |19 】如何解决 Pod 无法挂载 PVC问题
  • Python并发编程 07 事件驱动模型、进程切换、进程阻塞、文件描述符、缓存I/O、selectors模块
  • Vue3+Element Plus 实现 el-table 表格组件滚动是否触底监听判断
  • 父级perspective与子元素transform:perspective的区别
  • 在vue3中使用datav完整引入时卡在加载页面的解决方法
  • 【10.2】队列-设计循环队列
  • FFmpeg音视频采集
  • 数据结构——实验二·栈