机器学习算法实现流程

完成第一步之后,就需要对选取得样本集进行特征抽取,即特征工程。特征工程是一项很重要又很困难得工作,尤其是在推荐系统等领域。不仅需要对算法模型得深入了解,还需要我们又很扎实得专业领域知识。成功得机器学习应用一定是特征工程做的好的,当然特征提取也有很多可以通用的技巧。

我们做特征是为了将特征输入给模型,让模型从中学习出普遍规律。但是模型很多,不同的模型使用天差地别,当我们有一份高质量的数据后,还需要选择一个适合的模型,可以充分的学习到数据中规律,同时还需要在性能和部署方面考虑其实用性。

如上所言,不同的模型会有很大差别,可以从数据中学到的规律也会不同,所以我们经常会使用多种模型来进行学习,然后将不同模型融合,充分利用各模型特点。多种模型可以使用同一份特征,也可以根据需求做多份特征。

评估指标用于反映模型效果。在预测问题中,要评估模型效果,就需要将模型预测结果f(X)和真是结果Y进行比较,评估指标定义为f(X)和Y函数:

score=metric(f(X),Y)

模型的好坏是相对的,使用不同的评估标准往往会导致不同结论,所以在选择评估标准是要结合业务需求。

评估指标根据任务类型可分类为:分类指标、回归指标、聚类指标和排序指标。

精确率和召回率多用于二分类模型,可结合混淆矩阵来看。

表2-1混淆矩阵

TP(真正,TureTositive):真实结果为正,预测结果也为真;

FP(假正,FalseTosotive):真实结果为负,预测结果为正;

FN(假负,FalseNegative):真实结果为正,预测结果为负;

TN(真负,TureNegative):真实结果为负,预测结果也为负。

样本总数=TP+FP+FN+TN

精确率(P)=TP/(TP+FP)

召回率(R)=TP/(TP+FN)

准确率(accuracy)=(TP+TN)/(TP+FP+FN+TN)

错误率(errorrate)=(FN+FP)/(TP+FP+FN+TN)

注:准确率和精确率常混淆,精确率是一个二分类模型指标,准确率可以应用于多分类。

理想情况下,我们希望精确率和召回率两者都越高越好,但一般情况下,精确率越高召回率越低,精确率越低召回率越高。因此需要结合使用场景判断哪个指标更为重要。

我们以召回率R为横轴,精确率P为竖轴画出P-R曲线:

图2-1P-R曲线

据图可看到,P-R曲线越靠近右上角性能越好,曲线下的面积叫AP分数(平均准确率分数),但这个值计算不方便,所以设计了综合考虑精确率和召回率的指标。

F1值就是这样一个指标,F1是精确率和召回率的调和平均值:

2/F1=1/P+1/R

F值可泛化为对精确率和召回率赋不同权重调和:

接收者操作特征(ReceiverOperatingCharacteristic,ROC),纵坐标是真正率,横坐标是假正率,

真正率(TPR)=TP/(TP+FN)

假正率(FPR)=FP/(FP+TN)

图2-2ROC曲线

ROC与P-R曲线很相似,ROC曲线越靠近左上角性能越好,左上角坐标(0,1),TPR=1,FPR=0,根据公式可知,FN=0,FP=0,模型对所有样本分类正确。绘制ROC曲线,首先对所有样本按预测概率排序,以每条样本的预测概率为阈值,计算对应的FPR、TPR,然后连线。数据量小时,曲线不平滑,数据量大时,曲线会趋于平滑。

AUC(AreaUnderRocCurve)ROC曲线下面积,取值越大说明模型越可能将正样本排在负样本前面。AUC特性:AUC等于随机挑选一个正样本和一个负样本时,分类器正样本排前面的概率;AUC和WilcoxonTestofRanks等价;AUC还和基尼系数有联系,Gini+1=2*AUC。

也叫L1范数,

N为样本数,yi为第i条真实值,pi为第i条预测值。

加权平均绝对误差:是基于MAE得变种指标

wi是第i条样本得权重。

均方根对数误差:

样本选择的意义:

数据中噪声是一个不可避免的问题,噪声的存在会降低数据质量,导致模型训练效果不佳。但是在训练集中加入适量噪声能使模型更加健壮。

THE END
1.机器学习(17)——GMM算法算法流程腾讯云开发者社区算法流程如下: GMM(Gaussian Mixture Model, 高斯混合模型)是指该算法油多个高斯模型线 性叠加混合而成。每个高斯模型称之为component。GMM算法描述的是数据的 本身存在的一种分布。 GMM算法常用于聚类应用中,component的个数就可以认为是类别的数量。 假定GMM由k个Gaussian分布线性叠加而成,那么概率密度函数如下图所示https://cloud.tencent.com/developer/article/1111765
2.机器学习的基本流程和十大算法总结 今天我列了下学习机器学习你要掌握的知识清单,只有你对机器学习的流程、算法、原理有更深的理解,你才能在实际工作中更好地运用,祝你在机器学习的路上越走越远。 编辑:峰会https://m.elecfans.com/article/2283826.html
3.深度学习算法的通用流程深度学习算法的通用流程通常包括以下几个步骤: 1.数据收集:收集与问题相关的大量数据。这些数据可以来自各种来源,如传感器、数据库、互联网等。数据的质量和数量对深度学习模型的性能有很大影响。 2.数据预处理:对收集到的数据进行清洗、预处理和标注。这包括去除噪声、处理缺失值、进行数据归一化或标准化等操作。标注https://wenku.baidu.com/view/c701ed3768ec0975f46527d3240c844769eaa0b7.html
4.科学网—[转载]联邦学习算法综述在一次联邦学习的合作建模过程中,数据持有方对本地数据的训练仅发生在本地,以保护数据隐私,迭代产生的梯度在脱敏后被作为交互信息,代替本地数据上传给第三方受信任的服务器,等待服务器返回聚合后的参数,对模型进行更新。图2展示了客户端-服务器架构的联邦学习流程。https://blog.sciencenet.cn/blog-3472670-1280769.html
5.九种深度学习算法简介从算法处理的流程来划分,基于深度学习的目标检测算法可分为两阶段(Two-Stage)算法和一阶段(One-Stage)算法,两阶段算法需要先进行候选框的筛选,然后判断候选框是否框中了待检测目标 。 一. 两阶段算法 两阶段算法包含选择候选框和修正目标分类/位置两个阶段,对这两个阶段的不同处理方式,构成了不同的算法方案。 https://www.51cto.com/article/703517.html
6.基于子带包络和卷积神经网络的心音分类算法本文研究心音自动分类算法框架如图1所示,具体步骤如下: 图1 心音自动分类算法流程图 Figure1. Flow chart of automatic classification of heart sounds 图选项 下载全尺寸图像 下载幻灯片 (1)对PCG信号进行标注,将完成标注的数据分为训练集、验证集、测试集。 (2)对标注信号进行预处理,把一段完整的PCG信号分https://www.biomedeng.cn/article/10.7507/1001-5515.202012024
7.全面人工智能技术栈与学习路线:机器学习深度学习视觉NLP机器学习:这门课程中学习:线性回归 与 决策树与支持向量机Adaboost以及Bagging算法。 深度学习:这门课程:人工神经网络 单层/多层感知机 BP神经网络 Hopfield网络 卷积神经网络 LeNet5 这本书:《人工智能原理及其应用》特别全面,还有很多知识上述没列出来,下面将详细介绍。 https://download.csdn.net/blog/column/9899622/108107911
8.重建生态:价值与系统的力量——第七届中国教育创新年会11月启幕以教育人今天的认知与行动更新,告诉校园里必将走过的每一个孩子:任何发生在我们身边的事情,都是对自己成长和学习的邀请。 第七届中国教育创新年会组委会 滑动查看流程 ▼ 学术主持:邱华国(苏州半书房发起人) 如何准确理解学校办学目标,制定有效的教研标准? 刘充(宁波蓝青小学副校长) 一场高品质的教研,要https://sghexport.shobserver.com/html/toutiao/2020/08/26/250533.html
9.算法的学习基础根据《算法导论第三版》中的描述:算法就是任何问题的解决过程,它接收一些值或集合,对这些值或集合进行加工,最后产生一些值或集合作为输出,算法指的就是将输入转换为输出这个过程中的一系列计算流程。 简而言之,我们可以说算法就是解决一个特定任务的一系列步骤。 https://www.jianshu.com/p/225ff014a7d5
10.机器学习算法的整体流程(非常易懂)TheChosenOne(3)输入基础训练数据集利用scaler对其进行数据归一化处理 (4)对于归一化的数据集进行机器学习算法的训练fit过程; (5)输入测试数据集对其结果进行预测predict; (6)将预测结果与真实结果进行对比,输出其算法的准确率score(或者混淆矩阵) 2、机器学习的具体流程图如下:https://www.cnblogs.com/Yanjy-OnlyOne/p/11295980.html
11.算法入门:从零开始学习算法的简单教程本文介绍了算法入门的基础知识,包括算法的基本概念、重要性及其应用领域。文章详细解释了如何描述和分析算法,并列举了常见的算法类型及其应用场景,适合希望从零开始学习算法的读者。 算法入门:从零开始学习算法的简单教程 算法基础概念介绍 什么是算法 算法是一组定义明确的指令,用于解决特定问题或完成特定任务。算法可https://www.imooc.com/article/357937
12.深入浅出深度学习算法之BP神经网络详细公式推导学习率η∈(0,1)控制着沿反梯度方向下降的步长,若步长太大则下降太快容易产生震荡,若步长太小则收敛速度太慢,一般地常把η设置为0.1,有时更新权重时会将输出层与隐含层设置为不同的学习率。BP算法的基本流程如下所示: BP算法的更新规则是基于每个样本的预测值与真实类标的均方误差来进行权值调节,即BP算法每次https://www.cda.cn/view/126505.html