1.概述
人工智能定义:是用机器去实现所有目前必须借助人类智慧才能实现的任务。其具体研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统。
人工智能方法:人工智能是一个概念性而非形式化定义,包含多种方法论:
(1)仿生角度:模拟自然生物信息处理过程(神经网络、深度学习)
(2)符号学角度:用统计概率、数理逻辑、博弈搜索等实证(机器学习)
(3)行为学角度:以控制论实现机器自我进化(自动控制、强化学习)
(4)交叉角度:上述多种角度的合成
2.神经网络与深度学习应用
人工智能发展的六大关键技术:自然语言处理、计算机视觉、机器人、语音识别、图像识别、机器学习。
3.线性回归:
定义:利用数理统计中回归分析,来确定两种或两种以上变量间相 互依赖的定量关系的一种统计分析方法。
要素:训练集、输出数据、模型。
学习过程:
线性回归实现步骤:
4.线性二分类问题
定义:线性分类器则透过特征的线性组合来做出分类决定,以达到此种目的。简言之,样本通过直线(或超平面)可分。
线性分类器输入:特征向量
输出:若为二分类问题,则为0和1,或者是属于某类的 概率,即0-1之间的数。
线性分类与线性回归的差别:
(1)输出意义不同:属于某类的概率——回归具体值
(2)最佳分类直线——最佳拟合直线
(3)维数不同
构造二分类的“分界直线”:
利用Sigmoid函数对值进行变换,使结果变为0-1之间。
5.梯度下降法
由于非线性无法求解,所以构造序列如下:
6.对数回归和多分类回归
指数回归:条件概率描述二分类问题:
假设各样本相互独立,即服从Bernoulli分布。则的合理估计值应当是 让所有样本事件产生的几率最大,即应当是极大似然的。
多分类回归:
(1)代价函数:
(2)对应梯度:
这种方式又称为Softmax。
7.神经元模型
分类:生物神经元:Spiking模型、Integrate-and-fire模型;人工神经元模型:M-P模型;
单神经元模型
作用函数:
(1)非对称型 Sigmoid 函数
(2)对称型 Sigmoid 函数
(3)对称型阶跃函数
Hebb规则:连接权值的调整量与输入和输出的积成正比:
8.感知机模型
感知机从输入到输出的模型如下:
对样本进行分类:
损失函数如下:
超平面参数,满足:
输入:训练数据集
输出:超平面参数
9.BP神经网络
XOR问题:
线性不可分问题:无法进行线性分类。
多层感知机
解决方法:使用多层感知机
在输入和输出层间加一或多层隐单元,构成多层感知器(多层前馈神经网络)。
加一层隐节点(单元)为三层网络,可解决异或(XOR)问题。
可以得到:
三层感知器可识别任一凸多边形或无界的凸区域。
更多层感知器网络,可识别更为复杂的图形。
多层感知器网络,有如下定理:
定理1 :若隐层节点(单元)可任意设置,用三层阈值节点的网络,可以实现任意的二值逻辑函数。
定理2 :若隐层节点(单元)可任意设置,用三层S型非线性特性节点的网络,可以一致逼近紧集上的连续函数或按 范数逼近紧 集上的平方可积函数。
10.多层前馈网络
概念:多层感知机是一种多层前馈网络,由多层神经网络构成,每层网络将 输出传递给下一层网络。神经元间的权值连接仅出现在相邻层之间, 不出现在其他位置。如果每一个神经元都连接到上一层的所有神经元 (除输入层外),则成为全连接网络。
11.BP神经网络简述
BP学习算法由正向传播和反向传播组成:、
(1) 正向传播:输入信号从输入层经隐层,传向输出层,若输出层得到了期望的输出, 则学习算法结束;否则,转至反向传播。
(2)反向传播:将误差(样本输出与网络输出之 差)按原联接通路反向计算,由梯度下降法调整各层节点的权值和阈值,使误差减小。
12.BP算法基本思想
网络最终输出输入为:
网络中第l层输出:
第l层第i个节点线性输出:
网络中第l层线性输出:
网络训练的目的:使对每一个输入样本,调整网络权值参数w,使输出均方误差最小。
设初始权值为w0,k时刻权值为wk,使用泰勒级数展开,有:
选择:
使J收敛到最小。
计算过程:
13.BP算法推导
前向传播:
对于第l层第i个神经元,其输出:
f可选取为Log Sigmoid函数:
在输出端计算误差:第i个输出:
计算:
误差反传——输出层
首先考虑输出层权值w:
进一步有:
令:
则有:
误差反传——隐含层
网络结构:
经过推导,得:
误差反传——总结
(1)初始化:l=L,L为网络层数
(2)如果l=L(输出层),则
否则(隐含层)
(3)权值更新:
(4)如果l大于0,则l-1替代现有l,返回步骤2,经进行前一层更新(按从后向前顺序更新)对应输入层:
14.算法扩展
神经网络分类:
(1)输出层为线性节点(单输出):
(2)二分类问题(单输出):
加入正则项:
可计算:
15.性能优化
常用技巧:
模型初始化:最基本把所有权值在[-1,1]区间内按均值或高斯分布进行初始化。
Xavier初始化:每一层输出的方差尽量相等
训练数据与测试数据:K折交叉验证:
原始训练数据被分成 K 个不重叠的子集。 然后执行 K 次模型训练和验证,每次在 K−1 个子集上进行训练, 并在剩余的一个子集(在该轮中没有用于训练的子集)上进行验证。 最后,通过对 K 次实验的结果取平均来估计训练和验证误差。
欠拟合与过拟合
欠拟合:误差一直比较大
过拟合:在训练数据集上误差小而在测试数据集上误差大
权重衰减(L2正则化)
加入新的指标函数项,防止过拟合和权值震荡:
Dropout(暂退)
在整个训练过程的每一次迭代中,标准暂退法包括在计算下一层之前将当前层中的一些节点置零,暂退前后网络结构如下:
16.动量法
如果把原始的SGD 想象成一个纸团在重力作用向下滚动,由于质量小受到山壁弹力的干扰大,导致来回震荡;或者在鞍点处因为质量小速度很快减为 0,导致无法离开这块平地。
动量方法相当于把纸团换成了铁球;不容易受到外力的干扰,轨迹更加稳定;同时因为在鞍点处因为惯性的作用,更有可能离开平地。
动量法更新公式: