机器学习面试篇

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

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

机器学习中特征的理解 

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

降维的主要⽅法

  • 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.rhkb.cn/news/326649.html

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

相关文章

宝塔Linux面板5.9版本升级新版失败解决方法

下载地址:宝塔Linux面板5.9升级教程 宝塔5.9版本升级最新版宝塔失败,可以参考这份详细教程(不断更新中) 安装要求: Python版本: 2.6/2.7(安装宝塔时会自动安装) 内存:1…

k8s 使用Docker和Containerd对比分析

目录 k8s 使用Docker和Containerd对比分析 互动1:docker build构建的镜像和containerd镜像通用吗? 互动2:k8s1.24之前版本和1.24及1.24之后版本区别? k8s 使用Docker和Containerd对比分析 如果你使用Docker作为K8S容器运行时的…

Spring框架核心:揭秘Java厨房的智能烹饪艺术

前情回顾:Spring框架深度解析:打造你的Java应用梦工厂 六. 实现控制反转 6.1 描述如何在Spring中实现IoC 在Spring Town的厨房里,实现控制反转就像是将食材的采购和准备过程外包给了一个智能系统。这个系统知道每种食材的特性,也…

RabbitMQ(四种使用模式)

文章目录 1.Fanout(广播模式)1.基本介绍2.需求分析3.具体实现1.编写配置类 RabbitMQConfig.java2.编写生产者,发送消息到交换机 MQSender.java3.编写消费者,接受消息 MQReceiver.java4.控制层调用方法,发送信息到交换机…

Python中进程类Process的方法与属性的使用示例

一、示例代码: from multiprocessing import Process import time import osdef child_1(interval):print(子进程(%s)开始执行,父进程为(%s) % (os.getpid(), os.getppid()))t_start time.time()time.sle…

2025考研 | 北京师范大学计算机考研考情分析

北京师范大学(Beijing Normal University)简称“北师大”,由中华人民共和国教育部直属,中央直管副部级建制,位列“211工程”、“985工程”,入选国家“双一流”、“珠峰计划”、“2011计划”、“111计划”、…

BFS Ekoparty 2022 -- Linux Kernel Exploitation Challenge

前言 昨天一个师傅给了我一道 linux kernel pwn 题目,然后我看了感觉非常有意思,题目也不算难(在看了作者的提示下),所以就花时间做了做,在这里简单记录一下。这个题是 BFS Lab 2022 年的一道招聘题&#…

泰迪智能科技携手新乡学院开展“泰迪智能双创工作室”共建交流会

为深化校企合作,实现应用型人才培养目标。5月8日,广东泰迪智能科技股份有限公司河南分公司市场总监张京瑞到访新乡学院数学与统计学院参观交流,数学与统计学院院长赵国喜、副院长皮磊、张秦,教研室主任许寿方、姚广出席本次交流会…

如何防止WordPress网站内容被抓取

最近在检查网站服务器的访问日志的时候,发现了大量来自同一个IP地址的的请求,用站长工具分析确认了我的网站内容确实是被他人的网站抓取了,我第一时间联系了对方网站的服务器提供商投诉了该网站,要求对方停止侵权行为,…

Git 如何管理标签命令(tag)

1.查看本地仓库tag --1.查看本地仓库tag UserDESKTOP-2NRT2ST MINGW64 /e/GITROOT/STARiBOSS/STARiBOSS-5GCA (gw_frontend_master) $ git tag 1stBossUpgrade V10.0.1_20220224_test V10.0.1_20220301_test tag-gwfrontend-V1.0.12-230625 tag-gw_frontend-23.08.29 tag-gw_f…

基于51单片机的冰箱控制系统设计( proteus仿真+程序+设计报告+原理图+讲解视频)

基于51单片机冰箱控制系统设计( proteus仿真程序设计报告原理图讲解视频) 基于51单片机冰箱控制系统设计 1. 主要功能:2. 讲解视频:3. 仿真4. 程序代码5. 设计报告6. 原理图7. 设计资料内容清单&&下载链接资料下载链接: …

PCIe总线-PCIe简介

一、前言 PCIe总线是由PCI/PCI-X发展而来,但是两者之间有很大的不同。PCI/PCI-X采用的是并行总线,最大支持的频率为PCI-X2.0 的133MHz,传输速率最大仅为4262MB/s。同时使用并行总线,在PCB上也会造成布线资源紧张,线与…

SpringCloud 集成 RocketMQ 及配置解析

文章目录 前言一、SpringCloud 集成 RocketMQ1. pom 依赖2. yml 配置3. 操作实体4. 生产消息4.1. 自动发送消息4.2. 手动发送消息 5. 消费消息 二、配置解析1. spring.cloud.stream.function.definition 前言 定义 Spring Cloud Stream 是一个用来为微服务应用构建消息驱动能力…

idea 使用 git

可以看见项目地址, git clone 地址 就可以拉新项目了 命令 git remote -v

宁夏银川市起名专家的老师颜廷利:死神(死亡)并不可怕,可怕的是...

在中国优秀传统文化之中,汉语‘巳’字与‘四’同音,在阿拉伯数字里面,通常用‘4’来表示; 湖南长沙、四川成都、重庆、宁夏银川最靠谱最厉害的起名大师的老师颜廷利教授指出,作为汉语‘九’字,倘若是换一个…

八、e2studio VS STM32CubeIDE之内存使用情况窗口

目录 一、概述/目的 二、STM32CubeIDE Build Analyzer 三、e2studio Memory Usage 八、e2studio VS STM32CubeIDE之内存使用情况窗口 一、概述/目的 1、嵌入开发最大特点之一就是资源受限,关注芯片资源使用详情是优秀工程师的技能之一 2、Keil和IAR都不支持内存…

使用Docker+Jar方式部署微服务工程(前后端分离)看着一篇就够了

本篇教程的使用到的技术有springboot、springcloud、Nacos、Docker、Nginx部署前后端分离访问的微服务。 部署一下Nacos 首先我们需要在服务器中(或者本地部署启动一下Nacos),这里我采用服务器的方式进行部署,这里有一点不一样的…

【XR806开发板试用】SPI驱动数码管显示

准备工作 安装repo 创建repo安装目录。 mkdir ~/bin下载repo wget https://storage.googleapis.com/git-repo-downloads/repo -P ~/bin/改变执行权限 chmod ax ~/bin/repo设置环境变量,在~/.bashrc文件的最后输入 export PATH~/bin:$PATH和export REPO_URLhttps://…

redis深入理解之实战

1、SpringBoot整合redis 1.1 导入相关依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId> </dependency> <dependency><groupId>org.springframework.boot</groupId><artifactId&g…

JavaEE之线程(4)——线程安全、线程安全的原因,synchronized关键字

前言 在本栏的前面的内容中&#xff0c;我们介绍了线程的创建、Thread 类及常见方法、线程的状态&#xff0c;今天我们来介绍一下关于线程的另一个重点知识——线程安全。 一、线程安全 基本概念&#xff1a; 线程安全的确切定义是复杂的&#xff0c;但我们可以这样认为&…