【.com原稿】前言机器学习是人工智能领域的重要组成部分。简单地说,就是计算机程序学习数据并产生相应建议和决策的过程。机器学习的经典定义是:如果计算机程序在任务T中的表现(由P衡量)随着经验E的提高而提高,则称计算机程序从经验E中学习关于某类任务T和性能指标P。文章通过图文并茂的方式,带你深入了解机器学习的概念、原理和发展历程。文章结构如下:前言一、机器学习简介二、机器学习发展过程一、机器学习简介机器学习是计算机根据数据分布构建概率统计模型,并利用模型的方法。分析和预测数据。根据学习数据分布方式的不同,主要可以分为有监督学习和无监督学习:1.有监督学习:从带标签的数据(x为变量特征空间,y为标签),通过选择的模型和确定学习策略,然后使用合适的算法计算和学习最优模型,并使用模型进行预测的过程。模型预测结果Y的取值是有限的还是无限的,可以分为分类模型或回归模型。2.无监督学习:从未标记的数据(x为变量特征空间),通过选择的模型和确定的学习策略,然后使用合适的算法计算学习最优模型,并利用模型发现统计数据或内部结构的规律。根据应用场景可分为聚类、降维、关联分析等模型。二、机器学习发展过程1、定义业务问题定义业务问题是机器学习的前提。这里,需要抽象出解决实际业务问题的方法:需要学习什么样的数据——输入,目标是得到什么样的模型?决策输出。(例如:学习现有的新浪新闻及其类别标签数据,得到一个分类模型,用该模型预测每天新新闻的类别,分类到各个新闻频道。)2.数据选择:收集和输入data数据决定了机器学习结果的上限,算法只会尽可能接近这个上限。这意味着数据的质量决定了模型的最终效果。在实际工业应用中,算法通常只占一小部分。工程师的大部分工作是查找数据、提炼数据和分析数据。数据选择需要注意:①数据一定要有代表性,否则会导致模型过拟合,无法识别训练数据以外的新数据;②如果监督学习的业务与时间有关,则需要明确数据时间窗口,否则可能导致数据泄露,即因果关系相反的特征存在和利用现象。(比如预测明天会不会下雨,但是训练数据中引入了明天或本周的温度和湿度)3.特征工程:数据预处理和特征提取特征工程是将原始数据转化为有用的特征模型的。技术手段如特征表示、缺失值/异常值处理、数据离散化、数据标准化、特征提取等。特征表示需要将数据转换成计算机可以处理的数值形式。如果数据是图像数据,需要转换成RGB三维矩阵表示;而文本数据可以用多维数组表示,如Onehot单热编码表示、word2vector分布式表示和bert动态编码等。会干扰模型学习。通常需要处理人为异常值,通过业务判断和技术手段(python、正则表达式匹配、pandas数据处理、matplotlib可视化等数据分析处理技术)筛选异常信息,删除或替换值根据业务情况。缺失值处理对数据的缺失部分进行补齐,不做合并业务处理或删除。根据缺失率和处理方式分为以下几种情况:①缺失率高,可结合业务直接删除特征变量。此外,还可以添加一个bool类型的变量特性来记录该字段的缺失。缺失记为1,非缺失记为0;训练随机森林模型预测缺失值的填充;③不处理:随机森林、xgboost、lightgbm等一些模型可以处理缺失数据,不需要对缺失数据做任何处理。数据离散化数据离散化可以减少算法的时间和空间开销(不同的算法会有所不同),并且可以使特征更具业务可解释性。离散化就是将连续的数据分割成离散的区间。分割的原则是采用等距、等频等方法。数据标准化数据的每个特征变量的维度差异很大。数据标准化可以消除不同组件维度差异的影响,加快模型收敛的效率。常用的方法有:①min-max标准化:将取值范围缩放到(0,1),但不改变数据分布。max是样本的最大值,min是样本的最小值。②z-score标准化:将取值范围缩放到接近0,处理后的数据符合标准正态分布。u是均值,σ是标准差。特征提取特征提取环节是结合业务和技术手段进行特征生成(特征推导)并最终确认(特征选择/特征降维)进入模型的特征变量,对模型结果具有决定性影响。特征推导:可能现有的基本特征对样本信息的表达有限,辅之以产生新意义的特征。特征推导是对已有的基本特征的含义进行一定的处理(组合/转换等):①结合业务理解做推导,比如通过12个月的薪水可以处理:平均月薪,薪水变化,是否支付工资等;②使用特征衍生工具:特征工具等技术;特征选择:筛选出显着特征,丢弃不显着特征。特征选择方法一般分为三类:①过滤法:根据特征的散度或相关性指标,对每个特征进行打分后选择,如方差验证、相关系数、卡方检验、信息增益等。②打包方式,每次选择一些特征,或者排除一些特征,根据模型预测效果得分选择特征。③Embedding方法:使用一定的模型进行训练,得到每个特征的权重系数,按照权重系数从大到小选择特征,如XGBOOST特征重要性输出。特征降维:如果特征选择后的特征数量仍然过多,这种情况下往往会出现数据样本稀疏、距离计算困难的问题(称为“维数灾难”),可以通过特征降维来解决。常用的降维方法有:主成分分析(PCA)、线性判别分析(LDA)等。4.模型训练模型训练是选择模型学习数据分布的过程。这个过程还需要根据训练结果调整算法的(hyper)参数,使结果更好。数据集划分在训练模型之前,一般会将数据集划分为训练集和测试集,而训练集又可以细分为训练集和验证集,以评估模型的泛化能力。①训练集(trainingset):用来运行学习算法。②开发验证集(developmentset)用于调整参数、选择特征和优化其他算法。常用的验证方法有交叉验证、留一法等;③测试集(testset)用于评价算法的性能,但不会相应改变学习算法或参数。模型选择常见的机器学习算法如下:模型选择取决于数据情况和预测目标。可以训练多个模型,可以根据实际效果选择性能更好的模型或者模型融合。模型训练训练过程可以通过调整参数来优化,这是一个基于数据集、模型和训练过程细节的经验过程。超参数优化需要基于对算法原理的理解和经验,此外还有自动调参技术:网格搜索、贝叶斯优化等。5.模型评估模型学习的目的:使学习到的模型能够对新数据有很好的预测能力(泛化能力)。模型评价标准:根据给定损失函数的模型训练误差和测试误差来评价模型。现实中,模型的泛化能力通常通过测试误差来评价。评价指标①评价分类模型:常用的评价标准有准确率P、召回率R、两者的调和平均F1-score等,取值由混淆矩阵的相应统计数计算得出:Precisionrate是指被分类器正确分类的正样本(TP)数量占分类器所有预测正样本(TP+FP)的比例;recall是指被分类器正确分类的正样本(TP)的数量占所有正样本(TP+FN)的比例。F1-score是准确率P和召回率R的调和平均值:②评估回归模型:常用的评估指标有RMSE均方根误差等。反馈是预测值和实际值之间的拟合。③评价聚类模型:可以分为两种,一种是将聚类结果与一个“参考模型”的结果进行比较,称为“外部指标”(externalindex):如兰德指标、FM指标,ETC。;另一种是不使用任何参考模型,直接检查聚类结果,称为“内部索引”(internalindex):如compactness、separation等。评估模型根据训练集和测试集的指标表现分析原因并优化模型。常用的方法有:6.决策是机器学习的最终目标。对模型预测信息进行分析解释,并将其应用于实际工作领域。需要注意的是,工程是结果导向的,模型上线运行的效果直接决定了模型的成败,不仅包括它的准确率、误差等,还有它的运行速度(时间复杂度),资源消耗(空间复杂度),稳定性综合考虑。参考文献《面向程序员数据挖掘指南》《机器学习》--周志华《统计学习方法》--李航谷歌机器学习作者:大白,拥有多年算法开发经验,熟悉自然语言处理、银行金融风控、知识图谱等领域。【原创稿件,合作网站转载请注明原作者和出处为.com】
