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

当大多数人听到 "机器学习 "时,他们会联想到机器人:一个可靠的管家或一个致命的终结者,这取决于你问谁。但是,机器学习并不只是未来主义的幻想,它已经存在了。事实上,在一些特殊的应用中,如光学字符识别(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.mzph.cn/news/79259.shtml

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

相关文章

upload-labs文件上传漏洞通关

一、环境搭建 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。 下载地址:https://github.com/c0ny1/upload-labs/releases 在 win 环境下 直接解压到phpstudy下即可 二、通关 (一)16关…

使用凌鲨进行聚合搜索

作为研发人员,我们经常需要在多个来源之间查找信息,以便进行研发工作。除了常用的搜索引擎如百度和必应之外,我们还需要查阅各种代码文档和依赖包等资源。这些资源通常分散在各个网站和文档库中,需要花费一定的时间和精力才能找到…

Redis缓存更新策略、详解并发条件下数据库与缓存的一致性问题以及消息队列解决方案

0、前言 我们知道,缓存由于在内存中,数据处理速度比直接操作数据库要快很多,因此常常将数据先读到缓存中,再进行查询、更新等操作。 但与之而来的问题就是,内存中的数据不仅没有持久化,而且需要保证…

如何在微软Edge浏览器上一键观看高清视频?

编者按:视频是当下最流行的媒体形式之一。但由于视频压缩、网络不稳定等原因,我们常常可以看到互联网上的很多视频其画面质量并不理想,尤其是在浏览器端,这极大地影响了观看体验。不过,近期微软 Edge 浏览器推出了一项…

linux命令查看谁在使用服务器的GPU

命令:查看GPU使用情况 nvidia-smi 可以知悉GPU占用情况和主要使用GPU的进程,如下图所示: 实时查看gpu使用: nvidia-smi -l 1 表示每隔1s刷新一下,数字可更改。 查看进程的归属者 方法一:ps -f -p pid…

发布文章到wordpress

给朋友新建的wp网站,没有内容怎么办,总不能一篇篇的挨个写入吧。用wp提供的录入模块就可以了 参考 wp说明文档 获取docx内容保存到wp 资料有个docx文件,但文件格式混乱,好在有目录,可以基于目录,对文章分割,用正则拆分存入wp 首先用pandoc把docx转为md文件,速度较慢,…

——二叉树

二叉树种类 二叉树有两种主要的形式:满二叉树和完全二叉树。 满二叉树 如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 完全二叉树 在完全二叉树中,除了最底层节点可能没…

开发者必看!NetMarvel 五大能力驱动【变现收益】增长飞轮

更多流量带来更多预算,再由更多预算驱动增长。这不仅是出海App增长变现的底层逻辑,也是程序化广告平台的运行法则。App出海之路走到今天,开发者已经意识到:应用内购是实现正向现金流的必要手段,接入广告平台获取广告收…

Spark on YARN 部署搭建详细图文教程

目录 一、引言 二、SparkOnYarn 本质 2.1 Spark On Yarn 的本质? 2.2 Spark On Yarn 需要啥? 三、配置 spark on yarn 环境 3.1 spark-env.sh 3.2 连接到 YARN 中 3.2.1 bin/pyspark 3.2.2 bin/spark-shell 3.2.3 bin/spark-submit (PI) 四、部署模式 DeployMod…

阿维塔30亿元融资背后:价格战再席卷,如何守住品牌底线?

造车新势力阿维塔近期消息不断。 8月31日,阿维塔宣布完成B轮融资,规模达到30亿元,投后估值近200亿元。随后的9月2日,阿维塔科技宣布8月共交付新车1975辆,略高于上月的1786辆,稳居30万以上纯电SUV头部阵营。…

从官方文档看Redis

一.核心能力 Redis 1.In-memory data structures 内存数据结构 Redis以"键值对" 的方式来存储数据, 是一种"非关系型数据库" ps: MySQL以"表"的方式来存储数据, 是一种"关系型数据库" 2.Programmability 可编程性 Redis可以用脚本…

遥感数据与作物模型同化应用:PROSAIL模型、DSSAT模型、参数敏感性分析、数据同化算法、模型耦合、精度验证等主要环节

查看原文>>>遥感数据与作物模型同化实践技术应用 基于过程的作物生长模拟模型DSSAT是现代农业系统研究的有力工具,可以定量描述作物生长发育和产量形成过程及其与气候因子、土壤环境、品种类型和技术措施之间的关系,为不同条件下作物生长发育及…

【UE 材质】力场护盾和冲击波效果

目录 效果 步骤 一、制作力场护盾材质 二、制作冲击波材质效果 三、制作冲击波粒子效果 四、制作震动效果 效果 步骤 一、制作力场护盾材质 1. 首先新建一个第一人称角色游戏模板 2. 新建一个材质,用于作为力场护盾的材质,这里命名为“Mat_for…

cms之wordpress主题安装

WordPress主题安装教程的方法有两种,分为在线安装和上传安装,下面是主题详细安装方法的步骤。 后台在线安装主题 从后台的主题界面在线安装主题是最方便的WordPress主题安装方式。方法如下: 1 在WordPress后台,转到外观→主题 …

本地部署CodeLlama +GTX1080显卡 对接open-interpreter对接wxbot(一)

1.效果展示 开源项目GitHub - oobabooga/text-generation-webui: A Gradio web UI for Large Language Models. Supports transformers, GPTQ, llama.cpp (GGUF), Llama models. "Code Llama" 是一个大型代码语言模型的系列,基于 "Llama 2" 构建,为编程…

进程属性/进程状态

task_struct-PCB的一种 在Linux中描述进程的结构体叫做task_struct。进程也叫任务 task_struct是Linux内核的一种数据结构,它会被装载到RAM(内存)里并且包含着进程的信息。 task_ struct内容分类 标示符: 描述本进程的唯一标示符,用来区别其他进程。 …

Mysql高级——索引创建和使用

索引的创建 1. 索引的声明与使用 1.1 索引的分类 MySQL的索引包括普通索引、唯一性索引、全文索引、单列索引、多列索引和空间索引等。 从功能逻辑上说,索引主要有 4 种,分别是普通索引、唯一索引、主键索引、全文索引。 按照物理实现方式&#xff…

一文带你走进软件测试的大门

目录 前言 需求 用户需求 软件需求 从测试人员的角度看需求 测试用例 测试环境 测试数据 预期结果 操作步骤 为什么要有测试用例 Bug的概念 世界上的第一个bug bug的定义 开发模型和测试模型 软件的生命周期 开发模型 瀑布模型 螺旋模型 增量、迭代 敏捷 …

C++--简单实现定长内存池

1.什么是定长内存池 在C/C中,动态申请内存都是通过malloc来申请的,但是实际上不是是直接从堆上直接申请的内存,而是通过malloc动态申请一大块内存,malloc就相当于一块内存池,然后分给程序使用,如果申请的内…

ResponseBodyAdvice 获取参数

废话不多说,简练,一针见血,解决问题,才是最好的。 首先肯定是重写了这个beforeBodyWrite方法 重点来了,获取请求参数: request.getBody()返回一个inputStream流,这里你可以 使用很多方法把这个…