机器学习元知识

基本概念:
机器学习:使用算法学习概率分布或者函数的过程(抽象版);从样本中按照一定的计算学习规则的过程(简化版);
统计学习:基于数据构建概率模型的学习方法,是统计学、概率论、信息论、最优理论及计算科学等的交叉。
             统计学习方法三要素:模型、策略、算法。
深度学习:多层神经网络的学习方法

模型
要学习的概率分布或函数(假设空间)
策略
学习准则或者如何选择模型
算法
如何通过输入计算得到输出

深度学习和多层神经网络的区别:
深度学习
多层神经网络
深度模型
一系列学习方法
一种模型
一系列模型
为了让层数较多的多层神经网络可以训练,能够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(映射到无穷维度)。
优点:具有鲁棒性、有考虑到潜在的数据
多层神经网络
多种刺激,多次处理,不同权重,模拟人脑神经处理。

应用场景:
缺点:
  • 随机的初始化参数
  • 对不相关参数较敏感(图片)
  • 部分有意义参数无法提取(图片分类)
  • 增加层数,会产生梯度扩散(往后的参数)
  • 没有时间维度
优点:
  • 对音频和图像比其它分类算法有效
  • 黑盒模型,只需要处理输入和输出即可,不需要关注内部函数
深度学习中的激活函数与梯度消失 非常详细( 梯度表达式
深度学习模型
应用场景:图像识别、文本识别、游戏操作学习


缺点:
  • 黑盒模型,解释型不好
  • 对不相关参数较敏感(图片)
  • 部分有意义参数无法提取(图片分类)
优点:
  • 通过数据计算初始权值
  • 可以学习的层数更深,可达到上千层
  • 有多种新模型:LSTM可以释放长期记忆的存储,达到类似效果。(RNN无法作到)
  • GRU简化版本的LSTM,设置了两种机制:更新和重置。比lstm少了一种。(输入输出和遗忘机制)
朴素贝叶斯
贝叶斯公式:
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,可分解出多个贝叶斯公式,分别求解)

应用场景:文本分类(垃圾邮件识别、情感分析)
缺点:
  • 独立性不能得到很好的验证
  • 有些词语重复出现,可能影响准确计算。
  • 有些词语未出现,P(y)=0使得整个式子等于零
  • 自然语言处理中语序问题,贝叶斯无法处理语序
优点:
  • 即使独立性不那么好的情况,模型也好用。
  • 模型简单,有理论基础
  • 易拓展,若shu
一些技巧:
  • 多项式模型(重复计算输出*词频)、伯努利模型(只算一次)、混合模型。(区别伯努利丢掉了词频,统计欠完美)
  • 平滑技术
  • N元语言模型,依据链式法则将词语之间的依赖关系用概率乘积表示。

逻辑回归
定义:通过最逻辑回归函数:正则化投射到特定值域。

应用场景:数据类别间大致是线性可分的分类问题
缺点:
  • 线性不可份没辙~
优点:
  • 很好的概率解释
  • 正则化(引入先验分布,缩小解空间,减小求出错误解的可能性)
LDA线性判别分析
降维/分类

应用场景:
缺点:
  • 不适合非高斯分布的样本
  • 依赖均值而非方差时,分类效果比PCA好
  • 降维类别数有限制:k-1
  • 可能过拟合
优点:
  • 可以使用先验知识,PCA不能


Q&A:


集成学习:


Something needed to be explored more
  1. 分类学习算法——一个统一的视角
  2. 决策书的结点裁剪
  3. 特征工程——特征离散化,特征交叉
  4. 回归树和分类树
  5. 多层神经网络
  6. 梯度表达式和sigmod函数的关系
  7. 感知器为什么是支持向量机的基础?
  8. 链式法则是什么?
  9. 局部加权回归是如何处理的


各种算法的代码实现
具体算法数学理解











猜你喜欢

转载自blog.csdn.net/ml_1019/article/details/78314455