当前位置: 首页 > news >正文

机器学习-基本知识

 任务类型

◼ 有监督学习(Supervised Learning) 每个训练样本x有人为标注的目标t,学习的目标是发现x到t的映射,如分类、回归。

◼ 无监督学习(Unsupervised Learning) 学习样本没有人为标注,学习的目的是发现数据x本身的分布规律,如聚类

◼ 半监督学习(Semi-Supervised Learning) 少量数据有标注,大部分数据没有标注,需设计合理的算法对未标注数据进行有效利用。

◼ 增强学习(Reinforcement Learning) 数据本身没有确切标注,学习基于系统和环境进行交互时得到的反馈信息。这一反馈可能是部分 的,可能是随机的,可能是即时的,可能是延时的。

常用数据类型:

1. 数值数据 2. 类别数据 3. 文本数据 4. 时序数据 5. 图像数据

特征工程:不同的数据类型有不同的特征提取技术,涉及使用领域知识、业务约束、 人工转换和数学转换的组合,将原始数据转换为所需的特征

一、数值数据

➢ 整数和浮点数是最常见和最广泛使用的数值型数据

➢ 尽管数值数据可以直接输入机器学习模型,但在构建模型之前,仍需要设计与场景、问题和 领域相关的特征。因此,特征工程的需求仍然存在。

特征工程方法

◼ 特定转换技术,如二值化、凑整、构造交互项、分箱、缩放等

◼ 统计转换技术,更改数值的总体分布,将偏态分布转换为正态分布,如对数转换、BOX-Cox转换

(1)二值化 (Binarization) 原始数据包含的指示特定属性的计数数据(如总计数、频率等数据),在一些 特定的应用中(构造推荐系统引擎),可进行二值化处理。即是否,是非,0-1判断

(2)凑整(Rounding) 通常,在处理百分比等数字属性时,可能不需要高精度的值。因此,将这些高精 度百分比四舍五入为整数数字更有意义。然后,这些整数可以直接用作原始数值, 甚至可以用作离散类特征。

(3)构造交互项(Interactions) 模型在建立时,试图将输出响应(离散类或连续值)建模为输入特征变量的函数,通常基于多个单 独的输入特征。在一些真实世界的数据集场景中,也可以尝试捕获这些特征变量之间的交互,作 为输入特征集的一部分。即两个变量或许可以相乘变成一个变量

(4)数据分箱(Binning) 通常,原始数据中某些特征值或频率的分布往往是倾斜的,如果直接使用具有多个数量级范围的 原始数字特征,在相似性度量、聚类距离、回归系数等指标可能会受到不利影响。有多种方法可以解 决这些影响,包括数据分箱、缩放或统计转换。

数据分箱:用于将连续数值转换为离散数值,离散数值被分组到箱,每个箱代表一个特定的等级,并 且有一个特定的取值范围,连续型数值依次归入到各个分箱。目前有多种数据分箱方法,包括:

➢ 固定宽度分箱

        固定宽度分箱中,每个bin都有一个预先固定的值范围,这些值根据一些业务或自定义逻辑、规 则或必要的转换确定。

        常见的固定分箱技术包括:

        - 基于舍入(rounding)操作分箱#取整数位20-29定位2

        - 基于自定义范围分箱#自定义宽度#可以定15

➢ 自适应分箱

固定分箱技术可能会导致不规则的箱子,有些箱子数据密集,有些箱子数据稀少,甚至是空箱。 自适应分箱是一种更可取的方法,它根据数据的分布本身来决定应该如何分箱。

常见的自适应分箱技术: - 基于分位数的分箱 (Quantile based binning)

(4)数值数据的统计转换技术

• 对数转换(Log Transform)#即y=\log x,底数可以任意取,当应用于倾斜分布时,对数变换很有用,因为它们倾向于扩展较低级数范围内的值,并倾向于压缩或减少较 高级数范围内的值,使偏态分布尽可能转换为正态分布。

• BOX-Cox转换#即

输出y是输入x和变换参数λ的函数,当λ=0时,得到的变换是自然对数变换。 λ的最佳值通常使用最大似然或对数似然估计来确定。

两种变换函数都属于幂变换函数族,通常用于创建单调数据转换,主要意义在于 稳定方差,严格遵守正态分布,并使数据独立于基于其分布的均值。也常用作特 征缩放操作。

二、类别数据

➢ 类别或类别标签本质上可以是文本,通常有两种类型的类别特征:名义特征和序数特征。

- 名义特征是指在特征的值之间排序没有意义,通常有一组有限的不同离散值组成

- 序数特征可以根据它们的值进行排序,它们的顺序是有特定意义的

类别数据的特征工程技术

➢ 数字表示:名义特征通常是字符串或文本格式,机器学习算法无法直接理解它们, 首先要将这些功能转换为更具代表性的数字格式表示

➢ 数据编码:独热编码、虚拟编码、特征哈希方案

#都相当于建立一个文本到数字的映射

类别特征的编码

虽然已经将类别变量转换并映射为数字表示,但如果将这些类别特征的转换数字表示直接输入到算法中, 该模型基本上会试图将其解释为原始数字特征,因此数量的概念将错误地引入模型中。同样,虽然顺序在 序数型变量中很重要,但这里没有大小的概念。因而,需要引入编码方案。

独热编码( One Hot Encoding )

假设有m个标签的类别特征的数字表示,独热编码方案将特征编码为m个二进制特征,其中只能包含1或0的 值。因此,分类特征中的每个观察值都被转换为大小为m的向量,其中只有一个值为1(表示处于活跃状态)。

编码较原来的数字表示加长了m-1倍,简化为多个0加一个1的形式的向量

哑变量编码( Dummy Encoding )

哑变量编码方案类似于独热编码方案,区别在于,当应用于具有m个不同标签的类别特征时,我 们得到m-1个二进制特征,忽略的特征通常由全零(0)的向量表示。因此,分类变量的每个值 都被转换成大小为m-1的向量。

进一步压缩,向量相比独热减少了一个项

3)特征哈希编码( Feature Hashing Scheme)

特征哈希方案是处理大规模类别特征的另一种有用的特征工程方案。特征哈希编码可以将输出视为一 组有限的h-bin,h的值可以指定,它成为每个类别特征的编码特征向量的最终大小。因此,即使我们在一 个特征中有1000多个不同的类别,并且我们设置h=6,输出特征集仍然只有6个特征

三、时序数据的特征工程

时序数据

时序数据涉及在一段时间内发生变化的数据集,基于时间的属性在这些数据集中至关重要, 如股票、天气预报、商品零售等多个领域。通常,时序属性包括某种形式的时间数据和时间戳值, 并且通常可选地包括其他元数据,如时区、夏令时信息等。

特征工程技术

➢ 字符串时间数据转换为时间戳对象

➢ 从时间戳对象中提取时序属性

(1)字符串时间数据转换为时间戳对象

调用pandas.Timestamp()转换为Timestamp对象

每个Timestamp对象都有多个组件,包括日期、时间、甚至基于时间的偏移量、时区信息等

提取时序属性 1)基于日期的特征 2)基于时间的特征 3)衍生特征

特征中的每一个都可以用作类别特征,并且可以进行进一步的特征工程,比如独热编码、聚合、分箱等

四、分类模型的预备知识

1. 分类定义

 分类是机器学习问题的子集,是整个监督学习领域的一个主要部分。

给定一个记录的集合(训练集)

- 每条记录用一个元组表示(x,y),其中x是属性的集合, y 是类标签

- 通过学习得到一个模型(函数),把每个属性集x映射到预先定义的类标签 y

2. 分类问题的不同类型

 二分类模型 输出变量中总共有两个类别需要区分

 多分类模型 有两个以上的类别需要分类。如预测手写数字,其中输出变量可 能是0到9之间的任意值。

 多标签分类 又称多目标分类,一次性地根据给定输入预测多个二分类目标, 例如预测给定的图片是一条狗还是一只猫,同时预测其毛皮是长还是短。

相关文章:

机器学习-基本知识

 任务类型 ◼ 有监督学习(Supervised Learning) 每个训练样本x有人为标注的目标t,学习的目标是发现x到t的映射,如分类、回归。 ◼ 无监督学习(Unsupervised Learning) 学习样本没有人为标注,学习的目的是发现数据x本身的分布规律&#xf…...

Xilinx 7 系列 1.8V LVDS 和 2.5V LVDS 信号之间的 LVDS 兼容性

如果通过LVDS进行接口,可以按照以程图中的步骤操作,以确保满足正确使用LVDS的所有要求。 40191 - 7 系列 - 1.8V LVDS 和 2.5V LVDS 信号之间的 LVDS 兼容性 与LVDS兼容驱动器和接收器连接时,7系列LVDS和LVDS_25输入和输出应该不存在兼容性问…...

R语言在生态环境领域中的实践技术应用

R语言作为新兴的统计软件,以开源、自由、免费等特点风靡全球。生态环境领域研究内容广泛,数据常多样而复杂。利用R语言进行多元统计分析,从复杂的现象中发现规律、探索机制正是R的优势。为此,以鱼类、昆虫、水文、地形等多样化的生…...

ChineseChess.2023.10.31.01

中国象棋残局模拟器:黑双卒压禁区 中国象棋残局模拟器ChineseChess.2023.10.31.01...

数据库扩展语句和约束方式以及用户管理

数据库扩展语句和约束方式以及用户管理 create TABLE if not exists ky32 ( id int(4) zerofill primary key auto_increment, name varchar(10) not null, cradid int(18) not null unique key, hobby varchar (50) ); auto_increment:表示该字段可以自增长&…...

JMM 简单理解

JMM 简单理解 1 Java 内存模型 Java 内存模型(Java Memory Model,JMM),主要为了屏蔽各种硬件和操作系统的内存差异,以实现让 Java 程序在各种平台下都能达到一致的内存访问效果,而设计的 2 工作内存与主内…...

微软Azure文本转音频,保存成MP3文件【代码python3】

标签: 文本转音频并保存mp3文件; 微软Azure; 微软Azure可以将文本转音频,并保存mp3文件,直接上代码 代码格式:python 3 import os import azure.cognitiveservices.speech as speechsdk# This example re…...

基于单片机的超声波探伤仪设计

摘要 超声波探伤仪是目前工业制造和现代化检测的重要途径之一,广泛的应用在质量检测和产品检测中,通过使用其产品能够有效地降低产品次品的风险。尽管随着电子技术的发展, 国内出现了一些数字化的超声检测仪器,但其数据处理及扩展…...

idea的设置

1.设置搜索encoding,所有编码都给换为utf-8 安装插件 eval-reset插件 https://www.yuque.com/huanlema-pjnah/okuh3c/lvaoxt#m1pdA 设置活动模板,idea有两种方式集成tomcat,一种是右上角config配置本地tomcat,一种是插件,如果使用插件集成,则在maven,pom.xml里面加上tomcat…...

高等数学啃书汇总重难点(八)向量代数与空间解析几何

持续更新,高数下第一章,整体来说比较简单,但是需要牢记公式,切莫掉以轻心~ 一.向量平行的充要条件 二.向量坐标的线性运算 三.向量的几何性质 四.数量积 五.向量积 六.混合积 七.曲面方程 八.空间曲线方程 九.平面的点法式方程 十…...

C#开发DLL,CAPL调用(CAPL>> .NET DLL)

文章目录 展示说明新建类库工程C# 代码生成dllCAPL脚本调用dll,输出结果展示 ret为dll里函数返回的值。 说明 新建类库工程 在visual studio中建立。 C# 代码 using...

0-1背包问题【穷举法+二维dp数组】

问题描述: 使用穷举法解决0/1背包问题。问题描述:给定n个重量为{w1, w2, … ,wn}、价值为{v1, v2, … ,vn} 的物品和一个容量为C的背包,求这些物品中的一个最有价值的子集,且要能够装到背包中。 穷举法:每件物品装还是…...

nodejs+vue+python+php基于微信小程序的在线学习平台设计与实现-计算机毕业设计

困扰管理层的许多问题当中,在线学习也是不敢忽视的一块。但是管理好在线学习又面临很多麻烦需要解决,例如:如何在工作琐碎,记录繁多的情况下将在线学习的当前情况反应给课程问题管理员决策,等等。 流,开发一个在线学习平台小程序一方面的可能会更合乎时宜,另一方面来…...

Spring学习笔记2 Spring的入门程序

Spring学习笔记1 启示录_biubiubiu0706的博客-CSDN博客 Spring官网地址:https://spring.io 进入github往下拉 用maven引入spring-context依赖 写spring的第一个程序 引入下面依赖,好比引入Spring的基本依赖 <dependency><groupId>org.springframework</groupId&…...

【Linux】虚拟机安装Linux、客户端工具及Linux常用命令(详细教程)

一、导言 1、引言 Linux是一个开源的操作系统内核&#xff0c;它最初由芬兰计算机科学家Linus Torvalds于1991年开发。Linux不同于传统的商业操作系统&#xff0c;它常用于服务器、嵌入式系统和个人电脑等各种平台。 Linux具有很多优点&#xff0c;包括稳定性、安全性和可定制…...

Day 47 动态规划 part13

Day 47 动态规划 part13 解题理解300674718 3道题目 300. 最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组 解题理解 300 dp[i]被设置为以nums[i]为结尾的最长递增子序列长度。 class Solution:def lengthOfLIS(self, nums: List[int]) -> int:if len(nums) …...

【广州华锐互动】飞机诊断AR远程指导系统为工程师提供更多支持

随着科技的发展&#xff0c;飞机的维护工作也在不断进步。其中&#xff0c;AR&#xff08;增强现实&#xff09;技术的应用使得远程运维成为可能。本文将探讨AR在飞机诊断远程指导系统中的应用&#xff0c;以及它对未来航空维护模式的影响。 AR远程指导系统是一种使用增强现实技…...

【贝叶斯回归】【第 2 部分】--推理算法

一、说明 在第一部分中&#xff0c;我们研究了如何使用 SVI 对简单的贝叶斯线性回归模型进行推理。在本教程中&#xff0c;我们将探索更具表现力的指南以及精确的推理技术。我们将使用与之前相同的数据集。 二、模块导入 [1]:%reset -sf[2]:import logging import osimport tor…...

【深入浅出汇编语言】寄存器精讲第二期

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;数据结构、算法模板、汇编语言 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. ⛳️物理地址二. ⛳️16位结构的CPU三. ⛳️8086CPU给出物理地址的方…...

如何保证分布式情况下的幂等性

关于这个分布式服务的幂等性,这是在使用分布式服务的时候会经常遇到的问题,比如,重复提交的问题。而幂等性,就是为了解决问题存在的一个概念了。 什么是幂等 幂等(idempotent、idempotence)是⼀个数学与计算机学概念,常⻅于抽象代数中。 在编程中⼀个幂等操作的特点是…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

【杂谈】-递归进化:人工智能的自我改进与监管挑战

递归进化&#xff1a;人工智能的自我改进与监管挑战 文章目录 递归进化&#xff1a;人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管&#xff1f;3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?

Otsu 是一种自动阈值化方法&#xff0c;用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理&#xff0c;能够自动确定一个阈值&#xff0c;将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

push [特殊字符] present

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