本文共 1885 字,大约阅读时间需要 6 分钟。
人工神经网络(Artificial Neural Networks)也简称为神经网络(NN)。是模拟人类大脑神经网络的结构和行为。
20 世纪 80 年代以来,人工神经网络(Artificial Neural Network)研究所取得的突破性进展。神经网络辨识是采用神经网络进行逼近或建模,神经网络辨识为解决复杂的非线性、 不确定、未知系统的控制问题开辟了新途径。 神经网络主要应用领域有:模式识别与图象处理(语音、指纹、故障检测和图象压缩等)、 控制与优化、系统辨识、预测与管理(市场预测、风险分析)、通信等。
经典的神经网络有以下三个层次组成:输入层(input layer), 隐藏层 (hidden layers), 输出层 (output layers)。
每个圆圈就是一个神经元。每层与每层之间是没有连接的,但是层与层之间都有连接。 每个连接都是带有权重值的。隐藏层和输出层的神经元由输入的数据计算输出,但输入层神 经元只有输入,一般指一个训练数据样本的数据。
神经系统的基本构造是神经元(神经细胞),它是处理人体内各部分之间相互信息传递的 基本单元。每个神经元都由一个细胞体,一个连接其他神经元的轴突和一些向外伸出的其它较短分支—树突组成。
轴突功能是将本神经元的输出信号(兴奋)传递给别的神经元,其末端的许多神经末梢使得兴奋可以同时传送给多个神经元。树突的功能是接受来自其它神经元的兴奋。神经元细胞体将接收到的所有信号进行简单地处理后,由轴突输出。神经元的轴突与另外神经元神经末梢相连的部分称为突触。
感知机是一类人造神经元,模拟这样的大脑神经网络处理数据的过程。
感知机模型如下图:
感知机是一种基本的分类模型,类似于逻辑回归。不同的是感知机的逻辑函数用的是 sign,而逻辑回归用的是 Sigmoid 函数,感知机也具有连接权重和偏置。
对于线性不可分问题一般用多层神经网络,
打开 http://playground.tensorflow.org/。 使用 playground 体会感知机的分类。
sigmoid 函数 由于其单增及反函数单增等性,sigmoid 函数常被用做神经网络的激活函数,将变量映射到 0,1 之间。所以主要用来做二分类神经网络。 由于其平滑、易于求导的特性,处理特征相差不是很大或者复杂的数据效果比较好。
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) 是双曲正弦函数(sinh)与双曲余弦函数(cosh)的比值,语法格式如下:
双曲正切函数(tanh)与 tf.sigmoid 非常接近,且与后者具有类似的优缺点。
tf.sigmoid 和 tf.tanh 的主要区别在于后者的值域为[-1.0,1.0]。
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()
陌生领域,感谢尚学堂的视频带领
初步学习神经网络,还是蛮激动的。
希望以后可以入门 机器学习、人工智能 等领域加油!
转载地址:http://cwrq.baihongyu.com/