(Note)机器学习面试题

机器学习

1.两位同事从上海出发前往深圳出差,他们在不同时间出发,搭乘的交通工具也不同,能准确描述两者“上海到深圳”距离差别的是:

A.欧式距离 B.余弦距离 C.曼哈顿距离 D.切比雪夫距离

S:D

1. 欧几里得距离

计算公式(n维空间下)

二维:dis=sqrt( (x1-x2)^2 + (y1-y2)^2 )

三维:dis=sqrt( (x1-x2)^2 + (y1-y2)^2 + (z1-z2)^2 )

2.余弦距离:余弦相似度用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小。相比距离度量,余弦相似度更加注重两个向量在方向上的差异,而非距离或长度上。公式如下:

3.曼哈顿距离:两个点在标准坐标系上的绝对轴距总和

dis=abs(x1-x2)+abs(y1-y2)

4.切比雪夫距离:各坐标数值差的最大值

dis=max(abs(x1-x2),abs(y1-y2))

2.通过监督学习进行二分类模型训练过程中,可能会遇到正负样本数量不平衡的情况(比如正样本有50万但是负样本有100万),以下哪些方法可以对此进行恰当的处理?

A.将所有数据加入训练集,充分利用全部数据

B.从100万负样本中随机抽取50万

C.正样本的权重设置为2,负样本权重设置为1

D.复制两份正样本参与到训练中


S: BCD.

3.在高斯混合分布中,其隐变量的含义是:

A.表示高斯分布的方差 B.表示高斯分布的均值

C.表示数据分布的概率 D.表示数据从某个高斯分布中产生


S: D.

首选依赖GMM的某个高斯分量的系数概率(因为系数取值在0~1之间,因此可以看做是一个概率取值)选择到这个高斯分量,

然后根据这个被选择的高斯分量生成观测数据。然后隐变量就是某个高斯分量是否被选中:选中就为1,否则为0。

4.当训练样本数量趋向于无穷大时,在该数据集上训练的模型变化趋势,对于其描述正确的是()

A.偏差(bias)变小 B.偏差变大 C.偏差不变 D.不变


S: C

偏差大是欠拟合,方差大是过拟合。增大样本数量会降低方差,和偏差没关系。

5.通常来说,哪个模型被认为易于解释? ()

A.SVM B.Logistic Regression C.Decision Tree D.K-nearest Neghbor

S: C

6.假如你使用EM算法对一个有潜变量的模型进行最大似然估计(Maximum likelihood estimate)。这时候要求你将算法进行修改,使得其能找到最大后验分布(Maximum a Posteriori estimation, MAP),你需要修改算法的哪个步骤?

A.Expection B.Maimization C.不需要修改 D.都需要修改

S:A

E step根据当前参数进行估算,M step根据估算结果更新参数。那么修改估算方法自然在E step中。


7.影响基本K-均值算法的主要因素有()

A.样本输入顺序

B.模式相似性测度

C.聚类准则

D.初始类中心的选取

S:ABD

关于A,具体推导详见《模式识别》的动态聚类算法,书中提到,这是一个局部搜索算法,不能保证得到全局最优解,算法结果受初始值和样本调整顺序的影响。也就是说如果在迭代的过程中,数据集不够随机,很容易陷入局部最优。


8.以下哪些函数是凸函数?()

A. f(x) = x

B.f(x) = x^3

C.f(x) = x^4

D.f(x) = x^3+x^4

S: AC.

二阶导数非负

9.假设你有一个非常大的训练集合,如下机器学习算法中,你觉着有哪些是能够使用map-reduce框架并能将训练集划分到多台机器上进行并行训练的()

A.逻辑斯特回归(LR),以及随机梯度下降(SGD)

B.线性回归及批量梯度下降(BGD)

C.神经网络及批量梯度下降(BGD)

D.针对单条样本进行训练的在线学习


S: BC.

LR,SVM,NN,KNN,KMeans,DT,NB都可以用map reduce并行.

10.下列哪几个优化算法适合大规模训练集的场景:

A.minibatch sgd

B.Adam

C.LBFSG

D.FTRL

S: ABD.

FTRL是对每一维单独训练,属于一种在线学习优化算法。由于对参数的每一维单独训练,所以可以用于大规模数据训练。


11.随机变量X ~ N(1, 2),Y ~ N(3, 5),则X+Y ~()

A.N(4, 7) B.N(4,√2+ √5) C.N(1 + √3,7) D.不确定


S:D

主要看两个变量是否独立。独立条件下,正态加正态还是正态。Z=X+Y。均值加均值,方差加方差.


12.下列模型属于机器学习生成式模型的是()

A.朴素贝叶斯

B.隐马尔科夫模型(HMM)

C.马尔科夫随机场(Markov Random Fields)

D.深度信念网络(DBN)


S.ABCD


13.下列关于线性回归说法错误的是()

A.在现有模型上,加入新的变量,所得到的R^2的值总会增加

B.线性回归的前提假设之一是残差必须服从独立正态分布

C.残差的方差无偏估计是SSE/(n-p)

D.自变量和残差不一定保持相互独立


S: D.

R^2越大,拟合效果越好,因此A对。R^2=1-RSS/TSS

RSS数残差平方和 TSS是总的平方和


14.以下方法属于集成方法的是()

A. bagging B.stacking C.blending D.boosting

S: ABCD.

15.SVM(支持向量机)与LR(逻辑回归)的数学本质上的区别是什么

A.损失函数 B.是否有核技巧 C.是否支持多分类 D.其余选项皆错

S: A

LR的损失函数从最大似然的角度理解;

SVM损失函数的原始形式则是从最大化分类间隔的角度出发。


16.SVM(支持向量机)为什么会使用替代损失函数(如hinge损失,指数损失等)?

A.替代损失函数可以扩大SVM的应用场景

B.0/1损失函数非凸、不连续

C.替代损失函数可以减少过拟合

D.其余选项皆错

S: B

直接使用0/1损失函数的话其非凸、非连续,数学性质不好优化起来比较复杂,因此需要使用其他的数学性能较好的函数进行替换,替代损失函数一般有较好的数学性质。常用的三种替代函数:

1、hinge损失;2、指数损失;3、对率损失;

17.L1正则和L2正则的共同点是什么?

A.都会让数据集中的特征数量减少

B.都会增大模型的偏差

C.都会增大模型方差

D.其余选项皆错

S: D


18.以下哪种方法不能防止过拟合?

A.交叉验证 B.低维嵌入 C.剪枝 D.集成学习

S:B

1、交叉检验,通过交叉检验得到较优的模型参数; 2、特征选择,减少特征数或使用较少的特征组合,对于按区间离散化的特征,增大划分的区间。 3、正则化,常用的有 L_1、L_2 正则。而且 L_1 正则还可以自动进行特征选择。 4、如果有正则项则可以考虑增大正则项参数 lambda. 5、增加训练数据可以有限的避免过拟合. 6、Bagging ,将多个弱学习器Bagging 一下效果会好很多,比如随机森林等。

From:

https://zhuanlan.zhihu.com/p/88107877

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

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

相关文章

JavaScript事件之拖拽事件(详解)

在网页开发的过程中我们经常会接触到拖拽事件,虽然每个网页和每个网页的拖拽的效果大相径庭,但是从根本来讲,代码是几乎一模一样的。   简而言之,拖拽效果就是鼠标按下,被拖拽的元素随着鼠标而移动,鼠标松…

【单片机】13-实时时钟DS1302

1.RTC的简介 1.什么是实时时钟(RTC) (rtc for real time clock) (1)时间点和时间段的概念区分 (2)单片机为什么需要时间点【一定的时间点干什么事情】 (3)RTC如何存在于…

Trie字符串统计(c++题解)

维护一个字符串集合,支持两种操作: I x 向集合中插入一个字符串 x;Q x 询问一个字符串在集合中出现了多少次。 共有 N 个操作,所有输入的字符串总长度不超过 105,字符串仅包含小写英文字母。 输入格式 第一行包含整…

Mydb数据库问题

1、请简要介绍一下这个基于 Java 的简易数据库管理系统。它的主要功能是什么? TM(Transaction Manager):事务管理器,用于维护事务的状态,并提供接口供其他模块查询某个事务的状态。DM(Data Man…

国庆假期day5

作业:请写出七层模型及每一层的功能,请绘制三次握手四次挥手的流程图 1.OSI七层模型: 应用层--------提供函 表示层--------表密缩 会话层--------会话 传输层--------进程的接收和发送 网络层--------寻主机 数据链路层----相邻节点的可靠传…

CAcUiDockControlBar初始位置 2023/8/19 下午3:51:18

2023/8/19 下午3:51:18 CAcUiDockControlBar初始位置 2023/8/19 下午3:52:00 CAcUiDockControlBar的初始位置是根据其在程序代码中的设置而确定的。通常情况下,它的初始位置可以通过以下几种方式进行设置: 使用Create函数:在创建CAcUiDockControlBar对象时,可以调用Cre…

2023/8/12 下午8:41:46 树状控件guilite

2023/8/12 下午8:41:46 树状控件guilite 2023/8/12 下午8:42:08 树状控件(Tree View)是一种常见的图形用户界面(GUI)元素,它通常用于显示层次结构数据或文件系统的目录结构。Guilite 是一个轻量级的跨平台 GUI 库,支持多种控件,包括树状控件。 在 Guilite 中使用树状…

Ubuntu22.04 交叉编译gcc9.5 for arm

一、准备 环境:ubuntu22.04为刚刚安装,未安装gcc等包 vi ~/.bashrc输入 export PATH$PATH:/opt/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin 保存,reboot 安装: sudo apt install cmake sudo apt install gawk sudo apt instal…

[BJDCTF2020]Mark loves cat

先用dirsearch扫一下,访问一下没有什么 需要设置线程 dirsearch -u http://8996e81f-a75c-4180-b0ad-226d97ba61b2.node4.buuoj.cn:81/ --timeout2 -t 1 -x 400,403,404,500,503,429使用githack python2 GitHack.py http://8996e81f-a75c-4180-b0ad-226d97ba61b2.…

详解Linux的系统调用fork()函数

在Linux系统中,fork()是一个非常重要的系统调用,它的作用是创建一个新的进程。具体来说,fork()函数会在当前进程的地址空间中复制一份子进程,并且这个子进程几乎完全与父进程相同,包括进程代码、数据、堆栈以及打开的文…

【Java 进阶篇】JDBC 数据库连接池详解

数据库连接池是数据库连接的管理和复用工具,它可以有效地降低数据库连接和断开连接的开销,提高了数据库访问的性能和效率。在 Java 中,JDBC 数据库连接池是一个常见的实现方式,本文将详细介绍 JDBC 数据库连接池的使用和原理。 1…

算法强训:第三十四天

文章目录 收件人列表养兔子一、收件人列表OJ链接 本题思路:先接收到一个数字,代表接下来是多少组数据 ,逐个接收每个名字,如果名字中没有,或者 则直接输出,否则在改名字前后拼接"\""再输出,除最后一个名字外,每个名字之后都有一个", " ,该组用例…

openstack-ansible部署zed版本all-in-one

目录 部署架构部署节点准备安装Rocky linux 9配置rocky 目标节点配置网络配置rocky linux网卡的创建永久网桥的方法: 部署前配置 部署架构 可用的操作系统: Debian11(bullseye) Ubuntu 22.04或20.04 CentOS Stream 9 或 Rocky Lin…

2023/8/8 下午10:42:04 objectarx

2023/8/8 下午10:42:04 objectarx 2023/8/8 下午10:42:16 ObjectARX(AutoCAD Runtime Extension)是用于开发和自定义AutoCAD软件的编程接口。ObjectARX允许开发者使用C++、.NET等编程语言来创建插件、扩展功能和定制化AutoCAD的行为。 通过ObjectARX,开发者可以访问Auto…

视频讲解|含可再生能源的热电联供型微网经济运行优化(含确定性和源荷随机两部分代码)

1 主要内容 该视频为《含可再生能源的热电联供型微网经济运行优化》代码讲解内容,对应的资源下载链接为考虑源荷不确定性的热电联供微网优化-王锐matlab(含视频讲解),对该程序进行了详尽的讲解,基本做到句句分析和讲解…

国庆10.4

QT实现TCP服务器客户端 服务器 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> //服务器头文件 #include <QTcpSocket> //客户端头文件 #include <QList> //链表容器 #include <QMe…

【算法学习】-【双指针】-【快乐数】

LeetCode原题链接&#xff1a;202. 快乐数 下面是题目描述&#xff1a; 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。 然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。 如果…

docker基础命令

目录 一、安装docker 1、查看是否已安装docker 2、如果系统中已经存在旧的Docker 3、配置Docker的yum库 4、安装成功后&#xff0c;执行命令&#xff0c;配置Docker的yum源 5、安装Docker 6、启动和校验 7、配置镜像加速器&#xff0c;阿里云镜像加速为例 7.1、在首页的…

NestJs和Vite使用monorepo管理项目中,需要使用共享的文件夹步骤

NestJs和Vite使用monorepo管理项目中,需要使用共享的文件夹步骤 1 首先需要将nest-cli打包的功能通过webpack接管 nest-cli.json文件内容 {"$schema": "https://json.schemastore.org/nest-cli","collection": "nestjs/schematics",…

SpringCloudStreamkafka接收jsonarray字符串失败

文章目录 场景现象问题处理 场景现象 kafka作为消息队列&#xff0c;作为前端设备数据到后端消费的渠道&#xff0c;也被多个不同微服务消费一个服务与前端边缘计算设备建立socket消息&#xff0c;接收实时交通事件推送&#xff0c;再将事件发送到kafka里面。此处使用的是Spri…