机器学习面试常见问题(一)
1、KNN和kmeans聚类有什么区别?
这两种算法的本质区别是,kmeans本质上是无监督的,而KNN本质上是有监督的 。kmeans是一种聚类算法,而KNN是分类算法。
2、机器学习中什么时候需要正则化?
当模型显示出过拟合/欠拟合时,就需要正则化。正则化引入了成本项,用于为目标函数带来更多特征。正则化试图将许多变量的系数变为0,从而减少成本项。这有助于降低模型复杂度,使模型的泛化能力更好。
3、常见的机器学习方法(https://zhuanlan.zhihu.com/p/31711537)
当前的「三大」最常见的机器学习任务:
回归(Regression)
分类(Classification)
聚类(Clustering)
两大数据降维(Dimensionality Reduction)问题:
特征选取(Feature Selection)
特征提取(Feature Extraction)
1.回归
回归是一种用于连续型数值变量预测和建模的监督学习算法,特征是具有数值型目标变量的标注数据集,即一个用以监督算法的观察样本,都有一个数值型真值。
1.1(正则化)线性回归
1.2 回归树(集成方法)
1.3 深度学习
1.4 荣誉奖:最近邻算法
2. 分类
分类是一种用于分类变量建模及预测的监督学习算法,正如你所见,许多回归算法都有其对应的分类形式,分类算法往往适用于类别(或其可能性)的预测,而非数值。
2.1 (正则化)逻辑回归
2.2 分类树(集成方法)
2.3 深度学习
2.4 支持向量机
2.5 朴素贝叶斯
3.聚类
聚类是基于数据内部结构来寻找样本自然族群(集群)的无监督学习任务,由于聚类属于无监督学习,也就不会输出“正确的答案”,评价结果时往往要用到数据可视化。如果你需要“正确的答案”,亦即训练集中存在预标注的集群,那么用分类算法会更加合适。
K 均值
3.1 K均值
3.2 仿射传播
3.3 分层 / 层次
3.4 DBSCAN
维度灾难
在机器学习领域,“维度(Dimensionality)”通常指数据集中的特征数量(即输入变量的个数)。
当特征的个数特别大的时候(相对于数据集中观测样本的数量来说),训练出一个有效的模型,对算法要求就会特别高(即,用现有的算法训练出一个有效的模型特别困难)。这就是所谓的“维度灾难(Curse of Dimensionality)”,特别是对依赖于距离计算的聚类算法而言。
对于“维度灾难”,有位 Quora 用户给出了一个非常好的类比:
假设有一条100码的直线,而你在该直线的某处掉了一枚硬币。要找回硬币并不难,你只需沿着这条线走就行了,最多花上你2分钟时间。
然后,假设有一个长和宽都是100码的广场,而你是把硬币掉在广场的某个位置。现在再想找回它,可就不容易了,这好比在两个并排的足球场中找针,可能会耗上你几天时间。
再然后,假设是一个长、宽、高都是100码的立方体,那就好比是在30层楼高的大型体育场内找针……
随着维度的增加,在空间中搜索的难度也会变得愈加困难。
这就需要数据降维的办法:特征选取和特征提取。
4. 特征选取
特征选取是从你的数据集中过滤掉不相关或冗余的特征。特征选取与特征提取的关键区别在于:特征选取是从原特征集中选取一个子特征集,而特称提取则是在原特征集的基础上重新构造出一些(一个或多个)全新的特征。
需要注意的是,某些监督式机器学习算法已经具备了内在的特征选取机制:比如正则回归与随机森林。通常,我们是建议一开始优先尝试这些算法,如果它们能匹配上你的问题的话。对此我们已经做过介绍。
作为独立的任务,特征选取既可以是非监督式的(如方差阈值),又可以是监督式的(比遗传算法)。有必要的话,你还可以把多种方法以某种合理的方式整合在一起。
4.1 方差阈值
4.2 相关性阈值
4.3 遗传算法
4.4 荣誉奖:逐步搜索
5.特征提取
特征提取是用来创造一个新的、较小的特征集,但仍能保留绝大部分有用的信息。值得再提的是,特征选取是用来保留原始特征集中的一部分子特征集,而特征提取则是创造全新的特征集。
作为独立的任务,特征提取可以是非监督式的(如主成分分析)或监督式的(如线性判别分析)。
5.1 主成分分析
5.2 线性判别分析
5.3 自编码机
4、什么是机器学习
机器学习的三要素:数据、算法、模型
机器学习研究的是从数据中通过选取合适的算法,自动的归纳逻辑或规则,并根据这个归纳的结果(模型)与新数据来进行预测。
5、怎么评价一个模型的好坏?
(1)测试集、交叉验证集和测试集
(2) 偏差、方差与学习曲线
偏差和方差时有冲突的,偏差(反映模型的拟合能力、复杂程度),方差(刻画了数据扰动所造成的影响)。如果模型训练程度不足,则偏差bias主导泛化错误率;如果过拟合,数据的轻微扰动会对错误率造成很大影响,也就是学到了非全局的特性。
(3)……
6、了解正则化么?
正则化是针对过拟合而提出的,以为在求解模型最优的是一般优化最小的经验风险,现在在该经验风险上加入模型复杂度这一项(正则化项是模型参数向量的范数),并使用一个rate比率来权衡模型复杂度与以往经验风险的权重,如果模型复杂度越高,结构化的经验风险会越大,现在的目标就变为了结构经验风险的最优化,可以防止模型训练过度复杂,有效的降低过拟合的风险。
奥卡姆剃刀原理,能够很好的解释已知数据并且十分简单才是最好的模型。
7、L1和L2的作用和区别?
作用:降低模型复杂度,得到更小的泛化误差,降低过拟合程度。
区别:L1正则化就是在loss function后边所加正则项为L1范数,加上L1范数容易得到稀疏解(0比较多)。L2正则化就是loss function后边所加正则项为L2范数的平方,加上L2正则相比于L1正则来说,得到的解比较平滑(不是稀疏),但是同样能够保证解中接近于0(但不是等于0,所以相对平滑)的维度比较多,降低模型的复杂度。
8、简单说下有监督学习和无监督学习的区别?
有监督学习:对具有标记的训练样本进行学习,以尽可能对训练样本集外的数据进行分类预测。(LR,SVM,BP,RF,GBDT)
无监督学习:对未标记的样本进行训练学习,比发现这些样本中的结构知识。(KMeans,DL)
机器学习面试常见问题(一)相关推荐
- [机器学习] 面试常见问题+解析汇总
机器学习面试题的分类 The first really has to do with the algorithms and theory behind machine learning. You'll ...
- [面试]机器学习面试常见问题
原文链接 前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话, ...
- 算法岗面试常见问题大集合
1.参考博客 算法岗面试常见问题大集合 算法工程师手册 2.模型过拟合的解决方法 L1/L2正则化(原理奥卡姆剃刀):L2正则化也叫作权重衰减,目标函数中增加所有权重w参数的平方之和,迫使所有w可能趋 ...
- 研究生计算机专业知识复试面试常见问题
研究生计算机专业复试面试常见问题 操作系统 1. 进程和线程区别和联系 2. 常见的调度算法 3. 死锁的产生和解决 4. 虚拟内存,页面置换算法 5. 磁盘调度 数据结构 1. 常见的排序算法过程和 ...
- 27场机器学习面试后,来划个概念重点吧
机器之心报道 编辑:小舟 机器学习面试宝典,有这一本就够了. 在机器学习和数据科学岗位的面试中,机器学习领域的概念是经常考察的内容.一位近期经过 27 次 AI 领域面试(包括 Google 等大型公 ...
- 【基础概念】 Redis简介和面试常见问题
Redis简介和面试常见问题 简介: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起 ...
- html手机端适配怎么调试,html5面试常见问题及答案:移动端布局与适配篇
原标题:html5面试常见问题及答案:移动端布局与适配篇 1. 移动布局自适应不同屏幕的几种方式 (1)响应式布局 (2)100%布局(弹性布局) (3)等比缩放布局(rem) 2. iscroll安 ...
- 机器学习面试:这25个实用又有深度的问题
机器学习面试可以有趣且有深度么? 这是你的机器学习系统? --嗯对呀!把数据倒进这堆线性代数,然后在另一端迎接答案. 那答案是错的怎么办? --搅一搅,拌一拌,答案就会越来越对了... 大多数数据科学 ...
- 业界丨涨薪20%!听听这位资深机器学习面试官的内心独白
在营长的众多死党微信群,营长发现,大家很爱谈论机器学习面试,也是,毕竟面试表现越好,银子也能谈得越高,能把自己卖个好价钱,当然关心了. 对于这个话题最为关注的,莫过于研究生毕业的孩纸,和有两.三年工作 ...
最新文章
- ios snapkit m_如何使用自动布局和SnapKit在iOS上创建漂亮的拉伸布局
- 国内首本Android开发图书之双剑
- python numpy np.convolve()函数(返回两个一维序列的离散线性卷积)
- thymeleaf基本语法
- Codeforces 508E Arthur and Brackets 区间dp
- EXPORT_SYMBOL使用
- Airbnb React/JSX 编码规范
- 一位老师,一位领导,一个让全体学生考上目标学校的故事
- 注意满足循环终止条件时counter是否仍在+1(记洛谷P1035WA的经历,Java语言描述)
- android基础之TabSpec和TabHost
- 启动Spark出现Operation category READ is not supported in state standby
- The Importance of Money in Life
- SLAM技术的应用及发展现状
- 数据结构上机实践第14周项目1(2) - 验证算法(分块查找)
- vim 的配置详解/键盘映射配置详解
- 5G及移动边缘计算(MEC)学习笔记(1)
- 一些很好的python自动化办公方案(待整理到readthedocs中)
- 如何让客户接受你的价格比别人更高?
- 吉他指弹入门——特殊调弦
- 2.1 压力泊松方程(OpenFOAM理论笔记系列)
热门文章
- 关于ADAS系统小记
- Win10解决Visio无法提供快速搜索结果
- MAR在计算机组成原理上是啥,计算机组成原理复习材料(2)
- 教程 | VeriStand硬件在环仿真测试第一章
- 程序员被领导怒批:零点就睡觉很会养生,到能养生的地方去吧
- Java第0章 带你走进Java
- ps照片对计算机有什么要求吗,用photoshop处理照片,对电脑的cpu要求高,还是显卡要求高?...
- ArcMap求四至点坐标的方法(最小外接矩形范围)
- 可编程控制器PLC的工作原理
- 构建自己的购物搜索引擎一:写一个简单的