【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. 删除所有已退出的容器…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
调用支付宝接口响应40004 SYSTEM_ERROR问题排查
在对接支付宝API的时候,遇到了一些问题,记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
Linux 中如何提取压缩文件 ?
Linux 是一种流行的开源操作系统,它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间,使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的,要在 …...
【JVM面试篇】高频八股汇总——类加载和类加载器
目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...
Redis:现代应用开发的高效内存数据存储利器
一、Redis的起源与发展 Redis最初由意大利程序员Salvatore Sanfilippo在2009年开发,其初衷是为了满足他自己的一个项目需求,即需要一个高性能的键值存储系统来解决传统数据库在高并发场景下的性能瓶颈。随着项目的开源,Redis凭借其简单易用、…...
(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...
