机器学习知识梳理

机器学习

  • 前言
  • 一、概念
  • 二、应用领域
  • 三、思想和理论
  • 四、主要流派
    • 符号主义
    • 贝叶斯定理
    • 联结主义
    • 进化主义
    • 行为类推主义
  • 五、算法
    • 算法定义
    • 算法分类
    • 常见的机器学习任务
      • 聚类
      • 分类
      • 回归
    • 算法选择
    • 算法概述
    • 分类算法
    • 聚类算法
    • 关联分析(关联规则挖掘)
    • 回归算法
  • 扩展
    • 机器学习、人工智能和数据挖掘的联系
  • 总结


前言

如有错漏烦请私信我补充

伴随着计算机计算能力的不断提升,以及大数据时代的迅猛发展,人工智能也取得了前所未有的进步。很多企业均开始使用机器学习的相关技术于大部分行业中,以此获得更为强大的洞察力,也为企业的日常生活和企业运营带来了很大的帮助,从而提高了整个产品的服务质量


一、概念

机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率


二、应用领域

典型应用领域有:搜索引擎、自动驾驶、量化投资、计算机视觉、信用卡欺诈检测、游戏、数据挖掘、电子商务、图像识别、自然语言处理、医学诊断、证券金融市场分析以及机器人等相关领域


三、思想和理论

  • 计算机程序随着经验的积累能够实现性能的提高。对于某一类任务T及其性能度量P,若一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么就称这个计算机程序在从经验E学习
  • 主要的基础理论:数理统计数学分析概率论线性代数优化理论数值逼近、计算复杂性理论
  • 机器学习的核心:元素算法、数据以及模型

四、主要流派

符号主义、贝叶斯、联结主义、进化主义、行为类推主义五大流派


符号主义

  • 起源于逻辑和哲学,其实现方法是利用符号来表达知识,并使用规则进行逻辑推理
  • 专家系统和知识工程是该理论的代表,符号主义学派认为知识是信息符号的表示,是人工智能的基础,这些符号被输入到计算机中进行仿真和推理,以实现人工智能

贝叶斯定理

是概率论中的一个定理,其中PAB是事件B发生时事件A发生的概率条件概率。贝叶斯学习已被应用于许多领域,例如自然语言中的情感分类、自动驾驶和垃圾邮件过滤


联结主义

  • 起源于神经科学,主要算法是神经网络,它由一定结构中的大量神经元组成。神经元是一种看起来像树的细胞,它由细胞主体和细胞突起组成,长轴突被鞘覆盖,以形成神经纤维,在其末端的小分支称为神经末梢。每个神经元可以具有一个或多个树突,这些树突可以接受刺激并将兴奋转移到细胞体内。每个神经元只有一个轴突,它可以将兴奋从细胞体传递到另一个神经元或其他组织神经元相互连接,从而形成一个大型的神经网络,人类所学到的几乎所有知识都存在其中
  • 在神经网络中,将n个连接的神经元的输出用作当前神经元的输入,进行加权计算并添加一个偏置值,Bias以通过激活函数实现变换激活功能的功能,以Sigmoid函数为例,输入是从负无穷大到正无穷大并在激活后映射到01间隔
  • 人工神经网络是分层的,组织的每层包含多个神经元,这些层通过某种结构连接神经网络训练,目的是找到网络中的每个突触连接的权重和偏差值。作为一种监督学习算法,神经网络的训练过程是通过不断反馈当前网络计算结果与训练数据之间的误差来校正网络权重,使得误差足够小,这就是反向传播算法

进化主义

  • 1850年达尔文提出进化论,进化过程是适者生存的过程个体生物在其中适应环境,智能需要适应不断变化的环境,并通过对进化过程进行建模来生成智能行为
  • 进化算法EA是基于自然选择,适者生存和迭代优化的原理在计算机上模拟进化过程,直到找到最佳结果。进化算法包括:基因编码,种群初始化,交叉变异算子,经营保留机制,例如基因编码群体初始化和交叉变异算子。它是一种相对成熟的全局优化方法,具有广泛的适用性。它具有自组织、自适应和自学习的特征,可以有效地处理传统优化用算法难以解决的复杂问题,例如NP硬优化问题
  • 遗传算法的优化应根据具体情况选择算法,也可以与其他算法结合进行补充。对于动态数据可能难以使用遗传算法来找到最佳解,并且种群可能会过早收敛

行为类推主义

根据约束条件优化功能,行为类比主义者倾向于通过类比推理获得知识和理论,并在未知情况和已知情况之间建立相应的关系。在实际应用中是计算它们之间的相似度,然后定义关联关系


五、算法

算法定义

自动分析数据并从中获取模式(规律),之后使用模式预测未知数据的方法


算法分类

  • 监督学习
    监督学习是从标记的训练数据中学习并建立模型,然后基于该模型预测未知的样本,其中模型的输入是某个样本数据的特征,而函数的输出是与该样本相对应的标签。
    常见的监督学习算法:回归分析、统计分析和分类。
    监督学习分类:
    分类:包括逻辑回归,决策树,KNN,随机森林,支持向量机,朴素贝叶斯等机器学习算法;
    预测:包括线性回归,KNN,GradientBoosting和AdaBoost等机器学习算法。
  • 非监督学习
    非监督学习也称为无监督学习,该类算法的输入样本不需要标记,而是自动地从样本中学习这种特征以实现预测
    常见的非监督学习算法:聚类和关联分析
    在人工神经网络中,自组织映射(SOM) 和适应性共振理论(ART) 是最常见的非监督学习算法
  • 半监督学习
    半监督学习只有少量的标记数据完全,靠这些不完全标记的数据不可能训练好一个模型,依靠大量的无监督数据来提高算法性能。因此只有选择半监督学习来使数据的价值达到最大化,使机器学习模型能够从庞大的数据集中挖掘出其隐藏规律

常见的机器学习任务

聚类

一种探索性分析,在数据结构未知的情况下,根据相似度将样本划分为不同的群集或子集,不同聚类的样本有很大的差异,以便发现数据的类别和结构

分类

根据已知样本的某些特征确定新样本所属的类别,通过特征选择和学习建立判函数以对样本进行分类

回归

一种统计分析方法,用于了解两个或多个变量之间的相关性,回归的目标是找到误差最小的拟合函数作为模型,并使用特定的自变量来预测因变量的值


算法选择

  • 熟悉各种分析方法的特性是选择分析方法的基础,不仅需要了解如何使用各种分析算法,还需要了解其实现的过程以及原理,以便可以在参数优化和模型改进过程中减少无效的调整
  • 在选择模型之前有必要对数据进行探索性分析,了解数据类型和数据的相关特征,并发现各个变量之间的关系以及自变量和因变量之间的关系
  • 当存在多个维度时,特别注意变量的多重共线性问题,可以使用箱形图直方图和散点图来查找规律性信息
  • 在模型选择过程中,首先选择多个可能的模型,然后进行详细分析,然后选择可用于分析的模型。在选择自变量时在大多数情况下,有必要结合业务手动选择自变量
  • 选择模型完毕后,需要比较不同模型的拟合度,统计显著性参数R2,调整R2最小信息标准BIC和误差标准Mallow’sCp标准等
  • 在单个模型中,数据可以划分为训练集以及测试集,作为交叉验证和结果稳定性分析的数据集,反复调整参数可使模型更加稳定以及更加有效

算法概述

分类算法

  • 定义
    将分类规则应用于记录的目标映射,将它们划分为不同的分类并建立具有泛化能力的算法模型,即构建映射规则以预测未知样本的类别
  • 分类算法任务
    分类:经过训练而建立的预测模型在遇到未知样本时,会使用建立好的模型对未知样本进行类别的划分
    描述:描述性分类主要解释和区分现有数据集中的特征,例如:描述动植物的各项特征,并进行标注分类通过这些特征来确定它们属于哪个类别
  • 分类算法包括
    决策树、支持向量机(SupportVectorMachineSVM) 、最近邻(KNearestNeighborKNN) 算法、贝叶斯网络(BayesNetwork)和神经网络等算法
    • 决策树
      • 决策树是用于决策的树目标类别作为叶子节点特征属性的验证,被视为非叶子节点每个分支都是特征属性的输出结果。
        决策树擅长评估人员位置和事物的不同品质和特征,并且可以应用于基于规则的信用评估和竞争结果的预测等
        决策树的决策过程:从根节点开始测试不同的特征属性,根据不同的结果选择分支,最后落入某个叶子节点以获得分类结果
        主要的决策树算法:ID3、C4.5、CART、RF等算法。
      • 决策树的构建过程:根据属性的优先级或重要性逐渐确定树的层次结构,以使叶子节点尽可能属于同一类别,通常情况下采用局部最优的贪心贪婪策略来进行决策树的构建
    • 支持向量机
      • 支持向量机(SupportVectorMachineSVM) 是由瓦普尼克Vapnik等人设计的一款分类器,其主要思想是将低维特征空间中的线性不可分问题进行非线性映射,将其映射到高维空间去,从而转化为线性可分的问题
      • 应用结构风险最小理论,在特征空间优化分割超平面,找到的分类边界尽可能地宽,以便于该算法更加适用于二分类问题,例如二维平面图中的某些点无序排列仅仅使用一条直线无法将其准确地划分为两个类别,但是如果将其映射到三维空间中可能存在一个平面,可以实现将这些杂乱无序的点划分为两个类别
      • 为了避免从低维空间到高维空间的转换过程中存在的计算复杂性的增加和维数灾难等问题的出现,支持向量机使用了核函数,故不用担心非线性映射的显式表达式问题,直接构建它们在高维空间中的线性分类器,降低了整个过程中的计算复杂度
      • 常见的支持向量核函数包括线性核函数,多项式核函数,径向基函数和二层神经网络核函数等,支持向量机是典型的二分类算法,可以用于多个类别的划分问题,但是实现的效果不佳,支持向量机在小样本数据集中有很好的分类效果
    • 最近邻算法
      • 最近邻算法将向量空间模型应用于样本,将高度相似的样本划分为一个类别之后,计算与新样本最接近最相似的样本的类别,则新样本就属于这些样本中类别最多的那一类
      • 影响分类结果的因素:距离计算方法近邻样本的数量等等
        最近邻算法支持多种相似度距离计算方法:欧氏距离(Euclidean Distance)、切比雪夫距离(Chebyshew Distance)、标准化欧氏距离(Standardized Euclidean distance)、巴氏距离(Bhattacharyya Distance)、夹角余弦(Cosine)、皮尔逊系数(Pearson Correlation Coefficient)、曼哈顿距离(Manhattan Distance)、闵可夫斯基距离Minkowski Distance)、马氏距离Mahalanobis Distance)、汉明距离(Hamming distance)、杰卡德相似系数(Jaccard similarity coefficient)
      • 最近邻算法的主要缺点是:
        ①当每一个分类样本的数量不平衡时误差较大
        ②由于每一次比较都需要遍历整个训练样本集来计算其相似度因此分类的效率较低时间复杂度和空间复杂度较高
        ③选择近邻的数量如果不当可能会导致结果误差较大
        ④原始的最近邻算法中没有权重的概念所有的特征均使用相同的权重系数因此计算出的相似度容易出现误差。
    • 贝叶斯网络
      • 贝叶斯网络也称为置信网络(BeliefNetwork),是基于贝叶斯定理绘制的具有概率分布的有向弧段图形化网络,它的理论基础是贝叶斯定理网络中的每个点都代表变量,有向弧段表示两者之间的概率关系
      • 优点:与神经网络相比贝叶斯网络中的节点更加具有实际的意义,节点之间的关系相对较为清晰,可以直观地从贝叶斯网络中看到变量之间的条件独立性和依存关系,并且可以进行结果和原因的双向推理
      • 在贝叶斯网络中随着网络中节点数量的增加,概率求解的过程非常复杂且难以计算,因此当节点数量较大时,为了减少推理过程并降低复杂度,通常选择朴素贝叶斯算法或推理的方法实现以降低模型的复杂度
    • 神经网络
      • 神经网络包括输入层、隐藏层和输出层,每个节点代表一个神经元节点与节点之间的连接,对应于权重值,当输入变量通过神经元时,它将运行激活函数以赋予输入值权重并增加偏置,输出结果将被传递到下一层的神经元中,并且在神经网络训练过程中会不断修改权重值和偏置
      • 神经网络的训练过程:前向传输和逆向反馈,即将输入变量逐层向前传递,最后获得输出的结果之后与实际结果相比较,并逐层逆向反馈错误,同时校正神经元中的权重值以及偏置,然后再次执行前向传输并依次重复进行迭代,直到最终预测结果与实际结果一致或在允许的误差范围内为止
      • 神经网络的基本概念包括:感知器反向传播算法(Hopfield)、神经网络自组织映射(SOM)学习矢量量化LVQ等
      • BP神经网络结果的准确性与训练集的样本数量以及样本的质量有关,如果样本数量太少则可能会出现过度拟合的情况,因此无法泛化新样本
      • BP神经网络对训练集中的异常点相对敏感,因此数据分析人员有必要对数据进行一定的数据预处理,比如数据标准化、删除重复数据和删除异常数据等操作以提高BP神经网络的性能
      • 由于神经网络是基于历史数据训练并构建的数学模型,因此随着新数据的不断生成需要对其进行动态地优化,比如随着时间的变化使用新数据重新进行模型的训练并调整网络的结构以及参数值

聚类算法

  • 聚类定义
    不需要标记原始数据,根据数据的固有的结构特征进行聚集。从而形成簇群并实现数据的分离,属于无监督学习

  • 聚类和分类的主要区别
    聚类不关心数据属于哪种类别,而是把具有相类似特征的数据聚集起来形成某一类别的簇

  • 聚类过程
    首先选择有效的特征来构成特征向量,然后根据欧氏距离或其他距离函数来计算其相似度,从而实现对类别的划分,通过对聚类结果进行评估,逐步迭代并生成新的聚类。

  • 聚类的应用领域
    可用于发现不同公司客户群体的特征、消费者行为分析市场,细分交易数据分析动植物种群分类,医疗领域的疾病诊断,环境质量检测等领域,也可以用于Internet领域和电子商务领域中客户分析以及行为特征分类分析等。在数据分析的过程中,可以首先使用聚类来探索数据并发现其中包含的类别特征,然后使用分类等算法对每个类别的特征进行分析

  • 聚类方法分类

    • 基于层次的聚类(Hierarchical Method),基于划分的聚类(Partitioning Method PAM),基于密度的聚类,基于约束的聚类,基于网络的聚类等
    • 基于层次的聚类:将数据集划分为不同的层次,并使用合并或者分解的操作进行聚类,主要包括BIRCH(Balanced Iterative Reducing and Clustering using Hierarchies)、CURE(Clustering Using Representatives)等
    • 基于划分的聚类:将数据集划分为k个簇,然后计算其中的样本距离以获得假设簇的中心点,之后使用簇的中心点重新迭代计算新的中心点,直到k个簇的中心点收敛为止,基于划分的聚类有k均值(k-means)等
    • 基于密度的聚类
      根据样本的密度不断增长聚类,最终形成一组密集连接的点集
  • 核心思想:只要数据的密度大于阈值就可以将数据合并到一个簇当中可以对噪声进行过滤,聚类的结果可以是任何形状的,不一定是凸形

  • 主要方法:DBSCAN(Density-Based Spatial Clustering of Application with Noise)、OPTICS(Ordering Points To Identify the Clustering Structure)等

  • BIRCH算法

    • 使用层次方法来平衡迭代规则和聚类,它只需要扫描一次数据集即可实现聚类,它使用了类似于B+ 树的结构来划分样本数据集,叶节节点之间使用双向链表连接起来,逐步优化树的结构以获得聚类
    • 主要优点:空间复杂度低,内存占用量少,效率高以及具有滤除噪声点的能力。其缺点是树中节点的聚类特征树的数量是有限的,这可能会出现与实际类别数量不一致的情况
    • BIRCH算法对样本有一定的限制,要求数据集的样本为超球体,否则聚类的效果不是很好,传统的基于划分聚类的方法会得到凸形的聚类,该凸形的聚类对异常数据较为敏感
  • CURE算法
    使用多个代表点来代替聚类中的单个点,算法相对更为健壮。在处理大数据时使用随机采样和分区,这使得在处理大数据样本集时更加具有时效性,而且对聚类质量没有影响

  • 传统的k-均值算法的聚类过程
    在样本集中随机选取k个聚类中心点,计算每个样本的候选中心的距离并且根据距离的大小将其分组,获得分组后,将重新计算聚类的中心,循环迭代,反复地进行计算,直到聚类的中心不再改变或者收敛

  • 改进的k-means算法
    初始化优化k-means算法,距离优化Elkan k-Means算法,k-Prototype算法等

  • k-means算法

    • 优点:可以简单地 、快速地处理大型数据集,并且具有可伸缩性,当在类别之间明确区分数据集(凸形分布)时,聚类效果最佳
    • 缺点:用户需要自己确定并给出 k 的值,即簇的数量(聚类的数目)而对于簇的数量,事先难以确定出一个较为合理的值。k均值算法对 k 的值较为敏感,如果 k 的值取得不合理,则最终的结果可能只是局部最优的
  • DBSCAN算法

    • DBSCAN算法基于样本之间的密度实现空间聚类,基于边界点,核心点以及噪声点等因素对空间中任何形状的样本数据进行聚类。
    • 特点:
      • 与传统的k均值相比,DBSCAN通过邻域半径和密度阈值自动生成聚类,无需指定聚类的数量,并支持噪声点的过滤
      • 当数据量增加时,算法的空间复杂度将升高。因此,DBSCAN不适合样本之间的密度不均匀的情况,否则聚类的质量将不会很好
      • 对于高维度的数据,一方面,密度的定义较为困难,另一方面,也将出现大量的计算,从而很大程度地降低了聚类的效率。
  • OPTICS算法

    • 在DBSCAN算法中,用户需要指定两个初始参数 分别是ε(邻域半径)和 minPts ε(邻域中的最小点数),用户通过手动设置这两个参数将对聚类的结果产生较为关键的影响
    • OPTICS算法很好地解决了上述问题 并生成了用于聚类分析的增广的簇排序 该簇排序表示了每个样本点基于密度的聚类结构

关联分析(关联规则挖掘)

  • 关联分析 (Associative Analysis) 是通过对数据集当中同时发生的事件的概率进行分析,从而挖掘它们之间是否存在一定的关联关系
  • 关联分析的典型应用——购物篮分析
    通过分析购物篮中不同商品之间的关联来分析消费者的消费行为,根据消费者的消费习惯制,定个性化的营销策略,以支持产品促销,产品定价,产品地理位置的摆放等因素。除此之外,还可以用来划分不同的消费者群体
  • 关联分析主要包括的算法有:Apriori算法、FP-growth算法以及Eclat算法
    • Apriori算法

      • 主要实现过程:首先生成所有的频繁项集,之后采用频繁项集构造出满足最小置信度的规则
      • 特点:由于Apriori算法需要对样本集进行多次扫描,因此需要从候选的频繁项集中生成频繁项集,故在处理大量数据时,其效率较低
    • FP-growth算法
      基于FP树生成频繁项集的FP-growth算法,该算法仅扫描数据集两次,不使用候选项目集,而是根据支持程度直接构建频繁模式树,并使用该树生成关联规则,当处理相对较大的数据集时,其效率比Apriori算法大约快一个数量级,对于海量数据,可以通过数据分区和样本采样之类的方法再次对其进行改进和优化

    • Eclat算法

      • 一种深度优先算法,该算法使用垂直数据表示,并基于前缀的等价关系将搜索空间,划分为较小的子空间,从而可以快速进行频繁项集的挖掘
      • 核心思想:倒排,转换事务数据中的事务主键与项目(采用项目作为主键的方式)
      • 好处:能够很明显地看到每个项目有哪些对应的事务ID,以方便项目频次的计算,从而迅速地获取频繁项集
      • 特点:在Eclat算法中,可以通过计算项集的交集并切割结果来快速地获得候选集的支持率,由于计算交集需要很长的时间,因此在该过程中,时间复杂度高并且效率很低,该算法的空间复杂度同样较高,消耗了大量的存储空间

回归算法

  • 回归分析
    • 回归分析是一种预测模型,用于研究自变量和因变量之间的关系
    • 核心思想:当自变量发生变化时,分析因变量的变化值,并且对自变量的要求是彼此独立

扩展

机器学习、人工智能和数据挖掘的联系

  • 数据挖掘:通过处理各种数据来促进人们的决策
    • 数据挖掘使用诸如机器学习统计和数据库之类的方法,来发现相对大量的数据集中的模式和知识涉及数据预处理模型和推理可视化等
    • 常见任务:
      异常检测(anomalydetection) 识别不符合预期模式的样本和事件,异常也称为离群值偏差和异常。异常检测通常用于入侵检测、银行欺诈、疾病检测、故障检测等
    • 数据挖掘是从大量业务数据中挖掘隐藏的、有用的以及正确的知识以促进决策的执行
  • 机器学习:使机器模仿人类的学习来获取知识
    • 机器学习是人工智能的一个分支,作为人工智能的核心技术和实现方法,机器学习方法被用来解决人工智能面临的问题
    • 机器学习是人工智能的重要支持技术,而深度学习就是其中一个重要分支,深度学习的典型应用是选择数据来训练模型然后使用该模型进行预测
  • 人工智能:使用机器学习和推理来最终形成特定的智能行为
    目的:人工智能是为了使机器的行为看起来像人类所表现出的智能行为
    典型的人工智能系统包括以下方面:
    • 博弈游戏如深蓝、AlphaGo、AlphaZero等
    • 机器人相关控制理论运动规划、控制机器人行走等
    • 机器翻译
    • 语音识别
    • 计算机视觉系统
    • 自然语言处理自动程序

总结

以上就是机器学习的基础知识啦!看到这了还不点个赞!

你可能感兴趣的:(深度学习)