吃瓜教程第一二章学习记录

news2025/5/24 12:54:46

当大多数人听到 "机器学习 "时,他们会联想到机器人:一个可靠的管家或一个致命的终结者,这取决于你问谁。但是,机器学习并不只是未来主义的幻想,它已经存在了。事实上,在一些特殊的应用中,如光学字符识别(OCR)等,已经有了几十年的历史。但是第一个真正主流的ML应用是在20世纪90年代:垃圾邮件过滤器,它改善了数亿人的生活,并迅速得到了广泛的使用。它不完全是一个有自我意识的天网,但是严格来说,其技术上可以被称为机器学习(因为实际上它已经学得很好,你很少需要自己将邮件标记为垃圾邮件)。随后,又有数百个 ML应用现在已悄悄地为数百种产品和功能提供了动力,这些产品和功能包括你经常使用的,从推荐系统到语音搜索。

1.什么是机器学习

让计算机像人一样能从数据中学习出规律的一类算法。
人工智能>机器学习>深度学习
人工智能具体应用场景

  • 计算机视觉(Computer Vision,CV):
    指让计算机和系统能够从图像、视频和其他视觉输入中获取有意义的信息,并根据该信息采取行动或提供建议。
    什么是计算机视觉
  • 自然语言处理(Natural Language Processing,NLP):
    是计算机科学、人工智能和语言学领域的一个交叉学科,主要研究如何让计算机能够理解、处理、生成和模拟人类语言的能力,从而实现与人类进行自然对话的能力。通过自然语言处理技术,可以实现机器翻译、问答系统、情感分析、文本摘要等多种应用。
    什么是自然语言处理
  • 推荐系统(Recommender System,RS):
    推荐系统是一种信息过滤系统,手段是预测用户(user)对物品(item)的评分和偏好。
    推荐系统

数据决定模型的上限,而算法则是让模型无限逼近上限!
what:
研究关于一类能从数据中学习出其背后潜在规律的算法的一门学科。
机器学习的三要素
数据、算法、模型
“机器学习是让计算机像人类一样学习和行动的科学,通过以观察和现实世界互动的形式向他们提供数据和信息,以自主的方式改善他们的学习。”
why:
可以从事相关研究与开发,迁移到自己的研究领域
下面这个想法我觉得很稀奇很有意思我觉得你可以试一试读读它,把机器学习的过程比喻成炼丹,在过程感受艺术的美妙,在过程中感受人生哲理,在过程中寻找自己~
为什么建议人都学机器学习
how:
如何学习机器学习,每个人的方法也许不同,但Datawhale绝对是一个很好的学习社区!见过许多方法不是要很多钱就是需要很自觉但Datawhale真的是既免费又耐心又负责!
假设空间:
“由输入空间到输出空间的映射的集合”
我理解的假设空间是根据数据你自己假设出来的函数、算法和模型所构成的集合能较好的拟合该数据集。
版本空间:
版本空间就是与训练集一致的所有假设所构成的集合,也就是假设空间的一个最大子集,该子集内的每一个元素都不与训练集相冲突。
我理解的是因为训练样本数量有限,假设空间含有很多假设,最终筛选后有可能剩下多个假设是符合训练样本的,这些剩下的假设组成的集合就称为版本空间。

2、基本术语

数据集:表示包含m个样本的数据集。
算法:指的是从数据中学得“模型”的具体方法。如线性回归、决策树、支持向量机、神经网络等。
“算法产出的结果称为“模型””~
模型:在机器学习范式中,模型是指模型参数的数学表达式,以及分别用于回归,分类和加固类别的每个预测,类别和动作的输入占位符。
在机器学习中,模型是重心,一切都围绕模型旋转。尽管不同的人对模型有不同的定义。但是我认为,这是我们最好的定义模型的方法,“机器学习中的模型是试图拟合数据并学习预测未知数据的假设”。
例如样本是⼀堆好⻄⽠和坏⻄⽠时,我们默认的便是好⻄⽠和坏⻄⽠背后必然存在某种规律能将其区分开。
样本:也称为“示例”,是关于一个事件或对象的描述。
样本空间:表示样本的特征向量所在的空间为样本空间。
标记:机器学习的本质就是在学习样本在某个方面的表现是否存在潜在的规律,我们称为该方面的信息称为“标记”。
例如,一条西瓜样本:x=(青绿;蜷缩;清脆),y=好瓜。
标记空间:标记所在空间,每个输出也可以看做一个向量,也可叫做标记空间。
监督学习:监督学习是根据已有数据集,知道输入和输出结果之间的关系,然后根据这种已知关系训练得到一个最优模型,可以划分为回归和分类如k-近邻算法、决策树、朴素贝叶斯等。
**无监督学习:**需要用某种算法去训练无标签的训练集从而能让我们我们找到这组数据的潜在结构,k-均值聚类,BIRCH聚类,高斯混合模型(GMM)等
泛化:由于机器学习的⽬标是根据已知来对未知做出尽可能准确的判断,因此对未知事物判断的准确与否才是衡量⼀个模型好坏的关键,我们称此为泛化能⼒。
举个例子,高中生每天各种做题,五年高考三年模拟一遍遍的刷,为的什么,当然是想高考能有个好成绩。高考试题一般是新题,谁也没做过,平时的刷题就是为了掌握试题的规律,能够举一反三、学以致用,这样面对新题时也能从容应对。这种规律的掌握便是泛化能力,有的同学很聪明,考上名校,很大程度上是该同学的泛化能力好。

考试成绩差的同学,有这三种可能:一、泛化能力弱,做了很多题,始终掌握不了规律,不管遇到老题新题都不会做;二、泛化能力弱,做了很多题,只会死记硬背,一到考试看到新题就蒙了;三、完全不做题,考试全靠瞎蒙。机器学习中,第一类情况称作欠拟合,第二类情况称作过拟合,第三类情况称作不收敛。
在这里插入图片描述

分布:指的是概率论中的概率分布,通常假设样本空间服从⼀个未知分布,⽽我们收集到的每个样本都是独⽴地从该分布中采样得到,即独⽴同分布。通常收集到的样本越多,越能从样本中反推出的信息,即越接近真相。

众算法生而平等

  • 机器学习不是各种算法的堆砌,应当把它当做看待世界的世界观,解决问题的方法论,应该思考机器学习的思维方式而不是所谓的推导过程和各种细节,在掌握所有算法后忘记所有“招数”,融会贯通,整合甚至形成新的算法,无招胜有招。因为问题是无限的,算法是有限的,解决问题时,像裁缝一样量体裁衣,按需设计,度身定制,而不是生搬硬套,各种取巧和一劳永逸~
  • 在机器学习过程中,不要总问哪一种算法最好,哪一种评估方法最好,记住天下没有免费的午餐,具体问题具体对待,机器学习不是在求精确的最优解,而是概率上的近似正确解。

3、模型评估与选择

那么如何评估模型的优劣和选择最适合自己业务场景的模型呢?
如何评估模型的优劣
添加链接描述

3.1 经验误差与过拟合

名词解释:

  • 错误率:在这里插入图片描述
  • 精度:精度=1-错误率。
  • 误差:学习器的实际预测输出与样本的真实输出之间的差异。
  • 经验误差:学习器在训练集上的误差,又称为“训练误差”。
  • 泛化误差:学习器在新样本(测试集)上的误差。
  • 过拟合:是由于模型的学习能力相对于数据来说过于强大
  • 欠拟合:是因为模型的学习能力相对于数据来说过于低下
    根据大数定律,经验误差会收敛于泛化误差,两者(在一定容忍下)相近是由hoeffding不等式作为理论保证的,两者相差过大说明模型的欠拟合或者过拟合,而学习的一致收敛性说的正是这一特性:当训练集足够大,两者的结果就会足够相近,这样我们通过样本的“管中窥豹”的目的才能达到,最终才能获得一个目标假设。
    偏差大,说明模型欠拟合;方差大,说明模型过拟合
    经验误差与泛化误差欠拟合和过拟合

3.2评估方法

主要有3种模型评估方法:留出法、交叉验证法、自助法。
1.留出法
直接将数据集D划分为两个互斥集合S(训练集)和T(测试集)。D=S∪T,S∩T=∅,在S上训练出模型后,用T来评估测试误差,并将其作为泛化误差的估计。
举例:
采用方法:二分类任务
样本集:D包含1000个样本,其中500个正例,500个反例
S与T的划分方法:S包含700个样本,正例350,反例350;T包含300个样本,正例150,反例150
错误率与精度的计算:假设T上有90个样本分类错误,其错误率为(90/300)*100%=30%;精度为[(300-90)/300]*100%=1-30%=70%
补充:单次使用留出法得到的估计误差往往不够稳定,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。如对上述1000个样本,可反复随机划分S和T,使用模型方法后,计算精度,求取平均值。
2.交叉验证法
交叉验证法本质上是在进行多次留出法,且每次都换不同的子集做测试集,最终让所有样本均至少做1次测试样本。
在样本量足够大的理想情况下,应当把数据集分割为三部分:训练集(training set)、验证集(validation set)和测试集(testing set),分别用于模型训练、模型选择和模型评估,用于评估模型泛化能力的测试集只出现在最后的模型评估环节。但很多时候数据不够充足,这种时候可以取消验证集,采用交叉验证方法,通过反复划分训练集和测试集来避免用同一批数据训练和评估一个模型,相当于将验证集和测试集合二为一了。
算法参数是指算法本身的一些参数(也称超参数),例如k近邻的近邻个数k、支持向量机的参数C,算法配置好相应参数后进行训练,训练结束会得到一个模型,例如支持向量机最终会得到w和b的具体数值(此处不考虑核函数),这就是模型参数,模型配置好相应模型参数后即可对新样本做预测。
模型的评估方法
模型评估(model assessment)是指对于一种具体方法输出的最终模型,使用一些指标和方法来评价它的泛化能力。
混淆矩阵,F1score
3.自助法
给定包含m个样本的数据集D,对其进行采样产生数据集D‘:每次随机从D中挑选一个样本,将其拷贝到D‘,然后将该样本放回到D中,使该样本在下次采样中人可能被采到;重复m次后,便得到了包含m个样本的数据集D‘。
举例:
采用方法:二分类任务
采样集:D包含1000个样本,其中500个正例,500个反例
S和T的划分方法:
随机可放回的抽取700个样本作为训练集,在这700个样本中会存在重复的样本。其中样本在700次采样中始终不被采到的概率为(1-1/700)700=0.3676。(当采样数为m时,始终不被采到的某样本概率为(1-1/m)m,取极限得到limm→∞(1-1/m)^m→1/e≈0.368)。
测试集中有0.36概率的样本未在训练集中出现,可选择D\D’中的300个样本作为测试集。并计算测试集中模型的精度。
补充:自助法在数据集较小,难以有效划分训练和测试集时方法较为有用。但通过自助法产生的数据集改变了初始数据集的分布,会出现估计偏差.
参考

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

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

相关文章

Redis:分布式锁误删原因分析

一、线程阻塞 例如,线程一获取分布式锁,但是线程一阻塞时间过长,导致锁超时释放。此时线程二获取分布式锁。当线程一阻塞结束后,释放分布式锁,但是释放的却是线程二的锁。此时线程二就不安全了,线程三也可…

TypeScript——泛型理论与实践

1. 简介 软件工程的一个重要部分就是构建组件,组件不仅需要有定义良好和一致的 API,还需要是可复用的。好的组件不仅能够兼容现有的数据类型,也能适用于未来可能出现的数据类型,这在构建大型软件系统时会有很大的灵活度以及很高的…

Android嵌套事务

这时候旋转设备还是会重置秒表。旋转设备时Android会重新创建活动。如果你的活动包含一个 < fragment >元素&#xff0c;每次重新创建活动时&#xff0c;它会重新插入片段的一个新版本。老片段被丢掉&#xff0c;所有实例变量会设置其初始值。在这个特定的例子中&#xf…

基于微信小程序的“共享书角”图书借还管理系统(springboot+vue)

为设计一个安全便捷&#xff0c;并且使借阅者更好获取本图书借还信息&#xff0c;本文主要有安全、简洁为理念&#xff0c;实现借阅者快捷寻找图书借还信息&#xff0c;从而解决图书借还信息复杂难辨的问题。该系统以springboot架构技术为基础&#xff0c;采用Java语言和MySQL数…

家政服务预约小程序,推拿spa上门预约系统

家政服务预约小程序&#xff0c;用户直接发布需求下单&#xff0c;师傅入驻抢单派单&#xff0c;多商家入驻&#xff0c;上门预约服务流程清晰&#xff0c;适合家政公司或需要预约场景的团队公司使用&#xff0c;支持多种行业上门预约服务场景&#xff1a;家政保洁维修上门服务…

CISP认证介绍(CISECISO)

0x00 前言 CTF 加解密合集CTF Web合集网络安全知识库溯源相关 文中工具皆可关注 皓月当空w 公众号 发送关键字 工具 获取 0x01 什么是CISP CISP &#xff08;Certified Information Security Professional&#xff09; 注册信息安全专业人员资格认证&#xff0c;由中国信息…

几个好用的数据标注软件labelme、CVAT及LabelImage

我们使用yolov3、yolov4、yolov5、yolov8等训练自己的权重时&#xff0c;需要有大量标注好的数据集&#xff0c;这里有几个好用的数据标注软件labelme、CVAT及LabelImage 一、labelme labelme&#xff1a;https://github.com/wkentaro/labelme 这个软件用的比较多&#xff0c…

介绍Spring MVC框架,以及如何使用它构建Web应用程序。

文章目录 什么是 Spring MVC&#xff1f;Spring MVC 的工作原理如何使用 Spring MVC 构建 Web 应用程序配置 Spring MVC创建控制器创建视图配置 Spring MVC 配置文件运行应用程序 总结 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;CSDN新晋作者 &#x1f389;欢…

baichuan-53B VS ChatGLM-6B对比

由于百川智能的内测模型是baichuan-53B&#xff0c;尽管模型大小不一致&#xff0c;为了方便&#xff0c;我们仍然选择百川智能baichuan-53B与ChatGLM-6B内测结果进行对比&#xff0c;其中ChatGLM-6B的结果来自https://github.com/THUDM/ChatGLM-6B&#xff0c;假设ChatGLM-6B的…

Spring (2) AOP

目录 1 代理(Proxy)模式 1.1 静态代理 1.2 动态代理 1.2.1 基于接口的动态代理 1.2.2 基于子类的动态代理 2 AOP 2.1 注解开发 1 代理(Proxy)模式 一种设计模式,它的作用是通过提供一个代理类,让我们在调用目标方法的时候,不再是直接调用,而是通过代理类间接调用 1.1 静…

可降阶的高阶方程与高阶线性微分方程

目录 可降阶的高阶方程 高阶线性微分方程 齐次方程 非齐次方程 常系数齐次线性微分方程 常系数非齐次线性微分方程 可降阶的高阶方程 我们需要先理解什么是可降解的高阶微分方程。可降解的高阶微分方程是指可以转化为低阶微分方程的方程。 例如&#xff0c;以下是一个二阶…

docker 获取Nvidia 镜像 | cuda |cudnn

本文分享如何使用docker获取Nvidia 镜像&#xff0c;包括cuda10、cuda11等不同版本&#xff0c;cudnn7、cudnn8等&#xff0c;快速搭建深度学习环境。 1、来到docker hub官网&#xff0c;查看有那些Nvidia 镜像 https://hub.docker.com/r/nvidia/cuda/tags?page2&name11.…

高德地图实现-逆地理编码-输入提示-地图标点-实现车库管理

效果图&#xff1a; 我们将学习如何创建一个前端地图应用程序&#xff0c;该应用程序集成了高德地图API&#xff0c;允许用户进行地点搜索、选择和标记&#xff0c;以及执行逆地理编码以获取地址信息。我们将使用Vue.js框架来构建应用程序&#xff0c;并结合高德地图的功能来实…

.NET Upgrade Assistant 升级 .NET MAUI

.NET Upgrade Assistant 是一种可帮助您将应用程序升级到最新的 .NET版本 的工具&#xff0c;并且您可以使用这个工具将您的应用程序从旧平台&#xff08;例如 Xamarin Forms 和 UWP&#xff09;迁移到新的平台。此外&#xff0c;这个新版本的工具&#xff0c;可以让您在不更改…

C++ - map 和 set 使用介绍

简介 其实在map 和 set 的底层实现当中有差不多一半的 结构是使用 二叉搜索树来实现&#xff0c;关于二叉搜索树可以看下面这个篇博客&#xff1a;C - 搜索二叉树_chihiro1122的博客-CSDN博客 而 set 是 key 模型&#xff0c;他是直接按照 key 值大小来有规律的在 二叉搜索树当…

pyG教程

introduction中ShapeNet失效问题解决 首先用github中官方最新的shapenet.py中文提示手动下载数据压缩包 # In case shapenet.cs.stanford.edu is offline, try to download the data# from Kaggle instead (requires login):# https://www.kaggle.com/datasets/mitkir/shapene…

提升网速 网卡和驱动

去某宝下单了&#xff0c;是网卡和驱动的问题&#xff08;某宝说网卡和驱动是一个意思&#xff09;。以下是操作步骤。 更新驱动程序后从联想官网下载本台电脑对应的驱动 下载可以识别自己主机编号的软件-主机信息识别工具 然后获取编号 然后下载自己的有线网卡

探索装饰艺术的未来,留存传统的精髓

近一个世纪后&#xff0c;装饰艺术终于卷土重来。正如我们在全球新的项目、室内空间和家具中所看到的&#xff0c;那种令我们渴望20世纪初20年代繁荣时期的奢华和魅力。作为装饰艺术建筑和设计的独特身份一直在世界上继续启发着人们&#xff0c;那么从新的设计和现有设计的保留…

5.linux的定时任务调度crontab

一、定时任务调度crontab 1. 定时任务调度crond介绍 ①任务调度&#xff1a;系统在某个时间执行特定的命令和程序 ②任务调度分类&#xff1a;系统工作&#xff08;病毒扫描&#xff09;&#xff0c;用户工作&#xff08;备份mysql数据库&#xff09; 2.定时任务调度crond原…

C++项目实战——基于多设计模式下的同步异步日志系统-⑤-实用工具类设计

文章目录 专栏导读获取系统时间time介绍 getTime函数设计判断文件是否存在stat介绍exists函数设计 获取文件所在路径find_last_of介绍path函数设计 创建文件所在目录mkdir介绍find_first_of介绍函数createDirectory设计 实用工具类整理 专栏导读 &#x1f338;作者简介&#xf…