机器学习面试篇

如何理解机器学习数据集的概念  

数据集是机器学习的基础,它包括了用于训练和测试模型所需的数据。数据集通常以矩阵的形式存在,其中每一行代表一个样本(或实例),每一列代表一个特征(或属性)。每个样本都包含了对应于各个特征的数值,数据集通常会被划分为训练集和测试集,有时还包括验证集。训练集用于训练模型,测试集用于评估模型的性能,而验证集则用于在训练过程中调整模型的参数。

机器学习中特征的理解 

特征选择:原有特征选择出⼦集,不改变原来的特征空间
降维:将原有的特征重组成为包含信息更多的特征,改变了原有的特征空间

降维的主要⽅法

  • Principal Component Analysis(主成分分析)
  • Singular Value Decomposition(奇异值分解)

特征选择的⽅法

  • Filter⽅法:卡⽅检验、信息增益、相关系数
  • Wrapper⽅法
  • Embedded⽅法

Wrapper其主要思想是:将⼦集的选择看作是⼀个搜索寻优问题,⽣成不同的组合,对组合进⾏评价,再与其他的组合进⾏⽐较。这样就将⼦集的选择看作是⼀个是⼀个优化问题,这⾥有很多的优化算法可以解决,尤其是⼀些启发式的优化算法,如GA,PSO,DE,ABC等,详⻅“优化算法——⼈⼯蜂群算法(ABC)”,“优化算法——粒⼦群算法(PSO)”。 


Embedded⽅法主要思想是:在模型既定的情况下学习出对提⾼模型准确性最好的属性,挑选出那些对模型的训练有重要意义的属性。

机器学习的三要素  

  1. 数据:数据是机器学习的基础,它包括原始数据和特征向量。在机器学习中,数据不仅要被收集和整理,还需要通过特征工程来提取有用的信息,以便模型能够更好地学习和理解。
  2. 模型:模型是对现实世界问题的一种数学抽象,它可以是训练后的函数,用于捕捉数据之间的关系和模式。模型可以是判别式的,如逻辑回归;也可以是生成式的,如深度学习和支持向量机。模型的选择取决于具体问题的需求和数据的特性。
  3. 算法:算法是指导模型如何从数据中学习的一系列计算步骤。它不仅包括模型的训练过程,还包括模型的评估和最优化。算法的选择会影响到模型的学习效率和最终的性能。

机器学习中的特征选择的⽅法  

  1. 计算每⼀个特征与相应变量的相关性:常⽤的⼿段有计算⽪尔逊系数和互信息系数,⽪尔逊系数只能衡量线性相关性⽽互信息系数能够很好地度量各种相关性,但是计算相对复杂⼀些,toolkit⾥边都包含了这个⼯具,得到相关性之后就可以排序选择特征了。
  2. 构建单个特征的模型,通过模型的准确性为特征排序,借此来选择特征;
  3. 通过L1正则项来选择特征:L1正则⽅法具有稀疏解的特性,因此天然具备特征选择的特性,但是L1没有选到的特征不代表不重要,原因是两个具有⾼相关性的特征可能只保留了⼀个,如果要确定哪个特征重要应再通过L2正则⽅法交叉检验*。
  4. 训练能够对特征打分的预选模型:RandomForest和Logistic Regression等都能对模型的特征打分,通过打分获得相关性后再训练最终模型;
  5. 通过特征组合后再来选择特征:如对⽤户id和⽤户特征最组合来获得较⼤的特征集再来选择特征,这种做法在推荐系统和⼴告系统中⽐较常⻅,这也是亿级特征的主要来源,原因是⽤户数据⽐较稀疏,组合特征能够同时兼顾全局模型和个性化模型。
  6. 通过深度学习来进⾏特征选择。

机器学习中的正负样本 

在机器学习中,正样本通常指的是那些标签或者类别与模型预测的目标一致的样本,而负样本则是指标签或类别与预测目标不一致的样本。  

  • 正样本:在分类任务中,正样本是那些属于我们感兴趣的类别的样本。例如,如果我们正在训练一个垃圾邮件检测器,所有标记为垃圾邮件的邮件都是正样本。在目标检测领域,正样本可能指的是包含待检测目标(如人脸)的图像区域。
  • 负样本:负样本则是那些不属于我们感兴趣类别的样本。在上述垃圾邮件检测器的例子中,所有非垃圾邮件的邮件都是负样本。在目标检测中,负样本可能是那些不包含待检测目标的图像区域。

如何解决过拟合问题 

过拟合:模型在训练集表现好,在真实数据表现不好,即模型的泛化能⼒不够。,模型在达到经验损失最⼩的时候,模型复杂度较⾼,结构⻛险没有达到最优。

  • 增加数据量:通过获取更多的训练数据,可以提供更多的信息给模型,帮助它学习到更泛化的特征。
  • 正则化:在损失函数中添加正则化项,如L1或L2正则化,以惩罚模型的复杂度,防止过拟合。
  • 数据增强:通过对现有数据进行变换(如旋转、缩放等),可以创造出新的训练样本,从而增加数据的多样性。
  • 引入随机性:在模型中引入随机性,例如使用随机森林或者在神经网络中使用dropout层,可以帮助模型更好地泛化。
  • 降维:当数据集具有高维度时,可以通过降维技术(如PCA)来减少特征数量,从而简化模型并减少过拟合的可能性。

L1和L2正则的区别

  1. L1正则化:也称为Lasso回归,它通过权值向量中各个元素的绝对值之和来定义。这种形式的正则化倾向于将一些权值缩小到绝对的零,从而实现了特征选择的效果,即某些特征的权重变为零,这些特征就被排除在模型之外。
  2. L2正则化:也称为Ridge回归,它通过权值向量中各个元素的平方和的平方根来定义。这种形式的正则化倾向于让所有权值都接近于零,但不会完全为零,从而避免了特征选择,而是通过减小权重的大小来防止过拟合。

L1正则化表示各个参数绝对值之和。L1范数的解通常是稀疏性的,倾向于选择数⽬较少的⼀些⾮常⼤的值或者数⽬较多的insignificant的⼩值。L2正则化标识各个参数的平⽅的和的开⽅值。L2范数越⼩,可以使得w的每个元素都很⼩,接近于0,但L1范数不同的是他不会让它等于0⽽是接近于0 。

  • L1正则化:由于其倾向于产生稀疏权值矩阵,L1正则化通常用于特征选择,特别是在特征数量很多或者存在多重共线性的情况下。它可以帮助我们识别出对预测目标最重要的特征。
  • L2正则化:由于其倾向于让权值均匀地接近零,L2正则化可以帮助模型提高稳定性和泛化能力,尤其是在特征不多或者特征之间相互独立的情况下。

有监督学习和无监督学习 

  • 有监督学习:对具有概念标记(分类)的训练样本进⾏学习,以尽可能对训练样本集外的数据进⾏标记(分类)预测。只要输入样本集,机器就可以从中推演出制定⽬标变量的可能结果。
  • 无监督学习:对没有概念标记(分类)的训练样本进⾏学习,以发现训练样本集中的结构性知识。

监督学习的典型例子就是决策树、神经⽹络以及疾病监测,而无监督学习就是很早之前的⻄洋双陆棋和聚类。

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

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

相关文章

JVM从1%到99%【精选】-类加载子系统

目录 1.类的生命周期 1.加载 2.连接 3.初始化 2.类的加载器 1.类加载器的分类 2.双亲委派机制 3.面试题:类的双亲委派机制是什么? 4.打破双亲委派机制 1.类的生命周期 类加载过程:加载、链接(验证、准备、解析&a…

数据与结构--堆

堆 堆的概念 堆&#xff1a;如果有一个关键码的集合K{k0,k1,k2,…,kn-1}&#xff0c;把它的所有元素按完全二叉树的顺序存储方式存储在一个一维数组中&#xff0c;并满足ki<k2i1且ki<k2i2&#xff08;或满足ki>k2i1且ki>k2i2&#xff09;&#xff0c;其中i0,1,2,…

深度缓冲技术在AI去衣中的神奇作用

引言&#xff1a; 随着人工智能技术的飞速发展&#xff0c;其在图形处理和视觉领域的应用日益增多。AI去衣技术便是其中一个颇具争议但又技术上引人入胜的话题。今天&#xff0c;我们将深入探讨一项关键技术——深度缓冲&#xff08;Depth Buffering&#xff09;&#xff0c;它…

SpringAI 技术解析

1. 发展历史 SpringAI 的发展历史可以追溯到对 Spring 框架的扩展和改进&#xff0c;以支持人工智能相关的功能。随着人工智能技术的快速发展&#xff0c;SpringAI 逐渐成为 Spring 生态系统中的一个重要组成部分&#xff0c;为开发者提供了便捷、灵活的解决方案。 项目的灵感来…

如何用opencv去掉单元格的边框线,以提高Tesseract识别率?

在OpenCV中处理从表格切割下来的图片&#xff0c;并去掉单元格的边框线&#xff0c;以提升Tesseract的识别准确率&#xff0c;确实是一个具有挑战性的任务。在这种情况下&#xff0c;我们需要采取一种策略来预处理图像&#xff0c;使得数字与背景之间的对比度增强&#xff0c;同…

数据缓存,可以尝试RocksDB了

shigen坚持更新文章的博客写手&#xff0c;擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长&#xff0c;分享认知&#xff0c;留住感动。 个人IP&#xff1a;shigen shigen在最近的学习中&#xff0c;接触到了一款新的缓存数据库RocksDB&#xff…

NodeJS编写后端接口

技术栈 1.express&#xff1a;Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建 各种 Web 应用&#xff0c;和丰富的 HTTP 工具&#xff0c;使用 Express 可以快速地搭建一个完整功能的网站。 2.mysql&#xff1a;用于操作MySQL数据库 3.bod…

【Linux】centos7安装软件(rpm、yum、编译安装),补充:查找命令的相关文件路径,yum安装mysql

【Linux】技术上&#xff0c;Linux是内核。而术语上&#xff0c;我们通常说的Linux是完整的操作系统&#xff0c;其实称为"Linux发行版"&#xff0c;是将Linux内核和应用系统打包&#xff0c;由不同的发行家族发行了不同版本。Linux发行版众多&#xff0c;主要有RedH…

职校智慧校园现状及问题分析

各大中职院校及高职院校是校园信息化的先行者和开拓者&#xff0c;很早就开始注重信息化基础设施建设和信息化人文素养的提升。在过去几年里&#xff0c;随着国家大力发展与扶植职校教育&#xff0c;学校投入相当的经费进行了校园信息通信网络、计算机等基础硬件设备建设&#…

CLion 写 Rust 报Project directory `/Users/.../rsheets` does not exist.

每次打开CLion都会看到像下面这样的报错&#xff0c;Project directory /Users/.../rsheets does not exist.&#xff0c;虽然不会影响你写代码&#xff0c;但每次看到还是不舒服&#xff0c;所以研究一下怎么解决。 原因是这样的&#xff0c;每当我们创建一个 Cargo 项目&…

PDF Squeezer for Mac,让PDF压缩更高效

还在为PDF文件过大而烦恼吗&#xff1f;试试PDF Squeezer for Mac吧&#xff01;它拥有强大的压缩功能&#xff0c;可以快速将PDF文件压缩至更小的体积&#xff0c;让你的文件传输更快捷。同时&#xff0c;它还支持多种压缩方式&#xff0c;满足你的不同需求。赶快下载体验吧&a…

革新机器人任务规划:TREE-PLANNER引领高效、准确的机器人动作生成新趋势

DeepVisionary 每日深度学习前沿科技推送&顶会论文分享&#xff0c;与你一起了解前沿深度学习信息&#xff01; 引言 任务规划在机器人技术中扮演着至关重要的角色。它涉及到为机器人设计一系列中级动作&#xff08;技能&#xff09;&#xff0c;使其能够完成复杂的高级任…

电视剧电影原声背景音乐,经典影视配乐片段音效合集

一、素材描述 本套影视配乐素材&#xff0c;大小1.89G&#xff0c;27个压缩文件。 二、素材目录 宰相刘罗锅配乐片段.rar 影视配乐65首.rar 太极张三丰原声.rar 东邪西毒原声配乐15首.rar 东方不败之风云再起配乐24首.rar 东方不败原声配乐16首.rar 电影大话西游原声配…

python绘制圣诞树 如何用python绘制一个圣诞树

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一.前言 二.代码 三.使用 四.总结 一.前言 圣诞树,是指用灯烛和装饰品把枞树或洋松装点起来的常青树。作为是圣诞节重要的组成元素之一,近代圣诞树起源于德国,后来逐步在世界范围内流行起来

WPS表格:对比少于1万的两列数据

当我们需要对于A、B两列乱序的数据&#xff0c;找出A列中某一项B列有没有&#xff0c;或者找出B列中的某一项A列有没有&#xff0c;都可以先将这两列数据放入WPS表格中&#xff1a; 1.选中C列的第一行的单元格&#xff0c;在函数区输入函数 如果我们以A为基准&#xff0c;找A中…

SQL语句优化技巧

目录 1、sql语句规范 2、sql语句优化 1、sql语句规范 MySQL在Linux系统下数据库名&#xff0c;表名&#xff0c;存储过程名&#xff0c;函数名称&#xff0c;触发器名称等区分大小写&#xff0c;列名不区分大小写&#xff0c;原因是这些操作系统下文件名称区分大小写。 MySQL…

19、案例实战:上亿请求轻松应对,老年代垃圾回收参数调整技巧大公开

19.1、前文回顾 在上一篇文章中,我们已经向大家介绍了一个日活跃用户百万级别,处理请求量上亿的电商系统案例。我们选择了这个中型电商系统在大促期间的瞬时高峰下单场景,作为我们的JVM优化分析的场景。通过预测,我们得出在大促高峰期,每台机器每秒需要处理300个订单请求…

蓝桥杯-线性动态规划问题背包问题进阶策略详解-

题目&#xff1a;蓝桥云课-青蛙吃虫 解题代码&#xff1a; #include <iostream> #include<cstring> #include<algorithm> using namespace std;const int N106;int f[N][N]; int a[N]; int t,l,r,k,n;int main() {cin>>t;while(t--){scanf("%d%…

云计算第十二课

安装虚拟机 第一步新建虚拟机 选择自定义安装 下一步 选择稍后安装操作系统 选择系统类型和版本 选择虚拟机文件路径&#xff08;建议每台虚拟机单独存放并且路径不要有中文&#xff09;点击下一步 选择bios下一步 选择虚拟机处理器内核数量 默认硬盘或者自行调大硬盘 选择虚…

win10建立共享文件夹和ipad共享文件

win10端设置 查看自己的局域网IP 在任意地方新建一个文件夹 打开文件夹的属性,点到共享的地方 点击高级共享 然后点击应用,确认 再回到之前哪个地方,点击共享 把Everyone的权限改为读取/写入 最后点击共享就欧克了 失败的可能原因 ipad端设置 然后回出现一个要输入用户名和…