【机器学习】一、机器学习概述与模型的评估、选择

news2024/9/24 9:20:36

机器学习简介

由来

阿瑟.萨缪尔Arthur Samuel,1952年研制了一个具有自学习能力的西洋跳棋程序,1956年应约翰.麦卡锡John McCarthy(人工智能之父)之邀,在标志着人工智能学科诞生的达特茅斯会议上介绍这项工作。他发明了“机器学习”这个词,将其定义为“不显示编程地赋予计算机能力的研究领域”。

假设空间hypothesis space

在这里插入图片描述

版本空间version space

在这里插入图片描述

归纳偏好inductive bias

机器学习算法在学习过程中对某种类型假设的偏好。如果没有偏好,产生的模型每次在进行预测时随机抽选训练集上的等效假设,那么对这个新输入,学得模型时而告诉我们它是好的、时而告诉我们它是不好的,这样的学习结果显然没有意义。

归纳偏好对应了学习算法本身所做出的关于"什么样的模型更好"的假设。在具体的现实问题中,这个假设是否成立,即算法的归纳偏好是否与问题本身匹配,大多数时候直接决定了算法能否取得好的性能。

“奥卡姆剃刀”Occam’s razor

常用的、自然科学研究中最基本的原则,即“若有多个假设与观察一致,则选最简单的那个”(在回归学习中一般认为更平滑意味着更简单)

“没有免费的午餐”定理No Free Lunch Theorm,NFL

无论学习算法1多聪明、学习算法2多笨拙,他们的总误差与学习算法无关,期望性能相同。

→ 若考虑所有潜在问题,则所有学习算法都一样好,要谈论算法的相对优劣,必须针对具体的学习问题,学习算法自身的归纳偏好与问题是否相配,往往会起到决定性作用。

机器学习5种学习方法

1、监督学习supervised learning:是利用已知类别的样本(即有标记的样本 labeled sample,已知其相应的类别),调整分类器的参数,训练得到一个最优模型,使其达到所要求性能,再利用这个训练后的模型,将所有的输入映射为相应的输出,对输出进行简单的判断,从而实现分类的目的,这样,即可以对未知数据进行分类。
2、无监督学习unsupervised learning:把相似度高的东西放在一起,对于新来的样本,计算相似度后,按照相似程度进行归类就好。
3、半监督学习semi-supervised learning:处在监督学习和无监督学习之间的是半监督学习。Semi-Supervised Learning中使用的数据,有一部分是标记过的,而大部分是没有标记的。因此和监督学习相比,半监督学习的成本较低,但是又能达到较高的准确度。
4、强化学习reinforcement learning:所谓强化学习就是智能系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统RLS(reinforcement learning system)如何去产生正确的动作。(相当于先无监督后有监督)
5、迁移学习transfer learning:考虑到大部分数据或任务是存在相关性的,所以通过迁移学习我们可以将已经学到的参数(parameter)分享给新模型从而加快并优化模型的学习,不用像之前那样从零开始,把已训练好的模型参数迁移到新的模型来帮助新模型训练数据集。

模型评估与选择

错误率error rate,精度accuracy,误差error,训练误差training error/经验误差empirical error(在训练集上的误差),泛化误差generalization error(在新样本上的误差)

过拟合overfitting(当学习器把训练样本学的太好了的时候,可能已经把训练样本本身的一些特点当做了所有潜在样本都会具有的一般性质,导致泛化性能下降→无法彻底避免,只能减小其风险)
欠拟合underfitting(对训练样本的一般性质尚未学好→容易克服)

模型选择问题model selection(选用哪个学习算法、使用哪种参数配置)
→无法直接获得泛化误差,而训练误差又由于过拟合现象的存在而不适合作为标准,那么,在现实中如何进行模型评估与选择呢?

2.1评估

分“测试集(验证集)”和“训练集”,以测试集上的“测试误差testing error”作为泛化误差的近似

留出法:直接将数据集D划分为两个互斥的集合,一个作为训练集S,另一个作为测试集T,划分尽可能保持数据分布的一致性,并且常见做法将大约2/3~4/5的样本用于训练,剩余样本用于测试
交叉验证法:将数据集D划分为k个大小相似的互斥子集,每次用k-1个子集作为训练集,余下的一个作为测试集,这样获得的k个测试结果取均值,k常取10
自助法:以自助采样法bootstrap sampling为基础,给定包含m个样本的数据集D,我们对它进行采样产生数据集D’:每次随机从D中挑选一个样本,将其拷贝放入D’,然后再将该样本放回初始数据集中,使得该样本在下次采样时仍有可能被采到;这个过程重复执行m次后,我们就得到了包含m个样本的数据集 D’,通过自助采样,初始数据集D中约有36.8%的样本未出现在D’中,于是可用D’做训练集,D\D’做测试集

调参parameter tuning与最终模型

在模型选择完成后,学习算法和参数配置已选定,此时应用数据集D重新训练模型,这个模型在训练过程中使用了所有m个样本,才是最终提交给用户的模型。另外,通常把学得模型在实际使用中遇到的数据称为测试数据,为了加以区分,模型评估与选择中用于评估测试的数据集通常称为“验证集validation set”

性能度量performance measure

衡量模型泛化能力的评价标准

回归任务常用“均方误差mean squared error”
分类任务常用:错误率、精度、查准率precision:、查全率recall:、平衡点Break-Event Point(BEP,查准率=查全率时的取值,例如图中A优于B)、F1(基于查准率与查全率的调和平均:)、Fβ(F1度量的一般形式,加权调和平均,其中β>0度量了查全率对查准率的相对重要性,β=1时退化为标准的F1,β>1时查全率有更大影响,β<1时查准率有更大影响:)、受试者工作特征曲线ROC(Receiver Operating Characteristic,纵轴为真正例率,横轴为假正例率)
混淆矩阵confusion matrix:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
非均等代价unequal cost(为权衡不同类型错误所造成的不同损失,可为错误赋予“非均等代价”)、代价矩阵cost matrix:
在这里插入图片描述
损失程度相差越大,cost01与cost10值的差别越大。一般情况下,重要的是代价比值而非绝对值,例如cost01:cost10=5:1与50:10所起效果相当。
→希望最小化总体代价total cost

代价敏感cost-sensitive错误率(以表2.2中第0类作为正类、第1类作为反类,D+与D-分别代表样例集D的正例子集和反例子集):
在这里插入图片描述
代价曲线cost curve:
在这里插入图片描述

比较检验

比较泛化性能,而通过试验评估方法获得的是测试性能,两者的对比结果可能未必相同(以错误率为性能度量为例):

→ 统计假设检验hypothesis test:
在这里插入图片描述
→ 交叉验证t检验(成对t检验paired t-tests):基本思想是若两个学习器的性能相同,则它们使用相同的训练/测试集得到的测试错误率应相同,即

为缓解“由于样本有限,在使用交叉验证等实验估计方法时,不同轮次的训练集会有一定程度的重叠,使得测试错误率实际上并不独立,会导致过高估计假设成立的概率”的问题,采用5×2交叉验证法

→ McNemar检验:
在这里插入图片描述
→ Friedma检验与Nemenyi后续检验:
在一组数据集上对多个算法进行比较
在这里插入图片描述
偏差-方差分解bias-variance decomposition:解释学习算法泛化性能的一种重要工具

泛化误差可分解为偏差(期望预测与真实结果的偏离程度,刻画学习算法本身的拟合能力)、方差(同样大小的训练集的变动导致的学习性能的变化,刻画数据扰动所造成的影响)与噪声(当前任务上任何学习算法所能达到的期望泛化误差的下界,刻画学习问题本身的难度)之和:
在这里插入图片描述
偏差-方差窘境bias-variance dilemma(一般偏差和方差是有冲突的)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1152294.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频增强修复软件Topaz Video AI mac中文版支持功能

Topaz Video AI mac是一款使用人工智能技术对视频进行增强和修复的软件。它可以自动降噪、去除锐化、减少压缩失真、提高清晰度等等。Topaz Video AI可以处理各种类型的视频&#xff0c;包括低分辨率视频、老旧影片、手机录制的视频等等。 使用Topaz Video AI非常简单&#xff…

一文搞懂隐私计算

隐私计算 1. 安全多方计算2. 联邦学习3. 可信执行环境4. 隐私计算三类技术比较 隐私计算&#xff08;Privacy computing&#xff09;是指在保证数据不对外泄露的前提下&#xff0c;由两个或多个参与方联合完成数据分析计算相关技术的统称。 隐私计算作为跨学科技术&#xff0c…

如何优雅地单元测试 Kotlin/Java 中的 private 方法?

翻译自 https://medium.com/mindorks/how-to-unit-test-private-methods-in-java-and-kotlin-d3cae49dccd ❓如何单元测试 Kotlin/Java 中的 private 方法❓ 首先&#xff0c;开发者应该测试代码里的 private 私有方法吗&#xff1f; 直接信任这些私有方法&#xff0c;测试到…

Leetcode—169.多数元素【简单】

2023每日刷题&#xff08;十四&#xff09; Leetcode—169.多数元素 算法思想 由于nums中一定存在多数元素&#xff0c;所以将nums数组元素递增排序&#xff0c;取出位置的元素即可 实现代码 class Solution { public:int majorityElement(vector<int>& nums) {s…

视频转gif表情怎么操作?一键提取gif动画

通过电影、电视剧等视频转换gif动画&#xff0c;效果非常的吸引人。但是很多视频转换gif的工具要么是需要下载要么就是操作起来很复杂。其实&#xff0c;大家只需要使用gif动画图片&#xff08;https://www.gif.cn/&#xff09;制作工具&#xff0c;不用下载任何软件&#xff0…

前端基础---跳转相关的功能

后端给链接地址并且给token进行跳转 如果点击有key4&#xff0c;说明要跳转到相应的页面 auth是通过后端获取的地址&#xff0c; jdk是后端获取的相应的token&#xff0c; 然后进行拼接&#xff0c;进行window.open&#xff08;&#xff09;进行跳转 if (key 4) {var testUrl …

JavaEE入门介绍,HTTP协议介绍,常用状态码及含义,服务器介绍(软件服务器、云服务器)

一、JavaEE入门 JavaEE&#xff08;Java Enterprise Edition&#xff09;&#xff0c;Java企业版&#xff0c;是一个用于企业级web开发&#xff08;不需要使用控制台&#xff09;平台。最早由Sun公司定制并发布&#xff0c;后由Oracle负责维护。 JavaEE平台规范了在开发企业级w…

开发者看亚马逊云科技1024【文末有福利~】

1024&#xff0c;2023年的1024&#xff0c;注定是不平凡的1024&#xff0c;AIGC已经成为了整个年度的主题&#xff0c;亚马逊云科技在这个开发者每年最重要的日子&#xff0c;举办了生成式AI构建者大会&#xff0c;让我们一起再次了解本次生成式AI构建者大会&#xff0c;回顾会…

【c++|opencv】一、基础操作---2.图像信息获取

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 图像信息获取&#xff0c;roi 1. 图像信息获取 // 获取图像信息#include <iostream> #include <opencv2/opencv.hpp>using namespace cv; …

浅谈智能卡远程费控电能表的设计与实现

叶根胜 安科瑞电气股份有限公司 上海嘉定201801 摘要:本文分析了国内外远程费用控制电能表的研究现状&#xff0c;并根据功能要求和参数要求设计研究了远程费用控制电能表。采用模块化设计的电能表硬件电路系统&#xff0c;并研究了电能表的功能程序软件&#xff0c;实现了测…

虚拟内存之页面置换算法

内存空间不够&#xff0c;OS将内存中暂时用不到的信息换出到外存。但页面的换入/出需要磁盘I/O&#xff0c;系统开销较大。页面置换算法要更少的缺页率。 一、最佳置换(OPT)-optimal 1.思想 每次选择淘汰以后永不使用、在最长时间内不再被访问的页面&#xff0c;以此保证最低的…

3 tensorflow构建模型详解

上一篇&#xff1a;2 用TensorFlow构建一个简单的神经网络-CSDN博客 1、神经网络概念 接上一篇&#xff0c;用tensorflow写了一个猜测西瓜价格的简单模型&#xff0c;理解代码前先了解下什么是神经网络。 下面是百度AI对神经网络的解释&#xff1a; 神经网络是一种运算模型&…

音视频技术开发周刊 | 317

每周一期&#xff0c;纵览音视频技术领域的干货。 新闻投稿&#xff1a;contributelivevideostack.com。 MIT惊人再证大语言模型是世界模型&#xff01;LLM能分清真理和谎言&#xff0c;还能被人类洗脑 MIT等学者的「世界模型」第二弹来了&#xff01;这次&#xff0c;他们证明…

什么是Steam红锁?及红锁的原因

Steam红锁分为两种&#xff0c;一种是商业红&#xff0c;一种是欺诈红。 造成红锁的原因有哪些&#xff1f; 1.非正常玩家&#xff0c;大量囤货&#xff0c;就是你交易饰品的交易量太大了&#xff0c;而且频繁地买进同一个饰品&#xff0c;官方就会判定你是商业行为&#xff0…

批量重命名文件夹:用数字随机重命名法管理您的文件夹

在文件管理中&#xff0c;文件夹的命名是一项至关重要的任务。一个好的文件夹命名方案可以帮助我们更高效地组织和查找文件。然而&#xff0c;随着时间的推移&#xff0c;我们可能会遇到文件夹数量过多&#xff0c;难以管理和查找的问题。为了解决这个问题&#xff0c;我们可以…

ubuntu PX4 vscode stlink debug设置

硬件 stlink holybro debug板 pixhawk4 安装openocd 官方文档&#xff0c;但是第一步安装建议从源码安装&#xff0c;bug少很多 github链接 编译安装&#xff0c;参考 ./bootstrap (when building from the git repository)./configure [options]makesudo make install安装后…

SpringMVC Day 06 : 转发视图

前言 在SpringMVC框架中&#xff0c;视图解析器可以将逻辑视图名称转换为实际的视图对象。除了直接渲染视图&#xff0c;你还可以通过SpringMVC提供的转发和重定向机制来跳转到另一个视图。在本篇博客中&#xff0c;我们将学习SpringMVC中的转发视图技术&#xff0c;以及如何使…

sscanf 函数的使用

一、sscanf 函数介绍 头文件 #include <stdio.h> 原型&#xff1a; int sscanf(const char *str, const char *format, ...); 返回&#xff1a; On success, these functions return the number of input items success‐ fully matched and assigned; this can be few…

钡铼技术ARM工控机在机器人控制领域的应用

ARM工控机是一种基于ARM架构的工业控制计算机&#xff0c;用于在工业自动化领域中进行数据采集、监控、控制和通信等应用。ARM&#xff08;Advanced RISC Machine&#xff09;架构是一种低功耗、高性能的处理器架构&#xff0c;广泛应用于移动设备、嵌入式系统和物联网等领域。…

如何使用内网穿透工具,将Tomcat网页发布到公共互联网上

文章目录 前言1.本地Tomcat网页搭建1.1 Tomcat安装1.2 配置环境变量1.3 环境配置1.4 Tomcat运行测试1.5 Cpolar安装和注册 2.本地网页发布2.1.Cpolar云端设置2.2 Cpolar本地设置 3.公网访问测试4.结语 前言 Tomcat作为一个轻量级的服务器&#xff0c;不仅名字很有趣&#xff0…