机器学习 经验 数据
数据中产生模型model 的算法 学习算法 learning algorithm
数据集 data set 示例instance 样本 sample
属性attribute 特征feature 属性值 attribute value
属性空间attribute space 样本空间 sample space
特征向量 feature vector
维数 dimensionality
学习learning 训练 training
训练数据 training data 训练样本 training sample
训练集 training set
假设 hypothesis
真实 真相 ground-truth
学习器learner
预测 prediction
label 标记 example 样例
标记空间 label space 输出空间
classification 分类
回归 regression
binary classification 二分类
positive class 正类 negative class 反类
多分类 multi-class classification
测试 testing 测试样本 testing sample
clustering 聚类 cluster 簇
监督学习 supervised learning 分类和回归
无监督学习 unsupervised learning 聚类
泛化 generalization 样本空间 测试空间
分布 distribution
独立同分布 independent and identically distributed i.i.d.
假设空间:
归纳 induction 泛化 generation inductive learning
演绎 deduction 特化 specilization
归纳学习 = 样例中学习 + 数据中学习 概念 concept 概念学习
假设空间搜索 hypothesis space fit匹配假设
学习过程是基于优先样本训练集进行的 存在一个假设集合 版本空间 version space
归纳偏好 机器学习算法在学习过程中对某种类型假设的偏好 归纳偏好
归纳偏好 学习算法自身在一个可能很庞大的假设空间中对假设进行选择的启发式或价值观
奥卡姆剃刀 若有多个假设与观察一致 选择最简单的那个
没有免费的午餐 NoFreeLaunch Theorem
NFL定理:学习算法的期望值都会相同。 问题均匀分布
前提:所有 问题出现的机会相同 或所有问题同等重要
脱离具体问题 空谈 什么学习算法 更好 毫无意义。
任何一个算法都是有适用范围的。
机器学习的发展史:
artificial intelligence -> 逻辑理论家:逻辑推理就是智能
(通用问题求解) -> 知识 知识就是力量 知识工程 专家系统 ->
基于神经网络的 连接主义 connectionism
基于逻辑表示的符号主义 symbolism学习
以决策理论为基础的学习技术和强化学习技术
-> 机器学习 划分为
从样例中学习 在问题求解和规划中学习
通过观察和发现学习 从指令中学习
机械学习 示教学习 类比学习 和 归纳学习
-> 样例中学习 符号主义学习
主要有决策树和基于逻辑的学习(基于归纳逻辑程序设计 Inductive Logic Programming ILP)
基于神经网络的连接主义学习 BP算法 连接主义最大的局限是其试错性
统计学习 statistical learning
支持向量机 Support Vector Machine (文本分类)
核方法 kernel method
支持向量 VC维 结构风险最小化原则
深度学习 多层的神经网络
过拟合 欠拟合
理论 + 实验 = 理论 + 实验 + 计算 = 计算科学
计算目的 数据分析 素具科学核心是通过分析数据获取价值
机器学习 云计算 众包 crowdsourcing
统计学主要是通过机器学习对数据挖掘发挥影响 机器学习领域和数据库领域则是数据挖掘的两大支撑
transfer learning 迁移学习 类比学习 learning by analogy
国际机器学习会议ICML
国际神经信息处理系统会议 NIPS
国际学习理论会议 COLT
欧洲机器学习会议 ECML
亚洲机器学习会议 ACML
Journal of Machine Learning Research Machine Learning
人工智能:IJCAI AAAI Artificial Intelligence Journal Of Artificial Intelligence Research
数据挖掘:KDD ICDM Data Mining and Knowledge Discovery
ACM Transactions on Knowledge Discovery from Data
计算视觉和模式识别:CVPR IEEE Transaction on Pattern Analysis and Machine Intelligence
神经网络:Neural Computation IEEE Transaction on Neural Networks and Learning Systems
中国机器学习大会 CCML 机器学习及其应用 研讨会 MLA
模型评估与选择:
错误率 error rate 精度 accuracy
误差 error
训练误差 training error 经验误差 empirical error
泛化误差 generalization error
过拟合 overfitting 训练样本自身的一些特点当做所有潜在样本都会具有的一般性质 泛化能力下降
欠拟合 underfitting
过拟合 学习能力过于强大 训练样本的不太一般的特性也包含在内
欠拟合学习能力低下造成的 欠拟合解决方法:决策树扩展分支 神经网络中增加训练轮数
过拟合:无法彻底避免 缓解或者减小其风险
机器学习面临的是NP难和更难 有效的算法必须在多项式时间内解决
模型选择 model selection
测试集 testing set 测试误差 testing error
作为泛化误差的近化
测试样本也是从样本真实分布中独立同分布采样而得
测试集尽可能与训练集互斥
留出法 hold-out 数据集划分为两个互斥的集合 一个是训练集s 测试集t
测试集训练集的划分要保持数据分布的一致性
采样sampling 中的分层采样 stratified sampling
若干次随机划分 重复进行实验评估后取平均值作为留出法的评估结果
三分之二 至 五分之四 样本用于训练 剩余样本用于测试
交叉验证法 cross validation
将数据集D划分为k个大小相似的互斥子集 每个子集尽量保持数据分布的一致性
从D中通过分层采样得到 k-1个子集并集作为训练集 余下的子集作为测试集
k组训练/测试集 k次训练和测试
交叉验证评估结果稳定性和保真性 很大程度上取决于k
k折交叉验证 k-fold cross validation k通常取10
为减少因样本划分不同而引起的差别 k折交叉验证通常要随机使用不同的划分p次
p次k折交叉验证结果的均值 10次10折交叉验证
留一法 Leave-One-Out LOO
不受随机样本划分方式的影响 因为m个样本只有唯一的方式划分为m个子集
每个子集包含一个样本 过拟合 也会导致模型计算开销过大
自助法:bootstrapping
自助采样法 bootstrap sampling
自助法在数据集较小 难以有效划分训练 测试集时很有用
自助法从初始数据集中产生多个不同的训练集
调参与最终模型
参数 parameter 参数配置不同 学得模型性能不同
选择学习算法 算法参数进行设定 参数调节 parameter tuning
对每个参数选定一个范围和变化步长
验证集 validation set 模型评估和选择中用于评估测试的数据集
性能度量 performance measure
回归任务:均方误差 mean squared error
分类任务:
错误率和精度 二分类和多分类
错误率:分类错误的样本数占样本总数的比例
精度:分类正确的样本数占样本总数的比例
查准率:precision TP/(TP + FP)
查全率:recall TP/(TP+FN)
预测结果为正例 预测结果为反例
真实情况正例 TP真正例 FN假反例
真实情况反例 FP假正例 TN真反例
查准率和查全率比较矛盾 查准率高 查全率偏低
查全率高 查准率偏低
查准率和查全率 p-r 曲线图
F1值 = (2*p*R) / (P + R)
ROC 曲线
纵轴是 真正例率 True Positive Rate TPR
横轴是 假正例率 False Positive Rate FPR
一个学习器的ROC曲线被另一个学习器的曲线完全包住 后者性能优于前者
交叉的话 AUC Area Under ROC Curve 比较ROC曲线下的面积
代价敏感错误和代价曲线:
不同类型的错误所造成的后果不同 ,
为权衡不同类型错误所造成的不同损失 为错误赋予 非均等代价 unequal cost
以二分类任务为例,根据任务的领域知识设定一个 代价矩阵 cost matrix
之前的性能度量中 隐式的假设了均等代价 直接计算错误次数 未考虑不同错误造成的不同后果
在非均等代价下 不再是简单的最小化错误次数 而是最小化 总体代价 total cost
代价曲线 cost curve
比较检验:
比较泛化性能,测试集上的性能与测试集关系很大,机器学习算法本身具有一定的随机性
统计假设检验 hypothesis test
假设检验 根据测试错误率推出泛化的错误率的分布
对单个学习器泛化性能的假设进行检验
交叉验证t检验:不同学习器的性能进行检验
McNemar检验 一个数据集上比较两个算法的性能
基于算法排序的Friedman检验
偏差-方差分解 bias-variance decomposition
解释学习算法泛化性能的一种重要工具
偏差-方差分解 对学习算法的期望泛化错误率 进行拆解
算法在不同训练集上学得的结果很可能不同
泛化误差可分为偏差、方差与噪声之和
偏差度量了学习算法的期望预测与真实结果的偏离程度 刻画了学习算法本身的拟合问题
方差度量了同样大小训练集变动所导致的学习性能的变化,刻画了数据扰动所造成的影响
噪声表达了当前任务上任何学习算法所能达到的期望泛化误差的下界,刻画了学习问题本身的难度。
偏差-方差分解说明 泛化性能是由学习算法的性能、数据的充分性以及学习任务本身的难度所共同决定的。
给定学习任务,为了取得好的泛化性能,需使偏差较小,
即能够充分拟合数据,并且使方差较小,即数据扰动产生的影响小。
偏差—方差窘境 bias-variance dilemma
训练不足时 欠拟合 训练数据的扰动不足以使学习器产生显著变化
此时偏差主导了泛化错误率;
学习器的拟合能力增强,训练数据扰动 被学习器学习到 方差主导了泛化错误率。
自助采样法很有用,代价曲线 2006 发明,误分类代价 测试代价 标记代价 属性代价
线性模型: 形式简单 易于建模
Linear mode
线性回归 Linear regression
均方误差 欧几里得距离
基于均方误差最小化进行模型求解的方法 成为最小二乘法 least square method
线性回归中 最小二乘法视图找到一条直线 使所有样本到直线上的欧氏距离之和最小
对数几率回归:Sigmoid函数
分类学习方法
线性判别分析 Linear Discriminant Analysis LDA
给定训练样例集 设法将样例投影到一条直线上,使得同类样例的投影点尽可能近、
异类样例的投影点尽可能远;在对新样本进行分类时,将其投影到同样的这条直线上,
再根据投影点的位置确定新样本的类别。
同类样例投影点的协方差尽可能小,异类样例的投影点尽可能远离,类中心之间的举例尽可能大
类内散度矩阵 within-class scatter matrix
类间散度矩阵 between-class scatter matrix
LDA 可从贝叶斯决策理论的角度阐释 当两类数据同先验、满足高斯分布且协方差相等时,LDA可达到最优分类
多分类LDA可以将样本投影到N-1维空间,N-1通常远小于数据原有的属性数,
通过投影减小样本点的维数,且投影过程中使用了类别信息。
LDA常被视为经典的监督将维技术
多分类学习:
利用二分类学习器解决多分类问题
拆解法 将多分类任务拆分为若干个二分类任务求解
先对问题进行拆分,然后为拆出的每个二分类任务训练一个分类器
最经典的拆分策略有:一对一 OvO 一对其余 OvR 多对多 MvM
假定数据集合有N个类别,OvO将这N个类别两两配对,从而产生N(N-1)/2 个二分类任务,
例子:
OvO将为区分类别Ci 和 Cj 训练一个分类器,该分类器把数据集中的Ci类样例当做正例,
Cj类样例作为反例,在测试阶段,新样本将同时提交给所有分类器,得到了N(N-1)/2
个分类结果,最终结果根据投票产生,即把被预测的最多的类别作为分类结果。
OvR 每次将一个类的样例作为正例,所有其他类的样例作为反例来训练N个分类器,在测试时若仅有一个分类器预测为正类,
则对应的类别标记为最终分类结果,若有多个分类器预测为正类,
则通常考虑各分类器的预测置信度,选择置信度大的类别标记作为分类结果。
OvR只需训练N个分类器,OvO训练N(N-1)/2 个分类器,OvO存储开销和测试时间开销
通常比OvR更大,但在训练时,OvR的每个分类器均使用全部训练样例,而OvO的每个分类器仅用到两个类的样例,
预测性能,取决于数据分布,多数情形下,两者差不多。
MvM 每次将若干类作为正类,其他类作为反类,
纠错输出码 Error Correcting Output Codes ECOC
编码:对N个类别做M次划分,每次划分将一部分类别划分为正类,
一部分划分为反类,从而形成一个二分类训练集;一共产生多个M个训练集
,可训练出M个分类器。
解码:M个分类器分别对测试样本进行预测,这些预测标记组成一个编码,
将这个预测编码与每个类别各自的编码进行比较,
返回其中距离最小的类别作为最终预测结果。
类别不平衡问题
类别不平衡class-imbalance 是指分类任务中
不同类别的训练样例数目差别很大的情况,
通常在预测分类时,我们会得到一个预测值y,将这个值与一个阈值进行比较,
通常是0.5,大于0.5称为正例,否则为反例,y实际上表达了正例的可能性,
几率y/(1-y) 则反映了正例可能性和反例可能性之间的比值,阈值设置为0.5则默认
正反例之间的可能性相同,分类器决策规则为: y/(1-y) 》 1 预测为正例
训练集中正反例数目不同时,m+表示正例数目 m- 表示反例数目,则观测几率是
m+ / m-, 通常假设:训练集是真实样本总体的无偏采样,因此观测几率就是代表了
真实几率。
于是 只要分类器预测几率高于观测几率就应判定为正例,
y/(1-y) > m+/m- 预测为正例
yy / (1-yy) = y/(1-y) * (m-/m+)
类别不平衡的一个基本策略 -- 再缩放
再缩放 思路简单,但是实际操作很难:训练集是真实样本总体的无偏采样
直接对训练集里的反类样例进行
欠采样 undersampling: 去除一些反例 使得正反例数目接近 然后再进行学习
对训练集里正类样例进行过采样 oversampling 增加一些正使得正反例数目接近,
然后再进行学习
直接基于原始训练集进行学习,用训练好的分类器进行预测时,将再缩放公式
嵌入到决策过程中,成为"阈值移动" threshold-moving
过采样法不能简单的对初始正例样本进行重复采样,否则会招致严重的过拟合,
过采样法代表性算法是SMOTE 是通过对训练集里的正例进行插值来产生额外的正例;
另一方面,欠采样法不能随机丢弃反例,可能会丢失一些重要信息。
欠采样法的代表性算法EasyEnsemble 利用集成学习机制,将反例划分为若干个集合供不同的学习器使用。
这样对于每个学习器来看都是欠采样,但在全局来看却不会丢失重要信息。
再缩放,也是代价敏感学习 cost-sensitive learning
m-/m+ 用 cost-/cost+ 代替即可,cost+ 是将正例误分为反例的代价
cost- 将反例误分为正例的代价
稀疏表示 sparse representation
多分类学习 虽然有多个类别 但是每个样本仅属于一个类别
一个样本同时预测出多个类别标记 多标记学习 multi-lable learning
决策树: decision tree
从给定训练数据集学得一个模型 用以对新示例进行分类
决策树基于树结构进行决策 人类在面临决策问题时一种很自然的处理机制
一颗决策树包含一个根节点 若干个内部结点和若干个叶节点 叶节点对应于决策结果,
其他每个结点则对应于一个属性测试
每个结点包含的样本集合 根据属性测试的结果被划分到子结点中
根节点包含样本全集 从根节点到每个叶结点的路径对应了一个判定测试序列
决策树学习为了产生一颗泛化能力强 处理未见示例能力强的决策树
基本流程遵循简单且直观的 分而治之 divide-and-conquer
决策树的生成是一个递归过程,决策树基本算法中,三种情形导致递归返回,
当前节点包含的样本全属于一个类别,无需划分
当前属性集为空,或是所有样本在所有属性上取值相同,无法划分
-- 当前结点标记为叶子结点,其类别设置为该结点所含样本最多的类别
-- 利用当前结点的后验分布
当前节点包含的样本集合为空 不能划分
-- 当前结点标记为叶子结点 其类别设定为其父节点所含样本最多的类别
-- 父节点的样本分布作为当前结点的先验分布
决策树的学习关键是如何选择最优划分属性,
一般而言,随着划分过程不断进行,决策树的分支结点所包含的样本尽可能属于同一类别,
即结点的“纯度” purity 越来越高
信息增益
信息熵 information entropy 度量样本集合度常用的指标
信息熵越小 集合纯度越高
样本数越多的分支结点影响越大,计算属性a对样本集D进行划分的
“信息增益” information gain
信息增益越大,意味着使用属性a进行划分所获得的 “纯度提升” 越大
使用信息增益进行决策树的划分属性选择 ID3决策树算法以信息增益为准则来划分属性
信息增益准则对可取值数据较多的属性有所偏好,(编号为属性的话,N样本N编号属性值,编号的信息增益最大)
为减少这种偏好可能带来的不利影响 C4.5算法 不直接使用信息增益,而是
使用增益率 gain rate选择 最优划分属性
增益率准则可能对取值数目较少的属性有所偏好,
C4.5并不是直接选择增益率的最大候选划分属性,
而是使用一个启发式:
先从候选划分属性中找出信息增益高于平均水平的属性 再从中选择增益率最高的
基尼指数:
CART决策树:分类和回归任务都可用
基尼指数反映了从数据集中随机抽取两个样本,其类别标记不一致的概率 因此
基尼指数越小 数据集合的纯度越高
所以在选择属性划分时 基尼指数最小的属性作为最优划分属性
剪枝处理:
剪枝pruning 是决策树学习中对付过拟合的主要手段
在决策树学习中为了尽可能正确分类训练样本,
节点划分过程将不断重复 有时会造成决策树分支过多
训练样本学习的太好了 把训练集当中一些自身特点
当作所有数据都具有的一般性质而导致过拟合
可通过主动去掉一些分支降低过拟合的风险
决策树剪枝:
预剪枝 prepruning
后剪枝 post-pruning
预剪枝是在决策树生成过程中,对每个结点在划分前后进行估计,
若当前结点的划分不能带来决策树泛化能力的提升,则
停止划分并将当前结点标记为叶结点。
后剪枝是从训练集生成一棵完整的决策树,然后自底向上地
对非叶节点进行考察,若该结点所对应的子树替换为
叶结点能够带来决策树泛化能力的性能提升,则将该字数替换为叶子结点。
如何判断决策树泛化能力是否提升?
留出法
预剪枝使得决策树很多分支都没有“展开”,这不仅降低了过拟合的风险,
还显著减少了决策树的训练时间开销和预测时间开销,但另一方面,有些分支的
当前划分虽不能提升泛化性能、甚至可能导致泛化性能的暂时下降,但在其基础上进行的后续划分却
有可能导致性能显著提高;预剪枝基于“贪心”本质禁止这些分支展开,
给预剪枝决策树带来了欠拟合的风险。
后剪枝:
后剪枝先从训练集生成一颗决策树。
后剪枝决策树通常比预剪枝决策树保留了更多的分支,
一般情形下,后剪枝决策树的欠拟合风险很小,泛化性能往往优于预剪枝决策树,
但后剪枝过程是在生成完全决策树之后进行的,并且要自底向上地对树中的
所有非叶结点进行逐一考察,因此其训练时间开销比未剪枝预测数和预剪枝决策树
都要大得多。
对连续属性进行离散化 二分法 对连续属性进行处理 C4.5
与离散属性不同,若当前结点划分属性为连续属性,
该属性还可作为其后代结点的划分属性。
缺失值处理:
不完整样本,样本的某些属性值缺失
在属性数目比较多的情况下,往往会有大量样本出现缺失值
如果简单的放弃不完整样本,仅使用无缺失值得样本进行学习,
显然是对数据信息的极大浪费。
如何在属性值缺失情况下进行划分属性选择?
A:根据哪些属性值没有缺失的样本来判断属性之间的优劣
给定划分属性,若样本在该属性上的值缺失,如何对样本进行划分?
A:若样本x 在划分属性a上的取值未知,将x同时划入所有子结点,
且样本权值在于属性值a-v 对应的子结点中调整为 r-v * Wx
直观地说,让同一个样本以不同的概率划入到不同的子结点中去
将每个属性视为坐标空间中的一个坐标轴,则d个属性描述的样本就
对应了d维空间中的一个数据点,对样本分类则意味着在这个坐标空间中
寻找不同类样本之间的分类边界,决策树所形成的分类边界有一个明显的特点:
轴平行 axis-parallel 它的分类边界由若干个与坐标轴平行的分段组成
分类边界的每一段都是与坐标轴平行的,这样的分类边界使得学习结果有较好的
可解释性,每一段划分都直接对应了某个属性取值,但在学习任务的真实分类边界比较复杂时,
必须使用很多段划分才能获得较好的近似。
多变量决策树(斜决策树)实现斜划分 甚至更复杂划分的决策树,
此类决策数中,非叶子结点不再是仅对某个属性,而是对属性的线性组合进行测试,
每个非叶结点都是一个线性分类器,,
在对变量决策树学习中,不是为每个非叶结点寻找一个最优化分属性,而是
试图创建一个合适的线性分类器。
决策树学习算法 ID3 C4.5 CART
C4.5Rule是一个将C4.5决策树转化为符号规则的算法,
决策树的每个分支可以容易地重写为一条规则,
但C4.5Rule算法在转化过程中,会进行规则前件合并、删减等操作,
因此,最终规则集的泛化性能甚至可能优于原决策树。
决策树划分选择准则对决策树的尺寸有较大影响,但是对泛化性能的影响是有限的。
剪枝方法和程度对决策树泛化性能的影响相当显著,实验研究表明:
在数据带有噪声时通过剪枝甚至可将决策树的泛化性能提高25%
多变量决策树算法先贪心地寻找每个属性的最有权值,在局部优化的基础上
再对分类边界进行随机扰动以试图找到更好的边界
引入线性分类器的最小二乘法;决策树的叶子结点上嵌入神经网络,感知机树
“增量学习”接收到新样本后对已学得的模型进行重新调整,
而不用完全重新学习,主要通过调整分支路径上的划分属性次序
来对树进行部分重构。 ID4,ID5R,
增量学习可以有效地降低每次接收到新样本后的训练时间开销,
但多不增量学习后的模型会与基于全部数据训练而得的模型有较大差别。
C4.5 J4.8(weka) Classifier 4.0
神经网络:neural networks
由具有适应性的简单单元组成的广泛并行互连网络,
它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。
神经元 模型 neuron == 简单单元
M-P神经元模型:
神经元接收到来自n个其他神经元传递过来的输入信号,
这些输入信号通过带权重的连接connection进行传递,
神经元接收到的总输入值将与神经元的阈值进行比对,
然后通过 激活函数 activation function 处理以产生神经元的输出
理想中的激活函数是阶跃函数,将输入值映射为输出值0或者1,
1对应于神经元兴奋,0对应于神经元抑制。
阶跃函数不连续且不光滑,Sigmoid函数作为激活函数。
在较大范围内变化的输入值挤压到(0,1)输出值范围内,
也成为挤压函数(squashing function)
把许多个这样的神经元按一定层次结构连接起来,得到了神经网络。
一个神经网络视为包含了许多参数的数学模型。这个模型是若干个函数
相互带入嵌套而得。
感知机Perceptron 由两层神经元组成,输入层接收外界输入信号后传递给输出层,
输出层是M-P神经元,阈值逻辑单元 threshold logic unit
给定训练数据集,权重Wi以及阈值可通过学习得到。
阈值可看做一个固定输入为-1.0的哑结点 dummy node所对应的连接权重W(n+1)
这样,权重和阈值的学习可统一为权重的学习。
若感知机对训练样例预测准确,则感知机不发生变化,否则将根据
错误的程度进行权重调整。
感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元。
与或非都是线性可分的问题,
若两类模型是线性可分的,即存在一个线性超平面能将他们分开,
感知机的学习过程一定会收敛converge,否则感知机学习过程中会发生
震荡(fluctuation),其权重难以稳定,不能求得合适解。
感知机无法解决异或此类的非线性可分问题。
解决非线性可分问题,需要考虑使用多层功能神经元,
简单的两层感知机能解决异或问题,输出层与输入层之间存在一层神经元,
隐含层 hidden layer,
多层前馈神经网络:
每层神经元与下一层神经元全互连,神经元之间不存在同层连接,也不存在夸层连接。
前馈不是指网络中信号不能向后传递,而是指网络拓扑结构上不存在环或回路。
其中输入层神经元接收外界输入,隐层与输出层神经元对信号进行加工,
最终结果由输出层神经元输出,输入层神经元仅是接收输入,
不进行函数处理,隐层与输出层包含功能神经元。
神经网络的学习过程,根据训练数据来调整神经元之间的连接全 connection weight,
以及每个功能神经元的阈值,神经网络学到的东西,蕴涵在连接权与阈值中 。
误差逆向传播算法:error BackPropagation BP算法
多指用于多层前馈神经网络
BP是一个迭代学习学习算法,在迭代的每一轮中采用广义的
感知机学习规则对参数进行更新估计,
BP算法基于梯度下降gradient descent 策略,以目标的负梯度方向对
参数进行调整。
BP算法的目标是最小化训练集D上的累计误差
基于累计误差最小化的更新规则,得到累积误差逆传播算法。
标准BP算法每次更新只针对单个样例,参数更新的非常频繁,
而且对不同样例进行更新的效果可能出现“抵消”现象,
为达到同样的累计误差极小点,标准BP需进行更多次数的迭代。
累计BP算法直接针对累计误差最小化,在读取整个训练集一遍后才对参数进行更新,
其参数更新频率低,,但很多任务中,累计误差下降到一定程度后,
进一步下降会非常缓慢,标准BP会更快获得较好的解,
尤其是训练集D非常大时更明显。
只需一个包含足够多神经元的隐层,多层前馈网络就能以任意精度逼近
任意复杂度的连续函数,通过试错法调整隐层神经元的个数。
BP经常过拟合。训练误差持续降低,但测试误差可能上升。
缓解BP网络的过拟合,早停 early stopping 将数据分成训练集和验证集
训练集用来计算 梯度、更新连接权和阈值 验证集用来估计误差
若训练集误差降低 但验证集误差升高 停止训练,同时返回具有
最小验证集误差的连接权和阈值
正则化,在误差目标函数中增加一个用于描述网络复杂度的部分,
增加连接权与阈值平方和,训练过程将会偏好比较小的连接权和阈值,
使网络输出更加 光滑,对过拟合有所缓解。
引入正则化的神经网络与SVM十分相似。