神经网络与深度学习课程总结
1.定义
人工智能 (Artificial Intelligence):人工智能(AI)是一种计算机科学领域,旨在使计算机系统能够执行通常需要人类智能的任务。这包括理解自然语言、学习、推理、规划、感知和解决问题等方面。人工智能系统通过模仿人类的思维过程、学习从数据中提取模式以及利用算法进行自动化决策来实现这些任务。AI 的目标是使计算机系统能够像人类一样思考、学习、适应和解决复杂的问题。
人工神经网络 (ANN):人工神经网络(Artificial Neural Network,简称ANN)是一种受到生物神经网络启发而设计的计算模型。它由大量简单的人工神经元(节点)组成,这些神经元之间通过连接(通常称为权重)相互连接。这些连接形成了一个网络,通过输入数据并在各个神经元之间传递信息,最终产生输出结果。
2.线性分类
2.1 线性回归
2.1.1定义
机器学习中的线性回归是一种用于建立和分析变量之间线性关系的统计方法。其主要目标是通过已知的自变量(或称为特征)来预测连续型的因变量(或称为目标变量)的数值。线性回归假设自变量与因变量之间存在线性关系,并尝试找到一条最佳拟合直线(或超平面),使得预测值与实际观测值之间的误差最小化。在训练过程中,线性回归模型通过调整系数来拟合数据,并利用各种优化算法来找到最佳拟合参数。
2.1.2线性回归要素
(1) 训练集(training set)或训练数据(training data)是我们流程中的输入数据,通常表示为 x。
(2) 输出数据通常表示为 y。
(3) 拟合的函数(或称假设或模型)一般表示为;如果是直线,则表示为。
(4) 训练数据的条目数(#training set):一条训练数据由一对输入数据和输出数据组成,数据的维度为 n(特征的个数,#features)。
2.1.3学习过程:
数学计算过程:
若扩展问题为n维问题,即回归与n个因素有关,令
则有
此时的回归问题转换为求解系数向量使代价函数最小,代价函数为
对J求偏导,并使之为0,则可得到线性回归解析解为
2.2线性二分类
定义:线性二分类是指使用线性模型来对数据进行分类,其中数据可以分为两个不同的类别。线性分类器通过学习一个线性决策边界(或超平面),将数据分为两个类别。这个决策边界可以是一个线性函数,例如在二维空间中可以表示为一条直线,而在更高维空间中则表示为一个超平面。
线性分类与线性回归区别:
(1) 输出的意义不同:一种情况下,输出表示属于某一类别的概率;另一种情况下,输出是回归任务中的具体数值。
(2) 参数的意义不同:在分类任务中,参数可能代表着最佳分类直线或者分类面;而在回归任务中,参数则是用于拟合最佳拟合直线或曲面的系数。
(3) 维度不同:一种情况下是一维的回归问题,而另一种情况下是二维的分类问题。
数学求解:
类似于线性分类问题 构造代价函数,其中。
为使代价函数最小,使用梯度下降法计算超平面参数
2.3对数回归与多分类回归
2.4神经元模型
模型:
Spiking模型
Integrate-and-fire模型
M-P模型
单神经元模型:
作用函数:
非对称型Sigmoid函数
对称型Sigmoid函数
对称型阶跃函数
Hebb规则:
连接权值的调整量与输入与输出的乘积成正比
2.5感知机模型
定义及原理:
感知机(Perceptron)是1957年,由Rosenblatt提出,是神经网络和支持向量机的基础。
计算步骤:
3.BP神经网络
3.1多层感知机
单层感知机的一个问题是它无法解决非线性问题。要解决这个问题,可以使用多层感知机(MLP)。
多层感知器网络定理:
定理1:如果隐层节点(单元)可以任意设置,并且使用三层阈值节点的网络,那么可以实现任意的二值逻辑函数。
定理2:如果隐层节点(单元)可以任意设置,并且使用三层具有S型非线性特性的节点的网络,那么可以一致逼近紧集上的连续函数,或者按照范数逼近紧集上的平方可积函数。
3.2BP算法
多层前馈网络:
多层前馈网络是一种神经网络结构,其反向传播(BP)学习算法是一种有监督的学习方法,是梯度下降法在多层前馈网络中的应用。网络结构如下图所示:输入向量为 u,输出向量为 y,神经元用节点表示,网络由输入层、隐层和输出层节点组成,隐层可以是一层,也可以是多层(图中展示了单隐层)。各层节点之间通过权重连接。由于采用了BP学习算法,因此常称为BP神经网络。
BP算法:
BP学习算法由正向传播和反向传播组成。
正向传播是输入信号从输入层经隐层,传向输出层, 若输出层得到了期望的输出,则学习算法结束;否则,转至反向传播。
反向传播是将误差(样本输出与网络输出之差)按原联接通路反向计算,由梯度下降法调整各层节点的权值和阈值,使误差减小。
计算过程:
3.3算法评述
BP算法的优点:
-
学习完全自主:BP算法不需要人为干预,通过反向传播误差自动地调整网络参数,使得网络能够适应不同的任务和数据。
-
可逼近任意非线性函数:多层前馈网络采用BP算法进行训练时,具有较强的拟合能力,能够逼近任意非线性函数,从而在处理复杂问题时表现出色。
BP算法的缺点:
-
算法非全局收敛:BP算法容易陷入局部最优解,而不是全局最优解,导致网络性能不稳定。
-
收敛速度慢:由于BP算法是基于梯度下降的方法,网络参数的调整是逐步进行的,因此收敛速度相对较慢,尤其是在训练数据规模较大时。
-
学习速率的选择问题:BP算法中学习速率的选择对网络的训练效果至关重要,但选择合适的学习速率并不容易,过小的学习速率会导致收敛速度缓慢,而过大的学习速率则可能导致震荡或不稳定性。
-
神经网络层数和节点数不易确定:在构建多层前馈网络时,往往需要根据具体问题进行不断调整和优化,确定合适的层数和节点数是一个挑战,过多或过少的层数和节点数都可能影响网络的性能。