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

机器学习——期末复习 重点题归纳

第一题

问题描述

现有如下数据样本:

编号色泽敲声甜度好瓜
1乌黑浊响
2浅白沉闷
3青绿清脆
4浅白浊响

(1)根据上表,给出属于对应假设空间的3个不同假设。若某种算法的归纳偏好为“适应情形尽可能少”,则该算法喜欢选择哪些“判断为好瓜”的假设?

(2)若该数据包含噪声,则假设空间中有可能不存在与所有训练样本都一致的假设。在此情形下设计一种合理的归纳偏好用于假设选择。

回答

(1)假设空间中的三个不同假设
  • 假设1:色泽 = 乌黑 ∧ 敲声 = 浊响 ∧ 甜度 = 高 → 好瓜
  • 假设2:色泽 = 青绿 ∧ 敲声 = 清脆 ∧ 甜度 = 中 → 好瓜
  • 假设3:色泽 ≠ 浅白 ∧ 敲声 ≠ 沉闷 ∧ 甜度 ≠ 低 → 好瓜

如果算法的归纳偏好是“适应情形尽可能少”,那么它会选择那些能够覆盖最少正例的假设。在这种情况下,算法可能会选择以下两个假设:

  • 假设1:色泽 = 乌黑 ∧ 敲声 = 浊响 ∧ 甜度 = 高 → 好瓜
  • 假设2:色泽 = 青绿 ∧ 敲声 = 清脆 ∧ 甜度 = 中 → 好瓜

这两个假设分别只覆盖了一个正例,因此它们满足“适应情形尽可能少”的要求。

(2)合理的设计归纳偏好

在存在噪声的情况下,假设空间中可能没有一个假设能完全匹配所有的训练样本。此时可以采用以下几种归纳偏好来选择合适的假设:

  • 最小化错误率:选择使得预测错误率最低的假设。
  • 最大化置信度:选择对正例和负例分类最准确的假设。
  • 简化原则:选择最简单的假设,即参数最少或规则最简洁的假设。

这些归纳偏好可以帮助在有噪声的数据集中找到相对较好的假设。

第二题

问题描述

假设由同一数据分布采样得到两个样本集合 S1 和 S2:

  • S1 包含 6000 个数据样本;
  • S2 包含 120000 个数据样本。

每个样本集均按照 9:1 的比例随机划分为训练集和测试集。请按以下要求,在同一坐标系下清晰地绘制四条曲线,并标记每一条曲线:

  1. 对于每个样本集合,试画出该集合的训练误差曲线和测试误差曲线;纵轴为误差,横轴为模型复杂度。(5 分)
  2. 解释曲线为何这样画的原因,即解释不同曲线的变化趋势以及曲线间的高低位置关系。(5 分)

回答问题

1. 绘制曲线

在这里插入图片描述

2. 曲线变化原因及位置关系
  • 训练误差曲线:随着模型复杂度的增加,模型拟合能力增强,导致训练误差逐渐减小。当模型过拟合时,训练误差会趋于平稳。

  • 测试误差曲线:随着模型复杂度的增加,测试误差先下降是因为模型泛化能力提高。然而,当模型过于复杂时,会出现过拟合现象,导致测试误差再次升高。

  • S1 和 S2 曲线比较:由于 S2 样本量更大,其训练误差和测试误差都会比 S1 更低。同时,S2 的最佳模型复杂度也会更高,因为更多的数据有助于避免过拟合。

通过以上分析,我们可以在同一坐标系下绘制出四条曲线,并解释它们的变化趋势及其相互之间的位置关系。

第三题

问题描述

试简述离群点的基本概念并列出三种应对策略

离群点的基本概念

离群点是远离大部分数据点的点。

应对策略

以下是三种应对离群点的常见策略:

A1:只需忽略这些异常值即可。
A2:转换/归一化:应用平方根或取log,以使x/y的值更小,然后离
群值将更靠近大多数数据点。
A3:引入非线性项:y = b + w1x +w2x2。

第四题

问题描述

给定一个含有缺失值的西瓜数据集,其中前10个样本作为训练集,后5个样本作为验证集。数据集包括编号、色泽、敲击声音、根蒂和是否为好瓜五个属性。任务是在决策树的根节点处基于信息增益原则选择最优划分属性,并讨论预剪枝策略下的决策。

数据集

编号色泽敲击声音根蒂是否为好瓜
1乌黑浊响蜷缩
2-沉闷蜷缩
3青绿-稍蜷
4乌黑浊响蜷缩
5青绿清脆稍蜷
6浅白清脆硬挺
7-沉闷-
8浅白清脆硬挺
9-清脆硬挺
10青绿--
11青绿浊响稍蜷
12浅白清脆稍蜷
13乌黑沉闷蜷缩
14浅白沉闷硬挺
15青绿清脆稍蜷

回答

(1) 决策树的根节点处的选择
计算过程略
信息增益计算
  • 色泽:考虑色泽为乌黑、青绿、浅白的样本。
  • 敲击声音:考虑敲击声音为浊响、清脆、沉闷的样本。
  • 根蒂:考虑根蒂为蜷缩、稍蜷、硬挺的样本。

对于每一个属性,我们需要计算在该属性不同取值下的条件熵,然后计算信息增益。

最终,选择信息增益最大的属性作为根节点的划分属性。

(2) 预剪枝策略下的决策

第五题

题目要求设计一种高效、合理的方案,利用m台机器实现分布式聚类算法。具体来说,需要考虑如何将数据样本划分到每台机器上,并且如何汇总处理每台机器的计算结果。

设计方案

假设我们有m台机器,数据样本为D,特征维度为p,簇类别数为k。

  1. 初始化

    • 随机选择k个初始簇中心。
    • 将数据样本随机划分为m份,分别存储在m台机器上。
  2. 本地聚类

    • 每台机器执行以下操作:
      • 使用当前的簇中心对本地数据进行聚类。
      • 更新本地的簇中心。
  3. 同步与更新

    • 各台机器将自己的簇中心信息发送给主控机。
    • 主控机收集所有簇中心信息,计算新的全局簇中心。
    • 将新的全局簇中心广播给所有机器。
  4. 迭代优化

    • 重复步骤2和步骤3,直到簇中心收敛或达到最大迭代次数。
  5. 结果汇总

    • 根据最终的簇中心,对整个数据集进行重新分配,确定每个样本所属的簇。
    • 返回聚类结果。

通过这种方式,可以在多台机器上并行地执行聚类任务,有效地处理大数据场景下的聚类问题。

第六题

问题

六、Boosting 算法是一种常用的集成算法,试回答以下问题。(20 分)

(1)试描述 Boosting 算法的基本概念。(4 分)

(2)AdaBoost 是 Boosting 中最具代表性的算法,试描述 AdaBoost 算法是如何实现的。(10 分)

(3)AdaBoost 算法通常有如下 2 个局限性:
- 当基学习器的精度小于 50%时,AdaBoost 算法将不能正常运行,试其分析原因。(3 分)
- AdaBoost 算法易受离群点的干扰,试简要描述一种可以减少该干扰的方法。(3 分)

回答

(1)Boosting 算法的基本概念

(1)从初始训练集训练出一个基学习器;
(2)根据学习器的表现对训练样本分布进行调整,使得先前基学习
器做错的样本再后续受到更多关注;
(3)基于调整后的样本分布来训练一个基学习器;
(4)重复2-3,直到基学习器数量达到预设的T值;
(5)将T个基学习器进行加权结合。

(2)AdaBoost 算法如何实现

在这里插入图片描述

(3)AdaBoost 的局限性及解决方法
  • 当基学习器的精度小于 50%时,AdaBoost 算法将不能正常运行

    原因:如果基学习器的精度低于 50%,意味着它比随机猜测还要差,此时 AdaBoost 算法会不断放大这些错误分类样本的权值,导致整体性能下降甚至发散。

  • AdaBoost 算法易受离群点的干扰

    解决方法:使用剪枝技术或对异常值进行预处理。例如,可以通过设置阈值来识别和移除离群点,或者采用其他鲁棒性更强的学习算法作为基学习器。另一种方法是在训练过程中动态调整离群点的权值,使其影响最小化。

第七题

设计一个基于机器学习的高效、科学、合理的算法来检测视频内容是否违规,可以分为以下几个关键步骤:

1. 数据收集与标注

首先需要大量的视频数据作为训练集,包括合规和违规的内容。这一步骤可能需要人工参与,以确保数据的质量和准确性。

2. 特征提取

从视频中提取有助于判断内容是否违规的关键特征。常见的特征类型包括但不限于:

  • 视觉特征:如颜色直方图、纹理特征、人脸检测结果等。
  • 音频特征:如语音情感分析、背景噪音水平等。
  • 文本特征:若视频包含字幕或弹幕信息,则可从中抽取文本特征。

3. 模型选择与训练

根据任务需求和数据特性选择合适的机器学习模型。对于视频内容审核这类复杂场景,深度学习模型(如卷积神经网络CNN、循环神经网络RNN及其变种LSTM/GRU)往往能取得较好的效果。具体步骤如下:

  • 划分数据集为训练集、验证集和测试集。
  • 设计模型结构,定义损失函数和优化器。
  • 使用训练集数据训练模型,利用验证集调优超参数。
  • 在测试集上评估模型性能,确保泛化能力。

4. 异常检测与规则引擎

除了直接使用机器学习模型外,还可以结合一些规则引擎和技术手段来提高系统的准确性和效率:

  • 异常检测:针对某些特定类型的违规行为,如暴力、色情等,可以预先设定一些规则,一旦触发即视为违规。
  • 多模态融合:综合考虑视觉、音频和文本等多种信息源,提升检测的全面性和准确性。

5. 实时监控与反馈机制

为了应对实时上传的海量视频数据,系统应具备高效的批处理能力和实时响应机制:

  • 批量处理:对批量上传的视频进行快速初筛,过滤掉明显合规的内容,集中资源审查可疑视频。
  • 反馈机制:建立用户举报和专家复审通道,及时修正误判情况,持续优化模型表现。

简略版:

  1. 数据收集:从已知违规和非违规视频中收集大量标注数据。
  2. 特征提取:利用深度学习模型如卷积神经网络(CNN)提取视频帧特征。
  3. 模型训练:根据任务需求和数据特性选择合适的机器学习模型。对于视频内容审核这类复杂场景,深度学习模型(如卷积神经网络CNN、循环神经网络RNN及其变种LSTM/GRU)。
  4. 集成学习:结合多个不同类型的分类器以提高准确性和稳定性。
  5. 在线测试:实时监控上传的新视频并应用训练好的模型进行自动审核。
  6. 反馈机制:定期更新模型参数以适应新的违规模式变化。

相关文章:

机器学习——期末复习 重点题归纳

第一题 问题描述 现有如下数据样本: 编号色泽敲声甜度好瓜1乌黑浊响高是2浅白沉闷低否3青绿清脆中是4浅白浊响低否 (1)根据上表,给出属于对应假设空间的3个不同假设。若某种算法的归纳偏好为“适应情形尽可能少”,…...

MYSQL——数据更新

一、插入数据 1.插入完整的数据记录 在MYSQL中,使用SQL语句INSERT插入一条完整的记录,语法如下: INSERT INTO 表名 [(字段名1[,...字段名n])] VALUES (值1[...,值n]); 表名——用于指定要插入的数据的表名 字段名——用于指定需要插入数据…...

Vite 基础理解及应用

文章目录 概要Vite基础知识点1. 快速启动和热更新热更新原理 2. 基于ES模块的构建3. 对不同前端框架的支持 vite.config.js配置实例1. 基本结构2. 服务器相关配置3. 输入输出路径配置4. 打包优化配置 项目构建一、项目初始化二、项目结构理解三、CSS处理四、静态资源处理五、构…...

[JAVA]用MyBatis框架实现一个简单的数据查询操作

基于在前面几章我们已经学习了对MyBatis进行环境配置,并利用SqlSessionFactory核心接口生成了sqlSession对象对数据库进行交互,执行增删改查操作。这里我们就先来学习如何对数据进行查询的操作,具体查询操作有以下几个步骤 创建实体类创建Ma…...

CSS 样式的优先级?

在CSS中,样式的优先级决定了当多个样式规则应用于同一个元素时,哪个样式会被最终使用。以下是一些决定CSS样式优先级的规则: 就近原则: 最后应用在元素上的样式具有最高优先级。这意味着如果两个选择器都应用了相同的样式&#xf…...

Linux驱动开发快速入门——字符设备驱动(直接操作寄存器设备树版)

Linux驱动开发快速入门——字符设备驱动 前言 笔者使用开发板型号:正点原子的IMX6ULL-alpha开发板。ubuntu版本为:20.04。写此文也是以备忘为目的。 字符设备驱动 本小结将以直接操作寄存器的方式控制一个LED灯,可以通过read系统调用可以…...

数据结构《栈和队列》

文章目录 一、什么是栈?1.1 栈的模拟实现1.2 关于栈的例题 二、什么是队列?2.2 队列的模拟实现2.2 关于队列的例题 总结 提示:关于栈和队列的实现其实很简单,基本上是对之前的顺序表和链表的一种应用,代码部分也不难。…...

C# 超链接控件LinkLabel无法触发Alt快捷键

在C#中,为控件添加快捷键的方式有两种,其中一种就是Windows中较为常见的Alt快捷键,比如运行对话框,记事本菜单等。只需要按下 Alt 框号中带下划线的字母即可触发该控件的点击操作。如图所示 在C#开发中,实现类似的操作…...

JVM类加载过程-Loading

一、Class对象的生命周期 .class文件是如何加载到内存中:.class文件是ClassLoader通过IO将文件读到内存,再通过双亲委派的模式进行Loading,再Linking、以及Initializing,代码调用等一系列操作后,进行GC,组成完整的生命周期; 二、双亲委派模式(Loading的过程): 1、类…...

2024年11月19日Github流行趋势

项目名称:build-your-own-x 项目维护者:danistefanovic, rohitpaulk, sarupbanskota 等项目介绍:通过从零开始重新创建你最喜欢的技术来掌握编程。项目star数:312,081项目fork数:29,004 项目名称:freqtrad…...

详细描述一下Elasticsearch索引文档的过程?

大家好,我是锋哥。今天分享关于【详细描述一下Elasticsearch索引文档的过程?】面试题。希望对大家有帮助; 详细描述一下Elasticsearch索引文档的过程? Elasticsearch的索引文档过程是其核心功能之一,涉及将数据存储到…...

基于css的Grid布局和vue实现点击左移右移轮播过渡动画效果

直接上代码&#xff0c;以下代码基于vue2,需要Vue3或者react可以使用国内直连GPT/Claude来帮你转换下 代码如下&#xff1a; // ScrollCardsGrid.vue <template><div class"scroll-cards-container"><!-- 左箭头 --><div v-show"showLef…...

HarmonyOS NEXT应用元服务开发Intents Kit(意图框架服务)习惯推荐方案概述

一、习惯推荐是HarmonyOS学习用户的行为习惯后做出的主动预测推荐。 1.开发者将用户在应用/元服务内的使用行为向HarmonyOS共享&#xff0c;使得HarmonyOS可以基于共享的数据学习用户的行为习惯。 2.在HarmonyOS学习到用户的行为习惯后&#xff0c;会给用户推荐相应功能&#x…...

【AtCoder】Beginner Contest 380-F.Exchange Game

题目链接 Problem Statement Takahashi and Aoki will play a game using cards with numbers written on them. Initially, Takahashi has N N N cards with numbers A 1 , … , A N A_1, \ldots, A_N A1​,…,AN​ in his hand, Aoki has M M M cards with numbers B …...

30. 并发编程

一、什么是多任务 如果一个操作系统上同时运行了多个程序&#xff0c;那么称这个操作系统就是 多任务的操作系统&#xff0c;例如&#xff1a;Windows、Mac、Android、IOS、Harmony 等。如果是一个程序&#xff0c;它可以同时执行多个事情&#xff0c;那么就称为 多任务的程序。…...

【包教包会】CocosCreator3.x框架——带翻页特效的场景切换

一、效果演示 二、如何获取 1、https://gitee.com/szrpf/TurnPage 2、解压&#xff0c;导入cocos creator&#xff08;版本3.8.2&#xff09;&#xff0c;可以直接运行Demo演示 三、算法思路 1、单场景 页面预制体 通过loadScene来切换页面&#xff0c;无法实现页面特效。…...

k8s上面的Redis集群链接不上master的解决办法

问题描述 之前在k8s上面部署了一台node&#xff0c;然后创建了6个redis的pod&#xff0c;构建了一个redis的集群&#xff0c;正常运行。 最近添加了一台slave node&#xff0c;然后把其中的几个redis的pod调度到了slave node上面&#xff0c;结果集群就起不来了&#xff0c;…...

<项目代码>YOLOv8 瞳孔识别<目标检测>

YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0c;YOLOv8具有更高的…...

网络编程-002-UDP通信

1.UDP通信的简单介绍 1.1不需要通信握手,无需维持连接,网络带宽需求较小,而实时性要求高 1.2 包大小有限制,不发大于路径MTU的数据包 1.3容易丢包 1.4 可以实现一对多,多对多 2.客户端与服务端=发送端与接收端 代码框架 收数据方一般都是客户端/接收端 3.头文件 #i…...

MySQL更换瀚高语法更换

MySQL更换瀚高语法更换 一、前言二、语句 一、前言 水一篇,mysql更换瀚高之后&#xff0c;一些需要更换的语法介绍 > 二、语句 MySQL瀚高MySQL用法瀚高用法说明ifnull(x,y)coalesce(x,y)相同相同用于检查两个表达式并返回第一个非空表达式。如果第一个表达式不是 NULL&…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型&#xff1a;架构设计与关键步骤 在当今数字化转型的浪潮中&#xff0c;大语言模型&#xff08;LLM&#xff09;已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中&#xff0c;不仅可以优化用户体验&#xff0c;还能为业务决策提供…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...

CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!

本文介绍了一种名为AnomalyAny的创新框架&#xff0c;该方法利用Stable Diffusion的强大生成能力&#xff0c;仅需单个正常样本和文本描述&#xff0c;即可生成逼真且多样化的异常样本&#xff0c;有效解决了视觉异常检测中异常样本稀缺的难题&#xff0c;为工业质检、医疗影像…...