常见模型和算法
一、线性模型 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:算法复杂、数据依赖小 神经网络:算法不复杂,依赖数据(不是公式化而是类似于形象思维)
相关推荐
机器学习期末复习试卷 ...机器学习期末复习试卷涵盖了机器学习的基本概念、机器学习算法、模型评估方法、模型选择标准、应用实践等知识点。通过掌握这些知识点,可以更好地理解和应用机器学习技术。
通过阅读源码,可以学习到如何运用机器学习库解决实际问题,而笔记则能帮助系统梳理学习路径,提升学习效率。 总的来说,这份压缩包是机器学习学习者的宝贵资源,它提供了一条从理论到实践的桥梁,有助于提高学习者...
机器学习是研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身性能的学科。机器学习的过程或思路包括获取数据、数据预处理、特征提取、特征选择、推理预测识别...
### Spark2.1机器学习知识点概述 #### 一、机器学习的基本概念 机器学习作为人工智能的一个分支,专注于让计算机能够从数据中学习规律,并利用这些规律进行预测或决策。其核心在于“算法”、“经验”与“性能”。...
机器学习是人工智能的核心组成部分,它的研究目标是使计算机能够通过模拟或实现人类的学习行为,从而获得新的知识或技能,并优化已有的知识结构以提高性能。机器学习的特点是使用归纳和综合方法,而非演绎推理。它...
本文将对量子机器学习算法进行总结和梳理,首先介绍了量子计算和机器学习的基本概念,然后从四个方面分别介绍了量子机器学习算法,分别是量子无监督聚类算法、量子有监督分类算法、量子降维算法、量子深度学习。...
机器学习是人工智能的一个重要分支,它使得计算机能够在没有明确编程指令的情况下,通过学习得到知识,并应用这些知识来完成特定的任务。本课程由吴恩达教授在斯坦福大学授课,并通过Coursera平台开放给全球学习者,...
### 机器学习基础知识详解 #### 一、学习方法概述 机器学习主要分为监督学习、无监督学习、半监督学习和强化学习四大类。本部分主要介绍监督学习与无监督学习中的几种常见方法。 ##### 二分类 二分类是机器学习中...
根据给定的内容,我们可以梳理出以下知识点,将它们归类并详细阐述: 标题:Spark机器学习案例实战 1. Spark简介 Apache Spark是一个开源的大...通过这些知识点的学习,可以对Spark机器学习实践有一个全面的了解。
这份由天池大数据竞赛顶尖选手Bryan整理的资料,旨在帮助求职者全面准备互联网公司的机器学习岗位面试。 【描述】描述中提到的这份资料涵盖了面试的各个环节,意味着它可能包括了基础理论、算法理解、实战经验、...
在吴恩达老师的机器学习课程中,涵盖了线性回归、逻辑回归、支持向量机、聚类、降维、异常检测以及光学字符识别(OCR)技术和推荐系统等知识点。 首先,线性回归是最基础的机器学习算法之一,用于预测连续值输出。...
山东大学2020年1月的机器学习期末考试题目整理涉及了该课程的核心知识点和考试重点,涵盖了判断题、简答题和大题,且对不同类型的题型都进行了详细的要求和说明。通过对这些题目的回顾,我们可以从中挖掘出机器学习...
这些知识点构成了机器学习课程的核心框架,每一部分都非常重要。通过学习这些内容,学生能够建立起扎实的机器学习基础,并能够应对各种机器学习问题。吴恩达教授的课程不仅仅局限于理论知识的讲解,还会涉及到实践...
《吴恩达机器学习笔记》是一份详尽的教育资源,旨在帮助学习者深入理解机器学习这一领域的核心概念和算法。吴恩达,作为人工智能和在线教育领域的先驱,以其深入浅出的教学风格闻名,他的机器学习课程在全球范围内广...
根据提供的文件信息,我们可以整理并深入探讨其中涉及的机器学习知识点。这些知识点涵盖了单选题、多选题、名词解释、简答题等不同形式的问题及其答案解析。 ### 一、单项选择题知识点详解 1. **机器学习把数据集...
机器学习是现代信息技术领域的重要分支,它涉及到统计学、计算机科学和神经科学等...通过系统学习并实践这些内容,你将能够构建起自己的机器学习知识体系,为未来在这个快速发展的领域中探索更多可能性打下坚实的基础。
机器学习算法是人工智能领域的重要分支,它通过模拟人类的学习过程来提升机器的性能。机器学习算法可以分为有监督学习、无监督学习和强化学习三...而这张机器学习算法地图,无疑是帮助学习者梳理和巩固知识的良好工具。
北京邮电大学同学整理的这篇文档,梳理了机器学习中常见算法的核心思想,以下是这些算法的知识点概述: 朴素贝叶斯算法: 朴素贝叶斯算法是基于贝叶斯定理以及特征条件独立假设的一种简单概率分类方法。它简单、...