博客
【求职分享】
【面经】机器学习面试前看这篇!
Feb 01,2023
分享本文:
近些年来,机器学习相关岗位的求职热度一直居高不下,那么什么是机器学习,机器学习能做些什么呢?以及机器学习面试会问些什么呢?
机器学习的定义如下所述:
-
机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。
-
机器学习是对能通过经验自动改进的计算机算法的研究。
-
机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。
目前机器学习被认为是人工智能核心,是使计算机具有智能的根本途径。
01 机器学习可以用来做什么?
机器学习是研究怎样使用计算机模拟或实现人类学习活动的科学,是人工智能中具智能特征,前沿的研究领域之一。
目前,机器学习的应用主要分为两类方向:
-
一类是传统机器学习,主要是研究学习机制,注重探索模拟人的学习机制;
-
二类是大数据环境下机器学习,主要是研究如何有效利用信息,注重从巨量数据中获取隐藏的、有效的、可理解的知识。
02 如何使用机器学习?
众所周知,机器学习数据分析的语言是 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 会自动下载相关包与依赖。
03 面试机器学习会问些什么?
一类问题与机器学习背后的算法和理论有关。必须了解算法之间的比较,以及怎样正确地评价它们的效率和准确性。具体的问题如下所述:
-
什么是偏差(bias)、方差(variable)之间的均衡?
-
监督学习和非监督学习有什么不同?
-
KNN和 k-means 聚类由什么不同?
-
解释一下ROC曲线的原理。
-
如何对决策树进行剪枝?
-
模型的精度和模型的性能哪个对你更重要?
-
什么是F1数,怎么使用它?
-
如何处理一个不平衡的数据集?
-
什么时候你应该使用分类而不是回归?
-
举个例子,说明使用集成学习会很有用。
-
你如何确保你的模型没有过拟合?
-
如何评估你的机器学习模型的有效性?
第二类与编程能力相关,对于算法和理论的运行能力有关。具体的问题如下所述:
-
如何处理数据集中丢失或损坏的数据?
-
是否有使用Spark或大数据工具进行机器学习的经验?
-
选择一个算法为并行实现编写psuedo代码。
-
使用过哪些数据可视化库?对佳数据可视化工具有何看法?
下一页
下一页