机器学习经典算法

主流监督学习算法
算法 类型 简介
朴素贝叶斯 分类 贝叶斯分类法是基于贝叶斯定定理的统计学分类方法。它通过预测一个给定的元组属于一个特定类的概率,来进行分类。朴素贝叶斯分类法假定一个属性值在给定类的影响独立于其他属性的 —— 类条件独立性。
决策树 分类 决策树是一种简单但广泛使用的分类器,它通过训练数据构建决策树,对未知的数据进行分类。
随机森林 分类 随机森林是由很多决策树构成的,不同决策树之间没有关联。当我们进行分类任务时,新的输入样本进入,就让森林中的每一棵决策树分别进行判断和分类,每个决策树会得到一个自己的分类结果,决策树的分类结果中哪一个分类最多,那么随机森林就会把这个结果当做最终的结果。
SVM 分类 支持向量机把分类问题转化为寻找分类平面的问题,并通过最大化分类边界点距离分类平面的距离来实现分类。
逻辑回归 分类 逻辑回归是用于处理因变量为分类变量的回归问题,常见的是二分类或二项分布问题,也可以处理多分类问题,它实际上是属于一种分类方法。
线性回归 回归 线性回归是处理回归任务最常用的算法之一。该算法的形式十分简单,它期望使用一个超平面拟合数据集(只有两个变量的时候就是一条直线)。主要解决二分类问题,用来表示某件事情发生的可能性。
回归树 回归 回归树(决策树的一种)通过将数据集重复分割为不同的分支而实现分层学习,分割的标准是最大化每一次分离的信息增益。这种分支结构让回归树很自然地学习到非线性关系。
K邻近 分类+回归 通过搜索K个最相似的实例(邻居)的整个训练集并总结那些K个实例的输出变量,对新数据点进行预测。
Adaboosting 分类+回归 Adaboost目的就是从训练数据中学习一系列的弱分类器或基本分类器,然后将这些弱分类器组合成一个强分类器。
神经网络 分类+回归 它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。

深度学习算法

算法 作用 基本原理 缺点 实际应用
CNN卷积神经网络 能够将大数据量的图片有效的降维成小数据量(并不影响结果) 能够保留图片的特征,类似人类的视觉原理,实际的结构通常是多层卷积层 – 池化层- 卷积层 – 池化层 – 卷积层 – 全连接层 卷积层 – 主要作用是保留图片的特征。(卷积核通常比较小,卷积完仍然很大) 池化层 – 主要作用是采样把数据降维,可以有效的避免过拟合 。全连接层 – 根据不同任务输出我们想要的结果 没有记忆,只能处理单次输入输出,输入之间没有关联 图片分类、检索、目标定位检测 、目标分割 、人脸识别等
RNN循环神经网络 – CNN是一个输入对应一个输出,不同输入间是没有联系的,在特定场景中(比如语言),说话时一堆词进来是有先后顺序的,每处理后面一个词的时候也要同时看前面是什么词,所以前一个词的处理结果也要作为后一个词的输入,这样就使得它有了“短期记忆” 跟传统神经网络最大的区别在于每次都会将前一次的输出结果,带到下一次的隐藏层中,一起训练。 缺点:越靠近当前输入的影响越大,隔得越远的影响越小,所以只有短期记忆,无法处理很长的序列,同时也需要很大的成本 序列数据,典型的就是NLP,机器翻译、语音识别、文本生成
LSTM – 长短期记忆网络 LSTM是RNN的又一次升级,它被设计来解决标准RNN在处理长序列时遇到的梯度消失或梯度爆炸问题。LS通过引入门控机制(包括输入门、遗忘门和输出门)来维护和更新长期依赖关系 在正常的RNN节点中添加“门”,对信息进行过滤,保留重要信息,把不重要信息去掉 参数量伛多,训练成本高,且易过拟合,训练难度大 自然语言处理、时间序列分析(股票、天气)、语音识别、视频处理
GRU/Gate Recurrent Unit门控循环单元 GRU是LSTM的一个变体,保留了LSTM的划重点、遗忘不重要信息的特点,在模型上做了一定简化,在数据集比较大的情况下可以节省很多时间 GRU将LSTM中的输入门和遗忘门合并为一个更新门(Update Gate),这样可以减少参数数量,简化模型结构。 GRU还有一个重置门(Reset Gate),它的作用类似于LSTM中的输入门,决定当前输入信息与之前记忆的结合程度。 对于序列较短的情况下,训练速度要快,节省资源,但需要捕捉复杂长期依赖关系的任务,LSTM可能表现更好。 自然语言处理、时间序列分析、语音识别、实时应用
RL Reinforcement Learning强化学习 区别于监督学习、非监督学习,强化学习是一类算法,以激励的方式来促进机器采取更优的行为。涉及智能体(agent)在环境中通过试错(trial-and-error)来学习如何采取行动,以便最大化某种累积奖励 在强化学习中,智能体在每个时间步都会观察到环境的状态(state),并根据当前状态选择一个动作(action)执行。执行动作后,环境会给出一个奖励(reward)并转移到新的状态。智能体的目标是学习一个策略(policy),即从状态到动作的映射,使得长期累积的奖励最大化。 数据效率低、环境模拟挑战大,不宜泛化到真实世界、如何设计合适的奖励函数、迁移能力差,适合处理单场景问题、需要大量计算资源、可解释性差、 游戏(如AlphaGo)、机器人控制、推荐系统、自动驾驶汽车、经济模型、资源管理(如电力网络调度)
GAN-Generative Adversarial Networks生成对抗网络 训练集需要大量的人工标注数据,这个过程是成本很高且效率很低的。而人工判断生成结果的好坏也是如此,有成本高和效率低的问题。是无监督学习方法,不需要标签数据,只需要大量的未标记数据即可训练。 通过两个神经网络——生成器(Generator)和判别器(Discriminator)——之间的对抗过程来生成新的、高质量的数据样本。 难训练,不稳定。生成器和判别器之间需要很好的同步,但是在实际训练中很容易D收敛,G发散。D/G 的训练需要精心的设计。 模式缺失(Mode Collapse)问题。GANs的学习过程可能出现模式缺失,生成器开始退化,总是生成同样的样本点,无法继续学习。评估困难。比较消耗计算资源 图像生成(数据集、人像生成、照片漫画生成..),图像转换(草稿变照片、风格转换、美化、高清修复、3D模型生成等),文生图