机器学习 作为人工智能领域的核心组成,是计算机程序学习数据经验以优化自身算法,并产生相应的“智能化的”建议与决策的过程。
一个经典的机器学习的定义是:
A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
机器学习是关于计算机基于数据分布构建出概率统计模型,并运用模型对数据进行分析与预测的方法。按照学习数据分布的方式的不同,主要可以分为监督学习和非监督学习:
从有标注的数据(x为变量特征空间, y为标签)中,通过选择的模型及确定的学习策略,再用合适算法计算后学习到最优模型,并用模型预测的过程。模型预测结果Y的取值有限的或者无限的,可分为分类模型或者回归模型;
从无标注的数据(x为变量特征空间),通过选择的模型及确定的学习策略,再用合适算法计算后学习到最优模型,并用模型发现数据的统计规律或者内在结构。按照应用场景,可以分为聚类,降维和关联分析等模型;
明确业务问题是机器学习的先决条件,这里需要抽象出现实业务问题的解决方案:需要学习什么样的数据作为输入,目标是得到什么样的模型做决策作为输出。
(如一个简单的新闻分类场景就是学习已有的新闻及其类别标签数据,得到一个分类模型,通过模型对每天新的新闻做类别预测,以归类到每个新闻频道。)
数据决定了机器学习结果的上限,而算法只是尽可能逼近这个上限。意味着数据的质量决定了模型的最终效果,在实际的工业应用中,算法通常占了很小的一部分,大部分工程师的工作都是在找数据、提炼数据、分析数据。数据选择需要关注的是:
① 数据的代表性:无代表性的数据可能会导致模型的过拟合,对训练数据之外的新数据无识别能力;
② 数据时间范围:监督学习的特征变量X及标签Y如与时间先后有关,则需要明确数据时间窗口,否则可能会导致数据泄漏,即存在和利用因果颠倒的特征变量的现象。(如预测明天会不会下雨,但是训练数据引入明天温湿度情况);
③ 数据业务范围:明确与任务相关的数据表范围,避免缺失代表性数据或引入大量无关数据作为噪音;
特征工程就是将原始数据加工转化为模型有用的特征,技术手段一般可分为:
数据预处理:特征表示,缺失值/异常值处理,数据离散化,数据标准化等;特征提取:特征衍生,特征选择,特征降维等;
字符类的数据可以用多维数组表示,有Onehot独热编码表示、word2vetor分布式表示及bert动态编码等;
② z-score 标准化: 将数值范围缩放到0附近, 经过处理的数据符合标准正态分布。u是平均值,σ是标准差。
基础特征对样本信息的表述有限,可通过特征衍生出新含义的特征进行补充。特征衍生是对现有基础特征的含义进行某种处理(组合/转换之类),常用方法如:
① 结合业务的理解做衍生,比如通过12个月工资可以加工出:平均月工资,薪资变化值,是否发工资 等等;
② 使用特征衍生工具:如feature tools等技术;
特征选择筛选出显著特征、摒弃非显著特征。特征选择方法一般分为三类:
① 过滤法:按照特征的发散性或者相关性指标对各个特征进行评分后选择,如方差验证、相关系数、IV值、卡方检验及信息增益等方法。
② 包装法:每次选择部分特征迭代训练模型,根据模型预测效果评分选择特征的去留。
③ 嵌入法:使用某些模型进行训练,得到各个特征的权值系数,根据权值系数从大到小来选择特征,如XGBOOST特征重要性选择特征。
如果特征选择后的特征数目仍太多,这种情形下经常会有数据样本稀疏、距离计算困难的问题(称为 “维数灾难”),可以通过特征降维解决。常用的降维方法有:主成分分析法(PCA), 线性判别分析法(LDA)等。
模型训练是选择模型学习数据分布的过程。这过程还需要依据训练结果调整算法的(超)参数,使得结果变得更加优良。
模型选择取决于数据情况和预测目标。可以训练多个模型,根据实际的效果选择表现较好的模型或者模型融合。
模型选择
模型评估的标准:模型学习的目的使学到的模型对新数据能有很好的预测能力(泛化能力)。现实中通常由训练误差及测试误差评估模型的训练数据学习程度及泛化能力。
混淆矩阵查准率是指分类器分类正确的正样本(TP)的个数占该分类器所有预测为正样本个数(TP+FP)的比例; 查全率是指分类器分类正确的正样本个数(TP)占所有的正样本个数(TP+FN)的比例。 F1-score是查准率P、查全率R的调和平均:
② 评估回归模型:常用的评估指标有RMSE均方根误差 等。反馈的是预测数值与实际值的拟合情况。
③ 评估聚类模型:可分为两类方式,一类将聚类结果与某个“参考模型”的结果进行比较,称为“外部指标”(external index):如兰德指数,FM指数 等;另一类是直接考察聚类结果而不利用任何参考模型,称为“内部指标”(internal index):如紧凑度、分离度 等。
根据训练集及测试集的指标表现,分析原因并对模型进行优化,常用的方法有:
决策是机器学习最终目的,对模型预测信息加以分析解释,并应用于实际的工作领域。
需要注意的是工程上是结果导向,模型在线上运行的效果直接决定模型的成败,不仅仅包括其准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性的综合考虑。
《机器学习》--周志华
《统计学习方法》--李航
Google machine-learning