`
eric_weitm
  • 浏览: 235019 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

机器学习知识梳理二

 
阅读更多

常见模型和算法

 

一、线性模型 Y=WX + b  简单,易于解释(同时受多个因素的影响),可以被复杂算法使用

1、求解方法,使用最小二乘法(线性回归) 也叫感知机

2、广义线性回归:线性模型的函数 y = g(WX+b)

3、越阶函数 y = 1/(1 + e^-z)   对数线性回归 近似模拟对数几率回归

4、线性判别分析 LDA(linear discriminant analysis) 设法将样本投影到一条直线上,利用协方差和均值的点估计来计算

5、最大熵原理:分布未知时认为是均匀分布(先考虑已知的约束),这时随机变量的不确定性最大,熵最大(信息论里代表信息量最大)。在这种情况下,预测的风险最小。

6、最大熵模型也是对数线性模型,求解时可以使用 拟牛顿法

二、决策树,即树形模型(结果是条件概率的符号模型)

1、本质是把所有的关键情况归纳成规则,比如在某些属性满足什么条件时,做什么事情(很直观的数据符号上的规约)

2、构建的过程:递归的选择属性,拆分条件(树枝),剪枝

3、选择属性的依据,信息增益:对分类的效果影响更大的特征

4、ID3: 每次取信息增益最大的特征来进行分类递归,喜欢使用id等更细的划分,但是会导致过拟合

5、C4.5 对ID3的改进,用信息增益比 作为选择特征的依据 

6、CART算法

三、神经网络,即网状和层次化的模型

1、神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。

2、单个神经元 多输入单输出,超过阈值就激活,为了使用导数等微分方法,阶跃函数为 y = 1/(1 + e^-z)

3、感知机: 只有一层输入一层输出

4、多层前馈神经网络:一个输入层,多个隐藏层,一个输出层;层内节点间无连接,前一层全连接后一层,没有跨层连接

multi-layer feedforward neural networks

5、误差逆传播算法 error backpropagation 广义感知器学习规则 递归处理每个参数,使得每一次迭代都更新一遍所有的参数。

一次迭代的过程:使用一个点,从输入层计算到输出层,反向计算误差(从输出层开始),根据误差调整前一层网络的参数值。

6、累积BP算法,一次迭代把所有样本的值都算一遍。

7、证明:隐层足够多,可以以任意精度模拟任意复杂的连续函数;至于需要多少个还不确定

8、表达能力足够,但是有过拟合情况,解决方式:添加一个惩罚项 wi^2

9、跳出局部最小的办法:设置多组初始值;随机梯度;模拟退火;遗传算法(都缺少理论保证)

10、RBF radial basis function 径向基函数,单隐层前馈网络,激活函数为径向

足够多神经元时,可以逼近任意连续函数

ART adaptive resource theary 竞争型学习,赢者通吃

SOM self-organizing map 自组织映射

级联相关网络 网络结构也是变化的(数据少时易过拟合)

elman网络 递归神经网络 可以反向输入,用于实现序列

11、与svm相比,理论不够清楚,实践中有大量技巧(trick)

四、深度学习(特征或表示学习) DBN RBM CNN 图形、声音等的效果很好

1、参数越多,需要的数据越多,计算越复杂,云计算和大数据提供了支撑。

2、层数非常多时没有办法使用BP(不收敛)

3、预训练(每次只训练一层)+BP  先找局部最优,再整体微调

4、卷积神经网络 CNN 利用权共享加速学习  本质是逐层规约,特征表达,最后的形式就变得很简单,可以说是 特征提取的自动化

 

五、支持向量机(文本处理的效果很好)

1、数据线性可分时,可以通过一个平面来划分所有数据

2、学习策略:间隔最大化 r = min{yi(w.xi + b)/||w||} 

3、支持向量:取到最小几何间隔的那个点

4、数据不满足线性可分,可以投影到高维空间,在高维空间(特征空间)是线性可分的(一定可以找到这样的空间)。

这个到特征空间的映射叫做核函数,核函数的质量决定了整个的效果和效率。

5、常用核函数:线性、多项式、高斯、拉普拉斯、sigmoid

6、数据不满足线性可分(有少数的奇异点),可以添加一个惩罚项

7、支持向量回归(support vector regression):设立一个隔离带

8、svm学习得到的最优模型都可以表示为核函数的线性组合,这种解决和扩展svm的方法叫做 核技巧

 

六、贝叶斯分类器

1、采用贝叶斯定理来进行分类,困难是后验概率需要多个属性的综合影响

2、朴素贝叶斯:假设各个属性是独立影响结果的分布的

3、半朴素贝叶斯:一个属性只和另外一个属性有关联

4、贝叶斯网络,用有向无环图来描述属性间的依赖关系

5、EM算法:解决观察值不完整的问题,即某些属性的条件是未知的

 

七、集成学习

1、基本想法是组合多个简单的分类器,要保证简单分类器的准确性和多样性。实际中,因为样本一样,很难同时满足2点。

2、boosting 先训练一个,之后下一个重点关注上一个分类错误的样本,最后线性组合所有分类器

3、bagging:保证独立的方法是数据的独立。思路:每次随机抽取之后放回

4、随机森林:构建决策树时选择的属性不是最优的,而是随机子集里最优的  ---------- 效果很好

5、组合策略:简单平均、加权平均;绝对多数投票、相对多数投票;再次学习法(深度学习)

 

八、聚类

1、让数据物以类聚,即生成出类别的概念

2、对于有序的属性(如数值类的)可以使用各种距离来标记类;对于无序的数据,使用VDM方法

3、原型聚类:k均值,随机初始化,每次添加完数据之后,重新计算中心;LVQ:假设带标记;高斯混合分布

4、密度聚类:SCAN

5、层次聚类:用树形结构

 

九、降维与度量

1、k近邻学习:从训练集(假定已经包含所有的类别)周围的k个邻居来划分测试数据的类别

2、降维:数据本身在高维度,实际有用的是低维度,低维度便于计算距离和发现规律。可以使用变换矩阵,特征向量等来表达距离的不变性

3、PCA principal component analysis 主成分分析, 取出前k个特征向量

4、核化线性降维

5、流形学习:利用拓扑学

6、度量学习

 

十、特征选择与稀疏学习

1、特征(属性)太多,需要先找到那些特征有用?

2、过滤式选择,包裹式选择

 

十一、深度学习 Unsupervised Feature Learning

http://blog.csdn.net/zouxy09/article/details/8775524

1、人的认知模式:理论认为人的认知模式,处事方式是存储在神经元与神经元之间的连接上的,称为“神经元连接权重”,人脑神经布局类似网状结构,神经元是网的交叉点,权重就是网的连线,这些连线有粗有细,也就是权重的大小不同。而人类的学习能力就是去不断改变权重的值,从而改变自己的认知模式和处事方式,简单的说,不同人对同一个外部事物有不同看法,就是因为同样的初始信号,在不同粗细的神经元连线放大或缩小后,变成了侧重点不同的最终信号

2、人脑大概有亿级层数的神经元(人脑是多任务处理器集合,某些特定的任务如人脸识别,只需用到大脑的某个局部)。于是人们会猜想,更多的隐藏层是否会有更高的学习效果。事实证明的确如此,随着隐藏层数的增加,一些图片,语音的识别率越来越高。(更加抽象的知识的表达)

3、特点:是一个不断迭代、不断抽象的过程,高层的特征是低层特征的组合。1)多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;2)深度神经网络在训练上的难度,可以通过“逐层初始化”(layer-wise pre-training)来有效克服。“深度模型”是手段,“特征学习”是目的。

4、神经网络算法:对人类学习能力的一种模拟算法,其特点不是找到函数映射关系或联合分布律,而是将类似于函数映射的关系,通过神经网络的节点权值和偏置来记录和表达,其真正的函数解析式很多时候是无法直接写出的(所以叫做ai黑盒)

5、优势:别的机器学习方法最难的是降维、特征选择和标记等预处理,但是深度学习的特点是自动的提取分类需要的低层次或者高层次特征(用大数据去学习feature)。训练出来的模型就可以很好的表达原始数据了。这时候我们对训练好的数据再在有监督的数据上做进一步训练,就可以满足新的需求。(适合于 图像、语音等 特征不明显的问题)。

6、缺点:隐藏层数越多训练过程也越复杂,且误差会在多层传递的时候衰减,导致Gradient Vanish问题,最终导致训练结果收敛在局部最优或者难以收敛。

7、与神经网络的关系:dl的创造性在自编码和稀疏性,自编码是说dl把输入当作训练数据,输出还是训练数据,这样假如中间节点数比较少的话,相当于对数据起了个压缩的作用(想象输入是文件,中间层相当于rar压缩文件,输出还是输入文件,这样只要知道中间层rar的信息,和整个模型的结构,就可以知道输入是什么了,这个就相当于压缩文件)。另一个是稀疏性,就是说假如我想让中间节点多一点,又不想让训练过于overfit,可以加一个限制,假设每个训练数据都激活尽量少的中间层节点(相当于模拟大脑,大脑对每个输入不可能所有神经元都起反应,肯定也是少量神经元有反应)。

8、BP算法的问题:不能用BP,因为 对于一个deep network(7层以上),残差传播到最前面的层已经变得太小,出现所谓的gradient diffusion(梯度扩散)。

(1)梯度越来越稀疏:从顶层越往下,误差校正信号越来越小;

    (2)收敛到局部最小值:尤其是从远离最优区域开始的时候(随机值初始化会导致这种情况的发生);

    (3)一般我们只能用有标签的数据来训练:但大部分的数据是没标签的,而大脑可以从没有标签的的数据中学习;

 

    9、deep learning训练过程

一是每次训练一层网络,二是调优,使原始表示x向上生成的高级表示r和该高级表示r向下生成的x'尽可能一致。方法是:

1)首先逐层构建单层神经元,这样每次都是训练一个单层网络。

2)当所有层训练完后,Hinton使用wake-sleep算法进行调优。

       将除最顶层的其它层间的权重变为双向的,这样最顶层仍然是一个单层神经网络,而其它层则变为了图模型。向上的权重用于“认知”,向下的权重用于“生成”。然后使用Wake-Sleep算法调整所有的权重。让认知和生成达成一致,也就是保证生成的最顶层表示能够尽可能正确的复原底层的结点。比如顶层的一个结点表示人脸,那么所有人脸的图像应该激活这个结点,并且这个结果向下生成的图像应该能够表现为一个大概的人脸图像。Wake-Sleep算法分为醒(wake)和睡(sleep)两个部分。

1)wake阶段:认知过程,通过外界的特征和向上的权重(认知权重)产生每一层的抽象表示(结点状态),并且使用梯度下降修改层间的下行权重(生成权重)。也就是“如果现实跟我想象的不一样,改变我的权重使得我想象的东西就是这样的”。

2)sleep阶段:生成过程,通过顶层表示(醒时学得的概念)和向下权重,生成底层的状态,同时修改层间向上的权重。也就是“如果梦中的景象不是我脑中的相应概念,改变我的认知权重使得这种景象在我看来就是这个概念”。

10、常用模型或者方法

思路:添加一个encode和decode的过程

1》Sparse Coding稀疏编码:找到稀疏基向量、使用EM算法

2》Denoising AutoEncoders降噪自动编码器:输入数据里添加噪声,让encode泛化能力增强

3》Restricted Boltzmann Machine (RBM)限制波尔兹曼机:隐藏层 和输入层满足概率的分布

4》Deep Belief Networks深信度网络

5》Convolutional Neural Networks(CNN)卷积神经网络 是为识别二维形状而特殊设计的一个多层感知器,这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。

 

 

十二 总结

1、关系:

线性->对数线性->最大熵

决策树->C4.5->CART

神经网络->BP->深度学习->DBN RBM CNN

线性可分->SVM->核技巧 

朴素贝叶斯->半朴素贝叶斯->贝叶斯网络->EM算法

boosting + bagging->随机森林

降维->特征选择与稀疏学习->聚类->深度学习

2、简单概括

svm、贝叶斯、深度学习

SVM:算法复杂、数据依赖小 神经网络:算法不复杂,依赖数据(不是公式化而是类似于形象思维)

 

分享到:
评论

相关推荐

    机器学习笔记.pdf

    本笔记是在学习吴恩达机器学习过程中做的电子笔记,希望可以帮助大家查阅一些知识点或者帮助大家学习这个课程。主要讲了线性回归,逻辑回归,支持向量机,聚类,降维,异常检测,以及OCR技术和推荐系统的搭建。

    机器学习思维导图

    常用机器学习算法的思维导图,梳理了所有相关知识,很适合对各部分的整体把握与补遗。推荐使用MindManager思维导图软件查看 目录: 1.机器学习基础.mmap 2.k-近邻算法.mmap 3.决策树.mmap 4.基于概率论的分类方法:...

    于剑-机器学习每章重点

    该资源是针对于剑老师的《机器学习从公里到算法》该书各章节知识点的汇总,是很多学校研究生课程的必修课,均为本人亲自整理和书写。

    Python数据挖掘与机器学习开发实战的常见试题与参考答案.pdf

    机器学习是一门理论性和实践性都比较强的技术学科。为了帮助大家对这些知识点进行梳理和理解,以便能够更好地应对招聘单位所出的机器学习方面的面试题,笔者准备了些这方面的试题,希望能够对大家有所帮助。

    机器学习笔记.docx

    自己整理的机器学习笔记,包含一些机器学习的基本概念知识,希望对大家入门机器学习有帮助!需要的可以下载看一下!

    机器学习wine葡萄酒数据集

    有关于在机器学习中的,机器学习中用到的wine葡萄酒数据集,文件中包含自己整理的变量名称的完整数据集。

    随机森林、LSTM、SVM、线性回归四种机器学习方法预测股价

    通过多种机器学习股票价格预测,包括随机森林...这对我的机器学习知识有一定帮助,也希望能帮助到需要它的人。 全部为jupterbook格式,代码注释全面且执行效果都在。 适合个人学习、课程团队作业、毕业设计参考等。

    大厂过来人总结整理的机器学习+深度学习+图像处理-c++等视觉算法岗面试必备知识点(快速掌握).zip

    大厂过来人总结整理的机器学习+深度学习+图像处理_c++等视觉算法岗面试必备知识点(快速掌握).zip 包含机器学习、深度学习、图像处理、c++等视觉算法岗面试必备基础知识。 该项目主要包含了本人秋招历程中整理的一些...

    机器学习概率统计基础知识

    从网上整理的机器学习概率统计基础知识,包括概率基础知识、贝叶斯、极大似然等相关知识

    机器学习-计算学习理论精选-PPT

    我们梳理了近年来机器学习领域的研究成果和创新点,为观众提供了最新的行业资讯和发展方向。 总的来说,“机器学习-计算学习理论”精选PPT是一份全面、深入、前沿的学习资料。无论你是机器学习领域的初学者还是资深...

    重新整理深度学习相关知识

    重新整理深度学习相关知识。里面包含线性神经网络、多层感知机、卷积神经网络、现代神经网络、循环神经网络等。包含:算法、代码、项目、电子书等。让深度学习可平易近人。关于机器学习的项目,新手可作为入门项目...

    机器学习算法地图

    很多同学在学机器学习和深度学习的时候都有一个感受:所学的知识零散、不系统,缺乏整体感,这是普遍存在的一个问题。在这里,SIGAI 对常用的机器学习和深度学习算法进行了总结,整理出它们之间的关系,以及每种算法...

    机器学习.zip 包括课件、习题和知识点整理

    2.属于⽆监督学习的机器学习算法是:层次聚类 3.⼆项式分布的共轭分布是:Beta分布 4.多项式分布的共轭分布是:Dirichlet分布 5.朴素贝叶斯分类器的特点是:假设样本各维属性独⽴ 6.下列⽅法没有考虑先验分布的是:...

    python机器学习基础教程.xmind

    python机器学习基础教程 思维导图 第1,第2章,逐步更新 使用Xmind打开 帮助梳理巩固知识点 纯手打 供交流学习使用

    《机器学习 100 天》-Siraj Raval-中文版!

    100-Days-Of-ML-Code 是 Avik-Jain 的机器学习项目,超赞的配图,清晰的知识点梳理,是入门机器学习非常好的项目。内容包括:数据预处理、线性回归、逻辑回归、K最邻近算法、支持向量机、深度学习专项课程等.特色...

    《机器学习实战》python3完美运行代码

    这是楼主自己学习过程中整理的机器学习实战全书的全部源代码,书上的代码有很多不能运行的,楼主把全部代码重新进行的书写,所有代码在python3上均通过运行,没有任何bug。全网唯一一个可以在python3下完美运行的...

    统计机器学习理论综述

    目前机器学习的一个比较热门的...最近本人对统计学习理 论这块做了些整理,发现其实这块东西并非如想象的那么难,他们的本质无非是概率集中不等式在机器学习上的应用,本文以泛化界为例讲一下自己对那块内容的理解。

    机器学习的数学基础

    自己整理的机器学习相关的概率论、高等代数、线性代数、相关的基础知识。

    机器学习、深度学习面试笔试题300+.pdf

    最新版的机器学习和深度学习面试题目,从牛客等各大网站整理剖析,整合整理,共300多道经典题目。 涉及机器学习和深度学习理论和实践等各方面的知识,底层的知识偏多一些!

    机器学习&深度学习资料笔记&基本算法实现&资源整理.zip

    机器学习&深度学习资料笔记&基本算法实现&资源整理.zip 0.不调库系列 No free lunch. 线性回归 - logistic回归 - 感知机 - SVM(SMO) - 神经网络 ...常见数学、机器学习知识点整理>> 5.其他 资源索引

Global site tag (gtag.js) - Google Analytics