机器学习-基本知识

news2024/11/15 21:49:59

 任务类型

◼ 有监督学习(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之间的任意值。

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

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

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

相关文章

ROS自学笔记二十: Gazebo里面仿真环境搭建

Gazebo 中创建仿真实现方式有两种:1直接添加内置组件创建仿真环境2: 手动绘制仿真环境 1.添加内置组件创建仿真环境 1.1启动 Gazebo 并添加组件 1.2保存仿真环境 添加完毕后,选择 file ---> Save World as 选择保存路径(功能包下: worlds 目录),文…

二维数组如何更快地遍历

二维数组如何更快地遍历 有时候,我们会发现,自己的代码和别人的代码几乎一模一样,但运行时间差了很多,别人是 AC \text{AC} AC,你是 TLE \text{TLE} TLE,这是为什么呢? 一个可能的原因是数组的…

延迟队列实现方案总结

日常开发中,可能会遇到一些延迟处理的消息任务,例如以下场景 ①订单支付超时未支付 ②考试时间结束试卷自动提交 ③身份证或其他验证信息超时未提交等场景。 ④用户申请退款,一天内没有响应默认自动退款等等。 如何处理这类任务,最…

http1,https,http2,http3总结

1.HTTP 当我们浏览网页时,地址栏中使用最多的多是https://开头的url,它与我们所学的http协议有什么区别? http协议又叫超文本传输协议,它是应用层中使用最多的协议, http与我们常说的socket有什么区别吗? …

2000-2021年上市公司产融结合度量数据

2000-2021年上市公司产融结合度量数据 1、时间:2000-2021年 2、指标:股票代码、年份、是否持有银行股份、持有银行股份比例、是否持有其他金融机构股份、产融结合 3、来源:上市公司年报 4、范围:上市公司 5、样本量&#xff…

4种类型WMS的简要说明

仓库管理系统(WMS)主要有四种类型:独立仓库管理系统、供应链管理系统中的仓库管理模块、ERP 系统中的仓库管理模块和基于云的仓库管理系统。 独立仓库管理系统 独立仓库管理系统提供的功能可实现日常仓库运营。公司可以使用WMS系统来监管和…

【MATLAB源码-第62期】基于matlab的DCSK(差分混沌移位键控调制)系统误码率仿真。

MATLAB 2022a 1、算法描述 DCSK(Differential Chaos Shift Keying)是一种差分混沌移位键控调制方式,常用于无线通信系统。其调制和解调的基本流程如下: 1. DCSK调制 1.1 生成混沌序列 - 初始条件:选择一个混沌映射&a…

『K8S 入门』一:基础概念与初步搭建

『K8S 入门』一:基础概念与初步搭建 一、kubernetes 组件 官方示图 抽象示图 Master 控制面板 Api-Server:接口服务,基于 REST 风格开放 k8s 接口的服务ControllerManager cloud-controller-manager:云控制管理器。第三方平…

Android图片加载框架库源码解析 - Coil

文章目录 一、什么是Coil二、引入Coil1、ImageView加载图片1.1、普通加载1.2、crossfade(淡入淡出)加载1.3、crossfade的动画时间1.4、placeholder1.5、error1.6、高斯模糊1.7、灰度变换1.8、圆形1.9、圆角 2、Gif加载3、SVG加载(不存在)4、视频帧加载5、监听下载过程6、取消下…

想翻译pdf文档,试了几个工具对比:有阿里(完全免费,快,好用,质量高,不用注册登录)道最好(有限免费) 百度(有限免费)和谷歌完全免费(网不好)

文档翻释作为基础设施,工作必备。 阿里 (完全免费,快,好用,质量高,不用注册登录,无广告)我给满分 https://translate.alibaba.com/#core-translation 先选好语言。 Google(完全免…

PDManer生成Postgis对应Schema数据库设计文档

项目开发数据库选择postGis,由于需要编写数据库设计说明书,因此选择工具PDManer生成数据库设计文档,但是postGis一个数据库,可能对应多个Schema。如下图所示: 1.编写数据库设计文档时,仅需编写hly这个Sche…

美妆造型教培服务预约小程序的作用是什么

美业市场规模很高,细分类目更是比较广,而美妆造型就是其中的一类,从业者也比较多,除了学校科目外,美妆造型教培机构也有生意。 对机构来说主要目的是拓客引流-转化及赋能,而想要完善路径却是不太容易&…

Ubuntu16.04 python matplotlib 坐标轴标签出现中文乱码

问题:坐标轴打印中文时,显示会乱码 import matplotlib.pyplot as plt plt.ylabel(时间刻度)原因:matplotlib里面没有中文字体解决方法:下载SimHei字体,快捷方法是使用everything直接在windows搜索simhei.ttf&#xff…

计算机基础知识41

前端 # 前端是所有跟用户直接打交道 比如:PC页面、手机页面、汽车显示屏,肉眼可以看见的 # 后端:一堆代码,用户不能够直接看到,不直接与用户打交道 常见的后端:Python、Java、Go等 # 学了前端就可以做全栈…

0004net程序设计-抗疫物资

文章目录 **摘** **要**目 录系统设计开发环境 摘 要 近些年来,随着科技的飞速发展,互联网的普及逐渐延伸到各行各业中,给人们生活带来了十分的便利,抗疫物资管理系统利用计算机网络实现信息化管理,使整个抗疫物资管理…

Kafka - 3.x 分区分配策略及再平衡不完全指北

文章目录 生产经验——分区分配策略及再平衡生产者分区分配之Range及再平衡Range分区策略原理Range分区分配策略及再平衡案例 生产者分区分配之RoundRobin策略及再平衡RoundRobin分区策略原理RoundRobin分区分配策略及再平衡案例 生产者分区分配之Sticky及再平衡Sticky分区策略…

网络协议--TCP的超时与重传

21.1 引言 TCP提供可靠的运输层。它使用的方法之一就是确认从另一端收到的数据。但数据和确认都有可能会丢失。TCP通过在发送时设置一个定时器来解决这种问题。如果当定时器溢出时还没有收到确认,它就重传该数据。对任何实现而言,关键之处就在于超时和重…

Android NDK开发详解之Android.mk探秘

Android NDK开发详解之Android.mk探秘 概览基础知识变量和宏NDK 定义的 include 变量CLEAR_VARSBUILD_EXECUTABLEBUILD_SHARED_LIBRARYBUILD_STATIC_LIBRARYPREBUILT_SHARED_LIBRARYPREBUILT_STATIC_LIBRARY 目标信息变量TARGET_ARCHTARGET_PLATFORMTARGET_ABI 模块描述变量LOC…

ubuntu下英伟达显卡驱动及cuda安装

一、查看显卡需要安装的cuda版本及需要的驱动版本 进入官网查看: CUDA 12.3 Release Notes 比如需要装cuda12.2GA需要驱动版本至少为535.54.03 二、下载显卡驱动 2.1 进入官网下载界面: Official Drivers | NVIDIA,点击Beta and older dr…

系列三十三、代理(三)动态代理

一、概述 在实际开发过程中,往往我们自己不会去创建代理类,而是通过JDK提供的Proxy类在程序运行时,运用反射机制动态创建而成,这就是所谓的动态代理。 1.1、动态代理 vs 静态代理 静态代理需要程序员自己写代理类,动态…