【NLP 2、机器学习简介】
人生的苦难不过伏尔加河上的纤夫
—— 24.11.27
一、机器学习起源
机器学习的本质 —— 找规律
通过一定量的训练样本找到这些数据样本中所蕴含的规律
规律愈发复杂,机器学习就是在其中找到这些的规律,挖掘规律建立一个公式,导致对陌生的数据一样可以起到判断效果
机器学习就是从数据中找到这个公式(规律、函数、映射)的过程
机器预测就是用这个公式去推断未知数据的过程
通过已知的样本,寻找其中所蕴含的规律,根据规律得出一个公式,然后再用公式推导其他未知样本数据的信息
二、机器学习应用
很多时候我们都会得到一些数据,我们希望从其中找到数据间的规律,但是有些复杂的规律我们无法得到,所以可以依托机器帮助我们挖掘这些数据间的规律
例:
① 知道花朵的大小、颜色、型状等信息,我们判断未知花朵的类别
② 知道身体健康信息,如血压、血糖等指标,来判断人体是否健康,是否患病
③ 知道房屋的大小、年份、地理位置等信息,来预测该房的房价是多少
④ 知道企业的业务、规模等市场信息,来预测该公司的股价
⑤ 知道国家的人口、科技水平、GDP、经济发展情况,来预测国家未来的GDP
规律及公式是由我们给出一个初始值,然后通过机器在数据间学习的成果,我们对公式中的具体参数进行调整、优化
三、机器学习的分类
1.有监督学习
模型通过学习输入数据和数据对应的输出标签之间的关系来进行训练。
模型在训练过程中有明确的指导,知道每个输入数据对应的正确输出是什么。
核心目标
建立一个模型/函数,来描述带标签的已知数据的输入与输出间内含的映射关系
价值
对于新的未知输入数据,通过模型给出预测的输出结果
有监督学习中,训练数据十分重要,因为训练数据不足的话,无法从样本数据中提出正确的规律,也就无法正确进行预测
要点
① 一定数量的训练样本
② 输入和输出之间必须要有关联关系(决定性条件)
③ 输入和输出结果要能够转化为数字/数值(数值化表示),机器才能从中进行学习
④ 任务需要有预测价值(固定规则的不用预测)
有监督学习在人工智能中的应用
① 文本分类任务
输入:文本
输出:类别
关系:文本的内容决定了文本的类别
② 机器翻译内容
输入:A语种文本
输出:B语种文本
关系:A语种表达的意思,B语种中有相应的表达
③ 图像识别任务
输入:图像
输出:类别
关系:图像中的像素排列,决定了图像的内容
④ 语音识别任务
输入:音频
输出:文本
关系:声音信号在特定语言中对应特定的文本
2.无监督学习
数据中只有X(数据)没有Y(对应的标注),给予机器的数据没有标注信息,通过算法对数据进行一定的自动分析处理,得到一些结论,常见任务有:聚类、降维、找特征值等等
聚类
数据只有点(X)没有对应的标注(Y),将数据在空间中分布靠近的点划分在一组/类
降维
将一个高维数据,用一种方法,让每个数据进行低维表示,他们在降维后空间中的分布与降维前在空间中的分布比较接近(维度降低,空间中的分布不变)
3.半监督学习
半监督学习是有监督学习和无监督学习之间的一种机器学习方式,将有监督学习和无监督学习结合起来,先利用无监督学习得到一些信息,再通过无监督学习得到的数据信息进行有监督学习,或者先对一些数据做有监督学习,将这些数据处理完后再做无监督学习,然后共同得到一种有意义的规律
4.自监督学习
数据中有数据X也有对应标注Y,但是对应标注Y由数据自身在训练过程中进行生成,不需要提前给出
现大多与无监督学习混用,但其实存在区别,自监督模型中学习数据的特征自动产生,相当于数据自身就是自身的标注,不需要人来标识数据,而无监督学习中数据的特征没有标注特征
5.有监督、无监督、半监督、自监督学习的区别
有监督学习是根据已知数据提供的数据特征,建立模型/算法,再用建立的模型/算法预测未知数据
无监督学习不需要数据特征,通过算法对未知数据自动分析处理提取特征,得出一些结论
自监督学习需要数据特征,但是由数据自动产生,不需要我们主动提供
半监督学习是将无监督学习和有监督学习融合起来,先后进行学习,得到一种有意义的规律
四、机器学习一般流程
训练数据 ——> 数据处理 ——> 选择处理的算法 ——> 训练数据(建模&评估)——> 反复进行优化 ——> 将模型输出
模型 == 函数 == 公式
五、机器学习常用概念
1.训练集
用于训练模型,是模型训练的训练数据集合
将训练集中的数据与测试集中的数据尽量分开
例:一般而言一百条数据,八十条用于训练,十条用于验证,十条用于测试(现常将验证集与测试集合体到验证集,直接在验证集进行测试模型效果),尽量保证训练集与测试 / 验证集无重合
2.验证集
对于每一种任务一般都有多种算法可以来选择,一般会使用验证集验证用于对比不同算法的效果差异
3.测试集
最终用于评判算法模型效果的数据集合
4.K折交叉验证(K fold cross validation)
初识采样分割成K个子样本,一个单独的子样本被保留作为验证模型的数据,其他K-1个样本用于训练。交叉验证重复K次(用这K个数据分别每个当作验证测试集,其余的作为训练集,最终求平均值),每个子样本验证一次,平均K次的结果
5.过拟合
模型失去了泛化能力,在特定的集合上表现很好,在新的集合上表现很差(模型在训练集和验证集上都有很不错的表现,但在测试集上的表现很差)
将测试集与训练集分开是预防发生过拟合现象
6.欠拟合
模型没能建立起合理的输入输出间的映射。当输入训练集中的样本时,预测结果与标注结果依然相差很大(由于训练数据过少,在训练数据上就没有找到好的规律,也就无法预测新样本数据)。
过拟合与欠拟合都与训练数据不足 / 选用的处理算法不当有关
7.评价指标
为了评估算法效果的好坏,需要找到一种评价模型效果的计算指标,根据不同的任务会使用不同的评价指标,常用的评价指标有:
① 准确率 ② 召回率 ③ F1值 ④ TopK ⑤ BLEU
相关文章:

【NLP 2、机器学习简介】
人生的苦难不过伏尔加河上的纤夫 —— 24.11.27 一、机器学习起源 机器学习的本质 —— 找规律 通过一定量的训练样本找到这些数据样本中所蕴含的规律 规律愈发复杂,机器学习就是在其中找到这些的规律,挖掘规律建立一个公式,导致对陌生的数…...

数据结构与算法——N叉树(自学笔记)
本文参考 N 叉树 - LeetBook - 力扣(LeetCode)全球极客挚爱的技术成长平台 遍历 前序遍历:A->B->C->E->F->D->G后序遍历:B->E->F->C->G->D->A层序遍历:A->B->C->D->…...

【趣味升级版】斗破苍穹修炼文字游戏HTML,CSS,JS
目录 图片展示 开始游戏 手动升级(满100%即可升级) 升级完成,即可解锁打怪模式 新增功能说明: 如何操作: 完整代码 实现一个简单的斗破苍穹修炼文字游戏,你可以使用HTML、CSS和JavaScript结合来构建…...
【Oracle】个人收集整理的Oracle常用SQL及命令
【建表】 create table emp( id number(12), name nvarchar2(20), primary key(id) ); 【充值一】 insert into emp select rownum,dbms_random.string(*,dbms_random.value(6,20)) from dual connect by level<101; 【充值二】 begin for i in 1..100 loop inser…...
Linux内核4.14版本——ccf时钟子系统(5)——通用API
1. clk_get 1.1 __of_clk_get_by_name 1.2 clk_get_sys 2. clk_prepare_enable 2.1 clk_prepare 2.2 clk_enable 3. clk_set_rate 1. clk_get clock get是通过clock名称获取struct clk指针的过程,由clk_get、devm_clk_get、clk_get_sys、of_clk_get、of_clk_g…...

安装MySQL 5.7 亲测有效
前言:本文是笔者在安装MySQL5.7时根据另一位博主大大的安装教程基础上做了一些修改而成 首先在这里表示对博主大大的感谢 下面附博主大大地址 下面的步骤言简意赅 跟着做就不会出错 希望各位读者耐下心来 慢慢解决安装中出现的问题~MySQL 5.7 安装教程(全…...

《Django 5 By Example》阅读笔记:p455-p492
《Django 5 By Example》学习第 16 天,p455-p492 总结,总计 38 页。 一、技术总结 1.myshop (1)打折功能 使用折扣码实现,但是折扣码是手动生成的,感觉实际业务中应该不是这样的。 (2)推荐功能 使用 Redis 做缓存࿰…...

Element-UI 官网的主题切换动画
文章目录 实现圆形扩散过渡动画 实现一下 Element-UI 官网的主题切换动画加粗样式 实现 首先我们起一个 html 文件,写一个按钮,以及简单的背景颜色切换,来模拟主题的切换 想要实现过渡效果,需要先用到一个 JavaScript 的原生方…...
Golang 构建学习
Golang 构建学习 如何搭建Golang开发环境 1. 下载GOlang包 https://golang.google.cn/dl/ 在地址上下载Golang 2. 配置包环境 修改全局环境变量,GOPROXY,GOPATH,GOROOT GOPROXYhttps://goproxy.cn,direct GOROOT"" // go二进…...

VM Virutal Box的Ubuntu虚拟机与windows宿主机之间设置共享文件夹(自动挂载,永久有效)
本文参考如下链接 How to access a shared folder in VirtualBox? - Ask Ubuntu (1)安装增强功能(Guest Additions) 首先,在网上下载VBoxGuestAdditions光盘映像文件 下载地址:Index of http://…...

分析 系统滴答时钟(tickClock),设置72MHz系统周期,如何实现1毫秒的系统时间?
一、CubeMX相关配置 1.1 相关引脚配置 1.2 相关时钟数配置 1.3 打开程序源码 二、相关函数分析...

C++优选算法十七 多源BFS
1.单源最短路问题 一个起点一个终点。 定义:在给定加权图中,选择一个顶点作为源点,计算该源点到图中所有其他顶点的最短路径长度。 2.多源最短路问题 定义:多源最短路问题指的是在图中存在多个起点,需要求出从这些…...
Mongodb入门到放弃
Mongodb分片概括 分片在多台服务器上分布数据的方法, Mongodb使用分片来支持具有非常大的数据集和高吞吐量的操作的部署 具有大数据集和高吞吐量应用程序的数据库系统,可以挑战单台服务器的容量。 例如,高查询率可以耗尽服务器的cpu容量&…...

青藤云安全携手财信证券,入选金融科技创新应用优秀案例
11月29日,由中国信息通信研究院主办的第四届“金信通”金融科技创新应用案例评选结果正式发布。财信证券与青藤云安全联合提交的“基于RASP技术的API及数据链路安全治理项目”以其卓越的创新性和先进性,成功入选金融科技创新应用优秀案例。 据悉&#x…...
在CentOS系统中安装工具包的时候报错的解决方法
我刚装了一个新的虚拟机,打算安装一些工具出现了错误信息 执行的命令如下: yum install -y yum-utils device-mapper-persistent-data lvm2错误信息如下 Cannot find a valid baseurl for repo: base/7/x86_64搜索了一下原因有好几种。 一是网络不通…...

cad软件打不开报错cad acbrandres dll加载失败
一切本来很顺利哒 但是,当我用快捷方式打开时,就出现了这个错误。进入文件路径,是有这个的; 在文件路径直接打开,也会提示错误 原因竟然是我改了个名字: 随便选的文件路径,空的,文件名为Acr…...

14、保存与加载PyTorch训练的模型和超参数
文章目录 1. state_dict2. 模型保存3. check_point4. 详细保存5. Docker6. 机器学习常用库 1. state_dict nn.Module 类是所有神经网络构建的基类,即自己构建一个深度神经网络也是需要继承自nn.Module类才行,并且nn.Module中的state_dict包含神经网络中…...
【前端开发】JS+Vuew3请求列表数据并分页
应用技术:原生JavaScript Vue3 $(function () {ini(); });function ini() {const { createApp, ref, onMounted } Vue;createApp({setup() {const data ref({studentList: [],page: 1,pageSize: 10,});const getStudentList async (page, key) > {window.ons…...

Trimble X12助力电力管廊数据采集,为机器人巡视系统提供精准导航支持
地下电缆是一个城市重要的基础设施,它不仅具有规模大、范围广、空间分布复杂等特点,更重要的是它还承担着信息传输、能源输送等与人们生活息息相关的重要功能,也是一个城市赖以生存和发展的物质基础。 01、项目概述 本次项目是对某区域2公里左…...
Docker 清理镜像策略详解
文章目录 前言一、删除 Docker 镜像1. 查看当前镜像2. 删除单个镜像3. 删除多个镜像4. 删除所有未使用的镜像5. 删除悬空的 Docker 镜像6. 根据模式删除镜像7. 删除所有镜像 二、删除 Docker 容器1. 查找容器2. 删除一个或多个特定容器3. 退出时删除容器4. 删除所有已退出的容器…...

Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
Spring Boot面试题精选汇总
🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

PL0语法,分析器实现!
简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机
这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...

push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...

二叉树-144.二叉树的前序遍历-力扣(LeetCode)
一、题目解析 对于递归方法的前序遍历十分简单,但对于一位合格的程序猿而言,需要掌握将递归转化为非递归的能力,毕竟递归调用的时候会调用大量的栈帧,存在栈溢出风险。 二、算法原理 递归调用本质是系统建立栈帧,而非…...
无需布线的革命:电力载波技术赋能楼宇自控系统-亚川科技
无需布线的革命:电力载波技术赋能楼宇自控系统 在楼宇自动化领域,传统控制系统依赖复杂的专用通信线路,不仅施工成本高昂,后期维护和扩展也极为不便。电力载波技术(PLC)的突破性应用,彻底改变了…...