Python的机器学习方向是近年来不少大厂非常注重的方向之一,这也让不少同学都开始转行学习机器学习领域。这里小千为大家整理了一下大厂在机器学习方向的面试题,大家在面试前看一下说不准就能压到宝~~

1.有监督学习和无监督学习有什么区别?

有监督学习:对具有标记的训练样本进行学习,以尽可能对训练样本集外的数据进行分类预测。(LR,SVM,BP,RF,GBDT)

无监督学习:对未标记的样本进行训练学习,比发现这些样本中的结构知识。(KMeans,DL)

2.什么是正则化?

正则化是针对过拟合而提出的,以为在求解模型最优的是一般优化最小的经验风险,现在在该经验风险上加入模型复杂度这一项(正则化项是模型参数向量的范数),并使用一个rate比率来权衡模型复杂度与以往经验风险的权重,如果模型复杂度越高,结构化的经验风险会越大,现在的目标就变为了结构经验风险的最优化,可以防止模型训练过度复杂,有效的降低过拟合的风险。奥卡姆剃刀原理,能够很好的解释已知数据并且十分简单才是好的模型。

3.什么是生成模型和判别模型?

生成模型:由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型,即生成模型:P(Y|X)= P(X,Y)/ P(X)。(朴素贝叶斯、Kmeans)

生成模型可以还原联合概率分布p(X,Y),并且有较快的学习收敛速度,还可以用于隐变量的学习

判别模型:由数据直接学习决策函数Y=f(X)或者条件概率分布P(Y|X)作为预测的模型,即判别模型。(k近邻、决策树、SVM)
直接面对预测,往往准确率较高,直接对数据在各种程度上的抽象,所以可以简化模型

4.线性分类器与非线性分类器的区别以及优劣

如果模型是参数的线性函数,并且存在线性分类面,那么就是线性分类器,否则不是。

常见的线性分类器有:LR,贝叶斯分类,单层感知机、线性回归;常见的非线性分类器:决策树、RF、GBDT、多层感知机;SVM两种都有(看线性核还是高斯核)

线性分类器速度快、编程方便,但是可能拟合效果不会很好;非线性分类器编程复杂,但是效果拟合能力强;

5.特征比数据量还大时,选择什么样的分类器?

线性分类器,因为维度高的时候,数据一般在维度空间里面会比较稀疏,很有可能线性可分

对于维度极低的特征,你是选择线性还是非线性分类器?非线性分类器,因为低维空间可能很多特征都跑到一起了,导致线性不可分

下面是吴恩达的见解:

1) 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM

2.)如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel

3.)如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况

6.为什么一些机器学习模型需要对数据进行归一化?

归一化化就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。

1)归一化后加快了梯度下降求最优解的速度。等高线变得显得圆滑,在梯度下降进行求解时能较快的收敛。如果不做归一化,梯度下降过程容易走之字,很难收敛甚至不能收敛

2)把有量纲表达式变为无量纲表达式, 有可能提高精度。一些分类器需要计算样本之间的距离(如欧氏距离),例如KNN。如果一个特征值域范围非常大,那么距离计算就主要取决于这个特征,从而与实际情况相悖(比如这时实际情况是值域范围小的特征更重要)

  1. 逻辑回归等模型先验假设数据服从正态分布。

7.哪些机器学习算法不需要做归一化处理?

概率模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率,如决策树、rf。而像adaboost、gbdt、xgboost、svm、lr、KNN、KMeans之类的最优化问题就需要归一化。

8.标准化与归一化的区别

简单来说,标准化是依照特征矩阵的列处理数据,其通过求z-score的方法,将样本的特征值转换到同一量纲下。归一化是依照特征矩阵的行处理数据,其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准,也就是说都转化为“单位向量”。

9.随机森林如何处理缺失值

方法一(na.roughfix)简单粗暴,对于训练集,同一个class下的数据,如果是分类变量缺失,用众数补上,如果是连续型变量缺失,用中位数补。

方法二(rfImpute)这个方法计算量大,至于比方法一好坏?不好判断。先用na.roughfix补上缺失值,然后构建森林并计算proximity matrix,再回头看缺失值,如果是分类变量,则用没有缺失的观测实例的proximity中的权重进行投票。如果是连续型变量,则用proximity矩阵进行加权平均的方法补缺失值。然后迭代4-6次。

10.如何进行特征选择?

特征选择是一个重要的数据预处理过程,主要有两个原因:一是减少特征数量、降维,使模型泛化能力更强,减少过拟合;二是增强对特征和特征值之间的理解

常见的特征选择方式:

1) 去除方差较小的特征

2.)正则化。1正则化能够生成稀疏的模型。L2正则化的表现更加稳定,由于有用的特征往往对应系数非零。

3)随机森林,对于分类问题,通常采用基尼不纯度或者信息增益,对于回归问题,通常采用的是方差或者最小二乘拟合。一般不需要feature engineering、调参等繁琐的步骤。它的两个主要问题,1是重要的特征有可能得分很低(关联特征问题),2是这种方法对特征变量类别多的特征越有利(偏向问题)。

4)稳定性选择。是一种基于二次抽样和选择算法相结合较新的方法,选择算法可以是回归、SVM或其他类似的方法。它的主要思想是在不同的数据子集和特征子集上运行特征选择算法,不断的重复,最终汇总特征选择结果,比如可以统计某个特征被认为是重要特征的频率(被选为重要特征的次数除以它所在的子集被测试的次数)。理想情况下,重要特征的得分会接近100%。稍微弱一点的特征得分会是非0的数,而最无用的特征得分将会接近于0。

以上就是第一期Python机器学习方向的企业面试题及其答案了,还有关于机器学习方面的面试题小千会慢慢分享出来,欢迎大家持续关注哟!

本文来自千锋教育,转载请注明出处。

一线大厂在机器学习方向的面试题(一)相关推荐

  1. 机器学习方向企业面试题(一)

    Python的机器学习方向是近年来不少大厂非常注重的方向之一,这也让不少同学都开始转行学习机器学习领域,这里小千为大家整理了一下大厂在机器学习方向的面试题,大家在面试前看一下说不准就能压到宝~~ 1. ...

  2. Python机器学习方向企业面试题(三)

    到这我们已经分享第三期Python机器学习方向的面试题了,是不是感觉前两期的面试题非常有用呢?最后一期20道题送给大家. 1.人工智能与机器学习的区别? 基于经验数据的特性而设计和开发的算法被称为机器 ...

  3. 机器学习方向企业面试题(二)

    机器学习方向的企业面试题昨天我们分享了第一期,今天我们继续分享第二期,还是老规矩喜欢记得收藏分享给小伙伴~~ 1.什么是偏差与方差? 泛化误差可以分解成偏差的平方加上方差加上噪声.偏差度量了学习算法的 ...

  4. 【2021新版】一线大厂 Go 高频面试题,整理分析合集

    随着云计算时代的到来,Go 的应用越来越广泛,已然成为首选编程语言,而且,薪资也水涨船高. 以字节跳动为例,Go 语言是字节跳动内部使用最多的编程语言.为啥?因为字节跳动更看重效率,上手简单,学习难度 ...

  5. 软件测试面试-一线大厂必问的测试思维面试题

    五.测试思维 5.1 打电话功能怎么去测? 我们会从几个方面去测试:界面.功能.兼容性.易用性.安全.性能.异常. 1)界面我们会测试下是否跟界面原型图一致,考虑浏览器不同显示比例,屏幕分辨率. 2) ...

  6. 从一道面试题谈谈一线大厂码农应该具备的基本能力

    作者:Yura Shevchenko 来源:skypixel.com 关于一线码农的面试,我想说 求职面试在绝大部分人来说都是必不可少的,自己作为求职者也参与了不少面试(无论成功或者失败),作为技术面 ...

  7. 高频一线大厂 Python 面试题:算法+爬虫+数据处理+基础

    很多学Python的小伙伴找工作时,只是一家家投简历,一遍遍做笔试,一次次去面试,然后一次次被拒绝--其实并不知道如何系统准备一场面试,每次面试都像撞大运,这样的求职过程,既困难又痛苦. 在本文中,我 ...

  8. 高频一线大厂Python面试题:算法+爬虫+数据处理+基础

    很多学Python的小伙伴找工作时,只是一家家投简历,一遍遍做笔试,一次次去面试,然后一次次被拒绝--其实并不知道如何系统准备一场面试,每次面试都像撞大运,这样的求职过程,既困难又痛苦. 在本文中,我 ...

  9. 闭关30天,献上【Java一线大厂高岗面试题解析合集】,冲刺金九银十!

    概述 时间不等人,2022年转眼就要过去大半了,春招在疫情中度过,不知有多少人还在惋惜... 马上又是秋招的高峰"金九银十",估计现在就已经有不少的程序猿(媛)朋友早就踏上提前批之 ...

最新文章

  1. 资源丨机器学习进阶路上不可错过的28个视频
  2. IBM的“认知计算时代”
  3. android HTTP发送及MD5加密收集
  4. CEO不当了,CTO也不做了!我要回去写代码,这才是我所热爱的!
  5. 继承机制中的构造器和析构器 - C++快速入门17
  6. Netflix正式开源其API网关Zuul 2--转
  7. Linux 编译 libc log,在Android的源码中添加LOG
  8. java string == 比较,Java 基础 之 String 的比较
  9. 连亏172亿,割肉卖楼,年收3700亿、闻名全球的巨头,败退中国!
  10. 搭建 WPF 上的 UI 自动化测试框架
  11. 文件后缀名修改重命名,两种更改的小技巧
  12. OPPO R9sPlus怎么刷机 OPPO R9sPlus的刷机教程 OPPO R9sPlus完美解除账号锁
  13. java前后端分离解决session,解决前后端分离开发sessionId不一致问题
  14. 服务器文档分类,服务器的分类
  15. Java课程学习四:编程题
  16. java爬取今日头条_今日头条抓取街拍图片数据集
  17. 在线数据库管理工具 web-db mongodb
  18. 题目: 输入某年某月某日,判断这一天是这一年的第几天
  19. 地图服务平台技术方案
  20. 提升OneDrive空间

热门文章

  1. Wappo BFS求最短路+路径记录
  2. python的dll文件在哪_Python运行DLL文件的方法
  3. lombok中的@Data注解与MyBatis的懒加载机制冲突解决
  4. 计算机一级电子表格TF函数,tf.slice()函数详解(极详细)
  5. 牛客题霸 NC21 链表内指定区间反转
  6. Visual C++——黄维通《 Visual C++面向对象与可视化程序设计》——习题4-5
  7. Eclipse——导出可执行jar包
  8. Game with modulo
  9. 集训队脱单大法:这是一道只能由学姐我自己出数据的水题
  10. 大数据架构师基础:hadoop家族,Cloudera产品系列等各种技术