基本概念:
机器学习:使用算法学习概率分布或者函数的过程(抽象版);从样本中按照一定的计算学习规则的过程(简化版);
统计学习:基于数据构建概率模型的学习方法,是统计学、概率论、信息论、最优理论及计算科学等的交叉。
统计学习方法三要素:模型、策略、算法。
深度学习:多层神经网络的学习方法
模型
| 要学习的概率分布或函数(假设空间) |
策略
|
学习准则或者如何选择模型
|
算法
|
如何通过输入计算得到输出
|
深度学习和多层神经网络的区别:
深度学习
|
多层神经网络
|
深度模型
|
一系列学习方法
|
一种模型
|
一系列模型
|
为了让层数较多的多层神经网络可以训练,能够work而演化出来的一系列的新方法
|
就是很多层的神经网络
|
CNN(1993)
DBN(2006)
DBM
|
基于统计学习的多层神经网络训练效果差原因:
其通过BP(反向传播)算法来训练,通过输出和标签值的比较和调整,迭代训练整个网络,直到符合标准(整体是一个梯度下降算法)。而当层数增加(7层以上),
残差传播到最前面的层已经变得很小,即出现梯度扩散/消失(
根源在于非凸目标代价函数导致求解陷入局部最优
),影响精度。
所以传统的神经网络训练,一般只能训练3层以下的网络。
解决办法:使用新的激活函数
ReLU,缓解梯度消失。
深度学习的改进之处:
新的学习方法:
(1)通过数据学习得到初始值,更接近全局最优。
(2)新的激活函数
(3)新的权重初始化方法
(4)新的损失函数
(5)新的过拟合方法等
新的结构:
CNN:卷积神经网络,视野,权值共享等。(
有监督)
LSTM:长短期记忆网络,避免长期依赖的长期记忆机制。
GRU:Gated Recurrent Unit,混合了LSTM的忘记门和输入门,混合了细胞状态和隐藏状态。
据说效果都差不多,但是GRU结构更简单,计算更快。
更多详情参考:
总的来说,目前因为有imgaenet等数据库的存在,使得监督学习得以进行,所以现在更多地是进行有监督的深度学习。
而最近谷歌也开源了超大型视频数据库,视频长达50万小时。标签经过多重筛选设置。
深度学习有监督和无监督训练:http://blog.csdn.net/u012526120/article/details/49591213
一开始(1993年左右)CNN由于没有很好地学习算法和硬件条件,无法很好地完成学习,后来的2006年的DBN基于深度置信网络和DBM(深度波尔兹曼机)提出的无监督学习算法,相对其它传统的统计学习算法能取得更好的效果,深度学习被重新重视。
2012年,imagenet竞赛中的Alexnet模型取得优异成绩后,带动了有监督深度学习的热潮。
经典算法:
机器学习算法面试小结
回归 | one | all |
线性 | 最优化误差函数(最小二乘法<极大似然估计>) |
优点:简单,容易理解
缺点:对非线性拟合不好
|
局部加权回归
| 对数据赋权值、斤大远小类似局部回归、然后组合? |
优点:可以学习高维度的数据
缺点:
暂时不知
赋权值:高斯核(正太分布、近大原小)
|
树回归 | 分类后回归 |
优点:可以处理高维数据,切分后回归即可
缺点:结果不易理解抽象化
|
逻辑 | 逻辑函数映射到(0,1),分类 |
聚类(
Partition-based methods)
| one |
all
|
K-Means(补分类过程)
|
按N个最近的数据中的多数分
|
1.懒惰学习算法
2.一股脑塞进内存,计算出最"近"的N个点,然后将均值输出。
|
Knearl-K-Means
|
将不规则数据投射到更高层空间
|
1.在必要的时候,用核方法投射高更高维度,进行划分。结果再投射回二维。
|
其它,基于圈圈大小,圈圈内样本数量划分的。
|
|
分类模型
|
one
|
all
|
决策树
|
定义:以最纯净的方式进行二分类迭代,形成一棵2叉树。
应用场景:理解数据的构成/结构,实际的分类使用一般会使用集成的方法。
|
缺点:
1.容易过拟合,如果停止条件是每个叶子节点只有一种分类,算法就会尽量使得叶子结点完美纯净。
1.5.于是降低分类停止条件,设置
阈值(分类条件和分类的相关程度(叶子结点纯净度)、叶子结点树木)。
2.还是容易
过拟合。(
噪音数据过多,无法准确分割;缺少
代表性数据,无法分割出该类;
多重比较,量大了选出来的优秀可能只是随机优秀。)
3.于是迭代
裁剪叶子节点,进行交叉验证,以最优(泛化能力最好)树为最终模型。(
可能需要进行蛮多次裁剪:如果每处叶子节点都只留一个代表性节点)
优点:
0.非参数学习:不必考虑是否线性可分、有离群点等
1.可读性比较好,具备良好的可描述性。
2.效率高,一次构建,反复使用??(哪个模型不是的呢),计算次数最多为树的深度。
常用算法:ID3和 C4.5(用信息增益比确定分类特征)
|
随机森林
|
综合多棵决策树的分类效果,防止过拟合
应用场景:流失客户类别预测、风险评估
|
解决的问题:决策树的过拟合和噪声数据问题
解决方案:两个随机:随机样本、随机特征。
更多优点:
缺点:有过拟合风险(降低树的深度、裁剪叶节点、降低子树随机选取特征和样本量)
关键在于:最小叶结点书目、最大子树树木、每课子树的数据数量、特征数量等的调整。(玄学范畴)
|
SVM
|
定义:从几何的角度划分数据,特点是考虑到了潜在的数据,使得潜在数据都能很比较好地进行划分。(
具有鲁棒性)
应用场景:都可以试试?,数据量不大的分类问题
|
本质:基于概率??
优点:不易过拟合,适合小样本。(一天以内可以训练出来模型的量)
缺点:内存密集型,涉及到对样本的随机访问。核函数选择是关键,但是这是属于玄学。
核函数选择:样本量大时,可想办法增加特征,用
线性核(
统一映射和不映射的情况,不区分)的SVM或者是线性回归。如果
样本量不大,可采用高斯核的SVM(映射到无穷维度)。
优点:具有鲁棒性、有考虑到潜在的数据
|
多层神经网络
|
多种刺激,多次处理,不同权重,模拟人脑神经处理。
应用场景:
|
缺点:
优点:
|
深度学习模型
|
应用场景:图像识别、文本识别、游戏操作学习
|
缺点:
优点:
|
朴素贝叶斯
|
贝叶斯公式:
P(Y|X)=P(X|Y)P(Y)P(X):P(Y|X)=P(X|Y)P(Y)P(X) / P(X)
条件独立假设:事件X、Y互相独立
朴素贝叶斯:拆Y P(X|Y1)P(X|Y2)...P(Y1Y2)/P(X)
(要求事件Y在X发生的条件下发生的概率,即X、Y的概率为先验概率,通过易获取的X在Y发生的情况下发生的概率求解。
其中,XY相互独立,XY可拆解,此处拆解Y,可分解出多个贝叶斯公式,分别求解)
应用场景:文本分类(垃圾邮件识别、情感分析) |
缺点:
优点:
一些技巧:
|
逻辑回归
|
定义:通过最逻辑回归函数:正则化投射到特定值域。
应用场景:数据类别间大致是线性可分的分类问题
|
缺点:
优点:
|
LDA线性判别分析
|
降维/分类
应用场景:
|
缺点:
优点:
|
Q&A:
集成学习:
Something needed to be explored more
- 分类学习算法——一个统一的视角
- 决策书的结点裁剪
- 特征工程——特征离散化,特征交叉
- 回归树和分类树
- 多层神经网络
- 梯度表达式和sigmod函数的关系
-
感知器为什么是支持向量机的基础?
-
链式法则是什么?
- 局部加权回归是如何处理的
各种算法的代码实现
具体算法数学理解