
初识:神经网络(Neural Networks)
感知机可以用来处理线性可分类问题,线性可不可分简单来说,就是可不可以用一条直线把图上两类点划分开。如第二张图所示,无论怎么画直线都无法将两类点分区开。
发布日期:2021-05-07 03:01:01
浏览次数:17
分类:精选文章
本文共 1885 字,大约阅读时间需要 6 分钟。
浅谈Neural Networks
神经网络介绍
人工神经网络(Artificial Neural Networks)也简称为神经网络(NN)。是模拟人类大脑神经网络的结构和行为。
20 世纪 80 年代以来,人工神经网络(Artificial Neural Network)研究所取得的突破性进展。神经网络辨识是采用神经网络进行逼近或建模,神经网络辨识为解决复杂的非线性、 不确定、未知系统的控制问题开辟了新途径。 神经网络主要应用领域有:模式识别与图象处理(语音、指纹、故障检测和图象压缩等)、 控制与优化、系统辨识、预测与管理(市场预测、风险分析)、通信等。
神经网络原理
经典的神经网络有以下三个层次组成:输入层(input layer), 隐藏层 (hidden layers), 输出层 (output layers)。
每个圆圈就是一个神经元。每层与每层之间是没有连接的,但是层与层之间都有连接。 每个连接都是带有权重值的。隐藏层和输出层的神经元由输入的数据计算输出,但输入层神 经元只有输入,一般指一个训练数据样本的数据。
神经系统的基本构造是神经元(神经细胞),它是处理人体内各部分之间相互信息传递的 基本单元。每个神经元都由一个细胞体,一个连接其他神经元的轴突和一些向外伸出的其它较短分支—树突组成。
轴突功能是将本神经元的输出信号(兴奋)传递给别的神经元,其末端的许多神经末梢使得兴奋可以同时传送给多个神经元。树突的功能是接受来自其它神经元的兴奋。神经元细胞体将接收到的所有信号进行简单地处理后,由轴突输出。神经元的轴突与另外神经元神经末梢相连的部分称为突触。
感知机
感知机是一类人造神经元,模拟这样的大脑神经网络处理数据的过程。
感知机模型如下图:
感知机是一种基本的分类模型,类似于逻辑回归。不同的是感知机的逻辑函数用的是 sign,而逻辑回归用的是 Sigmoid 函数,感知机也具有连接权重和偏置。


对于线性不可分问题一般用多层神经网络,
打开 http://playground.tensorflow.org/。 使用 playground 体会感知机的分类。
激活函数
Sigmoid 函数
sigmoid 函数 由于其单增及反函数单增等性,sigmoid 函数常被用做神经网络的激活函数,将变量映射到 0,1 之间。所以主要用来做二分类神经网络。 由于其平滑、易于求导的特性,处理特征相差不是很大或者复杂的数据效果比较好。
- sigmoid 函数的公式
- 使用 matplotlib 绘制 Sigmoid 函数
import numpy as npimport matplotlib.pyplot as plt# 定义sigmoid函数:将变量定位0-1之间def sigmoid(x): return 1.0 / (1+np.exp(-x))# 生成一串数-10 -- 10x = np.arange(-10, 10)# 指定画布大小fig, ax = plt.subplots(figsize=(12, 4))# 绘制, 指定绘制颜色, x, y, 参数ax.plot(x, sigmoid(x), 'r')# 显示绘图plt.show()
执行结果如图所示:

双曲正切函数(tanh)
双曲正切函数(tanh) 是双曲正弦函数(sinh)与双曲余弦函数(cosh)的比值,语法格式如下:

双曲正切函数(tanh)与 tf.sigmoid 非常接近,且与后者具有类似的优缺点。
tf.sigmoid 和 tf.tanh 的主要区别在于后者的值域为[-1.0,1.0]。
- 使用 matplotlib 绘制 tanh 函数
import numpy as npimport matplotlib.pyplot as plt# 准备x坐标, 等间距-10 10 之间100个点x = np.linspace(-10, 10, 100)# y直接调用numpy函数封装好的y = np.tanh(x)# 绘图plt.plot(x, y)# 显示plt.show()
后序
陌生领域,感谢尚学堂的视频带领
初步学习神经网络,还是蛮激动的。
希望以后可以入门 机器学习、人工智能 等领域加油!
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月07日 16时45分28秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
11.2.6 时间值的小数秒
2019-03-05
Redis源码分析(七)--- zipmap压缩图
2019-03-05
自定义Hive Sql Job分析工具
2019-03-05
【MySQL】(九)触发器
2019-03-05
关于Altium Designer 09导出BOM表不能正确分类问题
2019-03-05
Oracle 11G环境配置
2019-03-05
【Python】(十二)IO 文件处理
2019-03-05
【Oozie】(三)Oozie 使用实战教学,带你快速上手!
2019-03-05
师兄面试遇到这条 SQL 数据分析题,差点含泪而归!
2019-03-05
C语言的数值溢出问题(上)
2019-03-05
BottomNavigationView控件item多于3个时文字不显示
2019-03-05
函数指针的典型应用-计算函数的定积分(矩形法思想)
2019-03-05
8051单片机(STC89C52)以定时器中断模式实现两倒计时器异步计时
2019-03-05
用 wxPython 打印你的 App
2019-03-05
vue项目通过vue.config.js配置文件进行proxy反向代理跨域
2019-03-05
Linux下安装MySql过程
2019-03-05
android:使用audiotrack 类播放wav文件
2019-03-05
vue通过better-scroll 封装自定义的下拉刷新组件
2019-03-05
android解决:使用多线程和Handler同步更新UI
2019-03-05
Element UI 中动态路由的分析及实现
2019-03-05