【面经】机器学习面试前看这篇!

大家好,我是Lucy@FinTech社区,今天的文章将和大家一起讨论机器学习岗位的求职问题。欢迎添加以下微信,加入Quant社群,提认知,攒人脉,求职招聘!

图片

近些年来,机器学习相关岗位的求职热度一直居高不下,那么什么是机器学习机器学习能做些什么呢?以及机器学习面试会问些什么呢?

 

机器学习的定义如下所述:

■ 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。

 

■ 机器学习是对能通过经验自动改进的计算机算法的研究。

 

■ 机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。

目前机器学习被认为是人工智能核心,是使计算机具有智能的根本途径。

 

1 机器学习可以用来做什么?

 

机器学习是研究怎样使用计算机模拟或实现人类学习活动的科学,是人工智能中最具智能特征,最前沿的研究领域之一。

 

目前,机器学习的应用主要分为两类方向:

■ 第一类是传统机器学习,主要是研究学习机制,注重探索模拟人的学习机制;

 

■ 第二类是大数据环境下机器学习,主要是研究如何有效利用信息,注重从巨量数据中获取隐藏的、有效的、可理解的知识。

图片

 

2 如何使用机器学习?

 

众所周知,机器学习数据分析的首选语言是 Python我们应该如何使用 Python 进行机器学习编程呢?一般来说首推使用 Anaconda + Jupyter Notebook 搭建开发环境。

 

Anaconda 可以看作是增值版的 Python,并使用 Conda 进行包管理。它附带了可进行大规模数据处理、预测分析和科学计算等的包,乃是进行数据分析的一大利器。

官网下载地址:Download Anaconda

 

Jupyter Project 是 IPython 的一个衍生项目,以 Julia,Python 和 R 作为核心编程语言,支持几十种语言的执行环境(内核)。Jupyter Notebook 是 Jupyter 的 Web 交互式计算环境,Jupyter Notebook 文档(.ipynb)实际上是一个 JSON 文档,可以包含代码、文本(Markdown)、数学公式、图形和多媒体。

 

使用 Jupyter Notebook,可以让你的文档和代码相辅相成,它的优秀的可视化能力,使得数据分析工程师能够专注于分析过程,而不必在可视化方面下太多心思。

 

安装 Jupyter Notebook在 Anaconda Prompt 终端中输入:

“conda install jupyter notebook”

 

即可。Anaconda 会自动下载相关包与依赖。

 

3 面试机器学习会问些什么?

 

第一类问题与机器学习背后的算法和理论有关。必须了解算法之间的比较,以及怎样正确地评价它们的效率和准确性。具体的问题如下所述:

 

■ 什么是偏差(bias)、方差(variable)之间的均衡?

 

■监督学习和非监督学习有什么不同?

 

■KNN和 k-means 聚类由什么不同?

 

■解释一下ROC曲线的原理。

 

■如何对决策树进行剪枝?

 

■模型的精度和模型的性能哪个对你更重要?
 

 

■什么是F1数,怎么使用它?
 

 

■如何处理一个不平衡的数据集?
 

 

■什么时候你应该使用分类而不是回归?
 

 

■举个例子,说明使用集成学习会很有用。
 

 

■你如何确保你的模型没有过拟合?
 

 

■如何评估你的机器学习模型的有效性?

图片

第二类与编程能力相关,对于算法和理论的运行能力有关。具体的问题如下所述:

■ 如何处理数据集中丢失或损坏的数据?

 

■ 是否有使用Spark或大数据工具进行机器学习的经验?
 

 

■ 选择一个算法为并行实现编写psuedo代码。
 

 

■ 使用过哪些数据可视化库?对最佳数据可视化工具有何看法?

目前网络上关于机器学习的学习资源非常丰富,我们比较推荐吴恩达的公开课,可以参照链接:

 

https://github.com/scruel/ML-AndrewNg-Notes

 

好了这就是本期关于机器学习面试的文章了,欢迎大家多多评论、多多转发~