Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >机器学习(六)构建机器学习模型

机器学习(六)构建机器学习模型

作者头像
Maynor
发布于 2023-11-01 03:06:10
发布于 2023-11-01 03:06:10
6290
举报

1.9构建机器学习模型

我们使用机器学习预测模型的工作流程讲解机器学习系统整套处理过程。

整个过程包括了数据预处理、模型学习、模型验证及模型预测。其中数据预处理包含了对数据的基本处理,包括特征抽取及缩放、特征选择、特征降维和特征抽样;我们将带有类标的原始数据划按照82原则分为训练数据集和测试集。使用训练数据集用于模型学习算法中学习出适合数据集的模型,再用测试数据集用于验证最终得到的模型,将模型得到的类标签和原始数据的类标签进行对比,得到分类的错误率或正确率。

当有新数据来的时候,我们可以代入模型进行预测分类。

注:特征缩放、降维等步骤中所需的参数,只可以从训练数据中获取,并能够应用于测试数据集及新的样本,但仅仅在测试集上对模型进行性能评估或许无法监测模型是否被过度优化(后面模型选择中会提到这个概念)。

1.9.1数据预处理(特征工程)

数据预处理是机器学习应用的必不可少的重要步骤之一,以提到的Iris Dataset为例,将花朵的图像看做原始数据,从中提取有用的特征,其中根据常识我们可以知道这些特征可以是花的颜色、饱和度、色彩、花朵整体长度以及花冠的长度和宽度等。首先了解一下几个数据预处理方法:

l **(数据归一化与标准化,缺失值处理)**大部分机器学习算法为达到性能最优的目的,将属性映射到[0,1]区间,或者使其满足方差为1、均值为0的标准正态分布,从而提取出的特征具有相同的度量标准。

l **(数据降维)**当源数据的某些属性间可能存在较高的关联,存在一定的数据冗余。此时,我们使用机器学习算法中的降维技术将数据压缩到相对低纬度的子空间中是非常有用的。数据降维算法不仅可以能够使得所需的存储空间更小,而且还能够使得学习算法运行的更快。

l **(数据集切分)**为了保证算法不仅在训练集上有效,同时还能很好地应用于新数据,我们通常会随机地将数据集划分为训练数据集和测试数据集,使用训练数据集来训练及优化我们的机器学习模型,完成后使用测试数据集对最终模型进行评估。

数据预处理也称作特征工程,所谓的特征工程就是为机器学习算法选择更为合适的特征。当然,数据预处理不仅仅还有上述的三种。

1.9.2选择预测模型进行模型训练

任何分类算法都有其内在的局限性,如果不对分类任务预先做一些设定,没有任何一个分类模型会比其他模型更有优势。因此在实际的工作处理问题过程中,必不可少的一个环节就是选择不同的几种算法来训练模型,并比较它们的性能,从中选择最优的一个。

(1)如何选择最优的模型呢?我们可以借助一些指标,如分类准确率(测量值和真实值之间的接近程度)、错误率等指标衡量算法性能。

(2)疑问:选择训练模型的时候没有使用测试数据集,却将这些数据应用于最终的模型评估,那么判断究竟哪一个模型会在测试数据集有更好的表现?

针对该问题,我们采用了交叉验证技术,如10折交叉验证,将训练数据集进一步分为了训练子集和测试子集,从而对模型的泛化能力进行评估。

(3)不同机器学习算法的默认参数对于特定类型的任务来说,一般都不是最优的,所以我们在模型训练的过程中会涉及到参数和超参数的调整。

什么是超参数呢?超参数是在模型训练之前已经设定的参数,一般是由人工设定的。

什么是参数呢?参数一般是在模型训练过程中训练得出的参数。

1.9.3模型验证与使用未知数据进行预测

使用训练数据集构建一个模型之后可以采用测试数据集对模型进行测试,预测该模型在未知数据上的表现并对模型的泛化误差进行评估。如果对模型的评估结果表示满意,就可以使用此模型对以后新的未知数据进行预测。(模型评估部分会专门在下节讲解~)

但什么是泛化误差呢?我们带着这个问题分别对模型验证这块涉及到的基础概念做一个深入理解:

基础概念】通常我们把分类错误的样本数占样本总数的比例称为“错误率(error rate)”,如果在m个样本中有a个样本分类错误,则错误率为E=a/m;从另一个角度,1-a/m则称为“分类精度(accurary)”,也就是“精度+错误率=1”。

我们将模型(或学习器)的实际输出与样本的真实值之间的差异称为“误差(error)”,学习器在训练集上的误差称为“训练误差(training error)”或经验误差(empirical error),在新的样本上的误差称为“泛化误差(generalization error)”。

我们在模型验证的时候期望得到泛化误差小的学习器

1.9.4模型验证与使用未知数据进行预测

使用训练数据集构建一个模型之后可以采用测试数据集对模型进行测试,预测该模型在未知数据上的表现并对模型的泛化误差进行评估。如果对模型的评估结果表示满意,就可以使用此模型对以后新的未知数据进行预测。(模型评估部分会专门在下节讲解~)

但什么是泛化误差呢?我们带着这个问题分别对模型验证这块涉及到的基础概念做一个深入理解:

基础概念】通常我们把分类错误的样本数占样本总数的比例称为“错误率(error rate)”,如果在m个样本中有a个样本分类错误,则错误率为E=a/m;从另一个角度,1-a/m则称为“分类精度(accurary)”,也就是“精度+错误率=1”。

我们将模型(或学习器)的实际输出与样本的真实值之间的差异称为“误差(error)”,学习器在训练集上的误差称为“训练误差(training error)”或经验误差(empirical error),在新的样本上的误差称为“泛化误差(generalization error)”。

我们在模型验证的时候期望得到泛化误差小的学习器

1.9.5准确率和召回率、F1分数

预测误差(error,ERR)和准确率(accurary,ACC)都提供了误分类样本数量的相关信息。误差可以理解为预测错误样本与所有被预测样本数量量的比值,而准确率计算方法则是正确预测样本的数量与所有被预测样本数量的比值。

对类别数量不均衡的分类问题来说,真正率TPR与假正率FPR是更重要的指标:

,

比如在肿瘤诊断中,我们更为关注是正确检测出的恶性肿瘤,使得病人得到治疗。然而降低良性肿瘤(假负FN)错误被划分为恶性肿瘤,但对患者影响并不大。与FPR相反,真正率提供了有关正确识别出来的恶性肿瘤样本(或相关样本)的有用信息。

由此提出了准确率(persoon,PRE)和召回率(recall,REC),是与真正率、真负率相关的性能评价指标,召回率实际上与真正率含义相同,定义如下:

(真正率是看矩阵的行,即实际情况)

准确率(模型的预测情况,看矩阵的列)定义:

实际中,常采用准确率与召回率的组合,称为F1-Score

1.9.6Khold评估模型性能

验证模型准确率是非常重要的内容,我们可以将数据手工切分成两份,一份做训练,一份做测试,这种方法也叫“留一法”交叉验证。这种方法很有局限,因为只对数据进行一次测试,并不一定能代表模型的真实准确率。因为模型的准确率和数据的切分是有关系的,在数据量不大的情况下,影响比较大。因此我们提出了K折交叉验证,K-Fold交叉验证。

K-Fold交叉验证,将数据随机且均匀地分成k分,常用的k为10,数据预先分好并保持不动。假设每份数据的标号为0-9,第一次使用标号为0-8的共9份数据来做训练,而使用标号为9的这一份数据来进行测试,得到一个准确率。第二次使用标记为1-9的共9份数据进行训练,而使用标号为0的这份数据进行测试,得到第二个准确率,以此类推,每次使用9份数据作为训练,而使用剩下的一份数据进行测试,这样共进行10次,最后模型的准确率为10次准确率的平均值。这样就避免了数据划分而造成的评估不准确的问题。

如下图:

后记

📢博客主页:https://manor.blog.csdn.net

📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 Maynor 原创,首发于 CSDN博客🙉 📢不能老盯着手机屏幕,要不时地抬起头,看看老板的位置⭐ 📢专栏持续更新,欢迎订阅:https://blog.csdn.net/xianyu120/category_12468207.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
深度 | 机器学习中的模型评价、模型选择及算法选择
作者:Sebastian Raschka 翻译:reason_W 编辑:周翔 简介 正确使用模型评估、模型选择和算法选择技术无论是对机器学习学术研究还是工业场景应用都至关重要。本文将对这三个任务的相关技术进行回顾,并就每种技术的理论和实证研究的主要优缺点进行讨论。文章还将就机器学习算法中的超参数调优给出尽可能的建议,用以实现最佳的算法效果。文中内容涉及很多常用方法,比如模型评估和选择中的Holdout方法等;介绍了bootstrap技术的不同变体,通过正态逼近得到置信区间来衡量性能估计(performa
AI科技大本营
2018/04/26
2.6K0
深度 | 机器学习中的模型评价、模型选择及算法选择
机器学习实战:模型评估和优化
原文:http://www.developer.com/mgmt/real-world-machine-learning-model-evaluation-and-optimization.html
用户1737318
2018/06/06
9760
【机器学习与实现】机器学习概述
问题:让机器(程序)自动识别一个物品是筷子or牙签。(注: 机器开始并没有筷子和牙签的任何知识)
Francek Chen
2025/01/22
1430
【机器学习与实现】机器学习概述
【机器学习】一、机器学习概述与模型的评估、选择
阿瑟.萨缪尔Arthur Samuel,1952年研制了一个具有自学习能力的西洋跳棋程序,1956年应约翰.麦卡锡John McCarthy(人工智能之父)之邀,在标志着人工智能学科诞生的达特茅斯会议上介绍这项工作。他发明了“机器学习”这个词,将其定义为“不显示编程地赋予计算机能力的研究领域”。
Twcat_tree
2023/10/31
3800
【机器学习】一、机器学习概述与模型的评估、选择
机器学习概述与算法介绍(二)
机器学习概述 机器学习基本概念 机器学习基本流程与工作环节 机器学习中的评估指标 机器学习算法一览 3. 机器学习基本流程与工作环节 3.1 机器学习应用几大环节 预测模型 image 机器学习算法
iOSDevLog
2018/06/06
9070
图解 72 个机器学习基础知识点
来源:尤而小屋 R语言统计与绘图本文约5500字,建议阅读11分钟本文梳理了机器学习最常见的知识要点。 图解机器学习算法系列 以图解的生动方式,阐述机器学习核心知识 & 重要模型,并通过代码讲通应用细节。 1. 机器学习概述 1)什么是机器学习 人工智能(Artificial intelligence)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。它是一个笼统而宽泛的概念,人工智能的最终目标是使计算机能够模拟人的思维方式和行为。 大概在上世纪50年代,人工智能开始
数据派THU
2023/03/29
8100
图解 72 个机器学习基础知识点
预测建模、监督机器学习和模式分类概览
模式分类(pattern classification)和机器学习(machine learning)是非常热的话题,几乎在所有的现代应用程序中都得到了应用:例如邮局中的光学字符识别(OCR),电子邮件过滤,超市条形码扫描,等等。 在这篇文章中,我会简要描述一个典型的监督学习任务的主要概念,这些概念将作为将来的文章和实现各种学习算法的基础。 机器学习和模式分类 预测建模是建立一个能够进行预测的模型的通用概念。通常情况下,这样的模型包括一个机器学习算法,以便从训练数据集中学习某些属性做出这些预测。 预测建模可
CSDN技术头条
2018/02/09
1.2K0
预测建模、监督机器学习和模式分类概览
图解机器学习 | 机器学习基础知识
教程地址:http://www.showmeai.tech/tutorials/34
ShowMeAI
2022/03/09
7970
图解机器学习 | 机器学习基础知识
《机器学习》-- 第二章:模型评估与选择
(1) 误差:学习器的实际预测输出与样本的真实输出之间的差异;其中学习器在训练集上的误差称为”训练误差“(training error),在新样本上的误差称为”泛化误差“(generalization error)。值得一提的是,学习器就是在训练集上训练出来的,但实际上在回到训练集上对样本预测结果时,仍有误差。(即结果值与标记值不同)
fireWang
2019/07/31
9710
《机器学习》学习笔记(二)——模型评估与选择
错误率(error rate):分类错误的样本占样本总数的比例 精度(accuracy):1 - 错误率误差(error):学习器的实际预测输出与样本的真实输出之间的差异 错误率和精度相反 (错误率+精度=1) 训练误差(training error)(即经验误差(empirical error)):学习器在训练集上的误差 泛化误差(generalization error):在新样本(即测试样本)上的误差
荣仔_最靓的仔
2021/02/02
2.3K0
《机器学习》学习笔记(二)——模型评估与选择
机器学习-03-机器学习算法流程
定义问题(Problem Definition) -> 数据收集(Data Collection) -> 数据分割(Dataset Spit up) -> 模型训练(Model Training) -> 模型评估(Model Evaluation) -> 应用部署(System Deployment) -> 改变世界(Impact the world)!
用户2225445
2024/02/29
2460
机器学习-03-机器学习算法流程
机器学习基础
请记住,在本章中讨论的大多数技术都是机器学习和深度学习通用的,一部分用于解决过拟合问题的技术(如dropout)除外。
用户9882025
2022/07/11
4830
机器学习基础
《机器学习》西瓜书读书笔记2
2.1:经验误差与过拟合 通常我们把分类错误的样本数占样本总数的比例称为“错误率”,相应的。精度即“1-错误率”。更一般的,我们把学习器的实际预测输出和样本的真实输出之间的差异称为“误差”。 *需要注意,这里所说的误差均是指的是误差期望。 学习器在训练集上的误差称为“训练误差”或者“经验误差”,在新样本上的误差称之为“泛化误差”。 我们现在努力做得是把经验误差最小化。我们实际希望的,是在样本上能表现出来的很好的学习器。为了达到这个目的,应该从训练样本上尽可能的学出适用于所有潜在样本的“普遍规律”,这样才能在
云时之间
2018/04/11
8170
深度学习500问——Chapter02:机器学习基础(3)
2. 投影思想:找出最能够代表原始数据的投影方法。被PCA降掉的那些维度只能是那些噪声或是冗余的数据。
JOYCE_Leo16
2024/03/19
1610
深度学习500问——Chapter02:机器学习基础(3)
西瓜书概念整理(chapter 1-2)熟悉机器学习术语
括号表示概念出现的其他页码, 如有兴趣协同整理,请到issue中认领章节 完整版见我的github:ahangchen 觉得还不错的话可以点个star ^_^ 第一章 绪论 Page2: 标记(lab
梦里茶
2017/12/29
1.4K0
机器学习入门(六):分类模型评估方法
掌握分类模型评估方法对于数据科学家和机器学习工程师至关重要。它不仅帮助验证模型的有效性,还能指导模型优化方向,确保模型在实际应用中表现优异。通过精确率、召回率等指标,可以全面评估模型性能,识别误分类的类别,从而针对性地改进。
小言从不摸鱼
2024/09/10
2130
机器学习入门(六):分类模型评估方法
机器学习:应用和设计模型
在训练数据的时候,可能会发现模型的效果不是很好,于是就需要对模型进行调整,一般有以下几种方式:
Here_SDUT
2022/09/19
7250
机器学习:应用和设计模型
《机器学习》笔记-模型评估与选择(2)
作者:刘才权 编辑:赵一帆 写在最前面 如今机器学习和深度学习如此火热,相信很多像我一样的普通程序猿或者还在大学校园中的同学,一定也想参与其中。不管是出于好奇,还是自身充电,跟上潮流,我觉得都值得试一试。对于自己,经历了一段时间的系统学习(参考《机器学习/深度学习入门资料汇总》),现在计划重新阅读《机器学习》[周志华]和《深度学习》[Goodfellow et al]这两本书,并在阅读的过程中进行记录和总结。这两本是机器学习和深度学习的入门经典。笔记中除了会对书中核心及重点内容进行记录,同时,也会增加自己的
机器学习算法工程师
2018/03/06
1.1K0
《机器学习》笔记-模型评估与选择(2)
【机器学习】机器学习从“看”到“做”的实战经验
引言 前阵子看到一篇文章,学习了一段时间的机器学习算法后,再回头看机器学习问题,发现要想利用机器学习去很好的求解一个问题,其实并不是一件容易办到的事情,尤其是能够对整个模型的解释方面,要想能够对模型很好的解释,那么难度就会更大。因为利用机器学习处理一个实际的问题就不仅仅是我们得学会怎么使用机器学习算法,更重要的是如何对整个问题建模。我刚开始是学习智能计算,当然一个优化问题怎么去建模,建模完成之后就是求解,相对还算比较简单。但是在机器学习中,问题就变得复杂多了,很多将机器学习的书也都是讲机器学习的算法,就像我
陆勤_数据人网
2018/02/26
6520
【机器学习】机器学习从“看”到“做”的实战经验
机器学习-2:MachineLN之模型评估
很多文章其实都是将书中的东西、网上课程、或者别人的论文的东西总结一下,发出来,但是个人感觉还是加入个人的理解,然后加上一些工程中遇到的问题一起发出来会更好些。
MachineLP
2022/05/09
3410
机器学习-2:MachineLN之模型评估
推荐阅读
相关推荐
深度 | 机器学习中的模型评价、模型选择及算法选择
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档