机器学习面试篇

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

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

机器学习中特征的理解 

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

降维的主要⽅法

  • 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正则化可以帮助模型提高稳定性和泛化能力,尤其是在特征不多或者特征之间相互独立的情况下。

有监督学习和无监督学习 

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浅谈C++ overload(重载) override(覆盖) overwrite(重写)

目录 1. 名词辨析2 含义解析1 overload重载2 override覆盖3 overwrite重写 3 区别4 代码示例 1. 名词辨析 关于这3个名词的中文翻译: overload翻译为重载,基本是没有歧义的;override和overwrite的翻译,我在参考了cppreference中…

文物藏品库房管理:守护珍贵文化遗产的宝库

一、引言 文物是人类文化遗产的珍贵财富,为了保护和传承科学有效的文物藏品库房管理是必不可少的。本文将介绍文物藏品库房管理的重要性,以及一些常用的管理方法和技术,提高文物保护工作的效果和水平以确保文物的安全与完整性。 二、文物藏品…

语音网关有哪些?

语音网关是一种网络设备,它使得通过传统的电话网络(如公共交换电话网络,PSTN)和现代的数据网络(如互联网或私有数据网络)进行的语音通信成为可能。语音网关的主要作用是在模拟或数字电话信号与数据网络的数…

C++ | Leetcode C++题解之第67题二进制求和

题目&#xff1a; 题解&#xff1a; class Solution { public:string addBinary(string a, string b) {string ans;reverse(a.begin(), a.end());reverse(b.begin(), b.end());int n max(a.size(), b.size()), carry 0;for (size_t i 0; i < n; i) {carry i < a.siz…

出海企业哪种组网方案更省事?

对于出海企业而言&#xff0c;建立跨地区的数据传输和协同工作至关重要&#xff0c;以提升运营效率。因此&#xff0c;网络构建变得迫在眉睫。通过构建企业组网&#xff0c;企业能够加强与海外分支、客户和合作伙伴之间的联系&#xff0c;加速海外业务的发展。 然而&#xff0c…

机器学习:基于K-近邻(KNN)、高斯贝叶斯(GaussianNB)、SVC、随机森林(RF)、梯度提升树(GBDT)预测葡萄酒质量

前言 系列专栏&#xff1a;机器学习&#xff1a;高级应用与实践【项目实战100】【2024】✨︎ 在本专栏中不仅包含一些适合初学者的最新机器学习项目&#xff0c;每个项目都处理一组不同的问题&#xff0c;包括监督和无监督学习、分类、回归和聚类&#xff0c;而且涉及创建深度学…

mac内存不足怎么清理?有哪些免费的软件工具?

当你的mac电脑使用一段时间之后&#xff0c;你可能就会发现&#xff0c;原本非常流畅的运行开始出现卡顿的现象&#xff0c;此时正是mac内存不足的外在表现。可mac内存不足怎么清理呢&#xff0c;别急&#xff0c;清理内存的方式方法有很多&#xff0c;小编将结合实际情况给大家…

字节跳动测试开发岗 3+1 面经+经验分享(收到offer,入职月薪27K)

现在&#xff0c;招聘黄金时间已经过了&#xff0c;在网上看了很多大佬的面经&#xff0c;也加了很多交流群&#xff0c;受到了很多朋友的提点&#xff0c;今天终于轮到我来分享面经啦&#xff0c;之前面试了几家公司&#xff0c;最后在八月初拿到了字节跳动测试岗的 offer&…

sql-labs(11-20)

1.less-11 1.判断类型 根据测试在使用 " 不会报错&#xff0c; 会报错&#xff0c;所以他是字符型的并且被单引号闭合&#xff0c;而且只有用户 登陆成功才会显示数据。所以先尝试报错注入 2.爆数据库 and updatexml(2,concat(0x7e,(select database()),0x7e),2)-- 3.爆数…

谷歌上架攻略:个人号20人连续14天封闭测试的详细流程及相关注意事项

众所周知&#xff0c;近年来&#xff0c;Google play为了确保应用质量和用户体验&#xff0c;对开发者提出不少新要求。其中&#xff0c;对于个人开发者的一项要求是&#xff0c;自2023年11月13日起&#xff0c;新注册的个人开发者账号在上架正式版应用前&#xff0c;必须经过2…

面试题:数组指针的创建和访问,取地址符号的使用//定义一个指向含有10个整型的数组的指针,如何通过这个指针访问数组?

下面哪个代码是错误的&#xff1f;&#xff08;&#xff09; #include <stdio.h> int main() {int* p NULL;int arr[10] { 0 };return 0; }A. p arr; B. int(*ptr)[10] &arr; C. p &arr[0]; D. p &arr; 上题答案选D&#xff0c;通过如下代…

Spring框架学习-详细

文章目录 1. Spring简介1.1 面向接口编程1.2 Spring简介1.3 Spring体系结构 2 Spring IoC - 基于XML2.1 Sping框架部署&#xff08;IoC&#xff09;2.2 Spring IoC使用2.3 IoC和DI2.4 DI依赖注入Spring容器通过反射方法实现属性注入有三种方式1. set方法注入2. 构造器注入 2.5 …

系统设计 —— 随用户扩展

单服务器设置&#xff1a; 在单服务器设置中&#xff0c;所有内容都运行在一台服务器上。这包括网页应用程序、数据库、缓存等。 1*HQXZgCc5Vh8KooJHwKfzjw.png 图1.1 请求流程 1.最终用户通过域名&#xff08;myurl.com&#xff09;访问网站。请求发送到 DNS&#xff0c;将域名…

Laravel框架使用图片处理简单教程

PHP图片处理扩展包使用 文中使用的是Laravel框架&#xff0c;更多框架扩展包请点击传送门-》更多框架集成 Intervention Image 是一个开源的 PHP 图像处理和操作 库。它提供了一个更简单也更优雅的方式来创建/编辑/组合图像,并且支持最常见的两个图像处理库 GD Library 和 Im…

solidworks的进阶操作

目录 1 可以找别人的图 2 渲染 2.1 基本流程 2.2 相机和光源 3 装配图缩放 3.1 将装配图转换为零件 3.2 删除一些细节(可选) 3.3 缩放 4 3dmax文件转换为STL并对STL上色 5 文件是未来版本 1 可以找别人的图 有时需要出一些示意图&#xff0c;像是电脑桌子…

【NodeMCU实时天气时钟温湿度项目 4】通过NTPClient库获取实时网络时间并显示在TFT屏幕上

今天是【实时天气时钟温湿度项目】第四专题&#xff0c;主要内容是&#xff1a;学习导入NTPClient库&#xff0c;通过这个库获取实时网络时间&#xff0c;显示在1.3寸TFT液晶屏幕上。此前三个专题&#xff0c;请选择查看以下链接。 第一专题内容&#xff0c;请参考 【N…

springboot2.x集成Elasticsearch7.7.0

一、前言 elasticsearch安装就不做过多介绍了&#xff0c;网上一搜一大堆&#xff1b;最需要注意的就是Elasticsearch与spring版本&#xff0c;防止版本不兼容导致的后续的一系列问题。我这里springbootspring-data-elasticsearch&#xff0c;他们的版本对照关系可以参照sprin…

Redis进阶学习

Redis进阶学习 一、Redis事务1.2 Redis监控1.3 Jedis连接1.4 SpringBoot整合1.5 自定义RedisTemple1.6 Redis.conf详解 二、 Redis持久化2.1 RDB2.2 AOF进程 三、Redis发布订阅3.1 Redis主从复制3.2 集群环境配置3.3、复制原理3.4、宕机后主动变为主机3.5、哨兵模式 四、Redis缓…

如何禁止打开PDF文件?推荐2种方法!

在工作中&#xff0c;我们经常会使用到PDF文件&#xff0c;对于重要的文件&#xff0c;不想被随意打开怎么办呢&#xff1f;下面小编分享2个方法&#xff0c;第二个很实用&#xff0c;记得收藏起来&#xff01; 方法1&#xff1a;设置密码保护 我们可以通过PDF编辑器&#xff…

拼多多二面,原来是我对自动化测试的理解太浅了

如果你入职一家新的公司&#xff0c;领导让你开展自动化测试&#xff0c;作为一个新人&#xff0c;你肯定会手忙脚乱&#xff0c;你会如何落地自动化测试呢&#xff1f; 01 什么是自动化 有很多人做了很长时间的自动化但却连自动化的概念都不清楚&#xff0c;这样的人也是很悲…