机器学习测试题_深圳光环大数据培训
- 格式:pdf
- 大小:355.55 KB
- 文档页数:12
机器学习和深度学习技能树、面试宝典_光环大数据培训人工智能的浪潮正在席卷全球,诸多词汇时刻萦绕在我们耳边:人工智能(Artificial Intelligence)、机器学习(Machine Learning)、深度学习(Deep Learning)。
为了帮助大家更好帮助大家学习这些新技术,小遍整理了相关的学习资料,希望这些资料对刚入门的同行有所帮助。
一、人工智能、机器学习和深度学习的区别?机器学习:一种实现人工智能的方法机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。
与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。
举个简单的例子,当我们浏览网上商城时,经常会出现商品推荐的信息。
这是商城根据你往期的购物记录和冗长的收藏清单,识别出这其中哪些是你真正感兴趣,并且愿意购买的产品。
这样的决策模型,可以帮助商城为客户提供建议并鼓励产品消费。
机器学习直接来源于早期的人工智能领域,传统的算法包括决策树、聚类、贝叶斯分类、支持向量机、EM、Adaboost等等。
从学习方法上来分,机器学习算法可以分为监督学习(如分类问题)、无监督学习(如聚类问题)、半监督学习、集成学习、深度学习和强化学习。
传统的机器学习算法在指纹识别、基于Haar的人脸检测、基于HoG特征的物体检测等领域的应用基本达到了商业化的要求或者特定场景的商业化水平,但每前进一步都异常艰难,直到深度学习算法的出现。
深度学习:一种实现机器学习的技术深度学习本来并不是一种独立的学习方法,其本身也会用到有监督和无监督的学习方法来训练深度神经网络。
但由于近几年该领域发展迅猛,一些特有的学习手段相继被提出(如残差网络),因此越来越多的人将其单独看作一种学习的方法。
最初的深度学习是利用深度神经网络来解决特征表达的一种学习过程。
深度神经网络本身并不是一个全新的概念,可大致理解为包含多个隐含层的神经网络结构。
机器学习模拟题与参考答案一、单选题(共114题,每题1分,共114分)1.机器学习这个术语是由( )定义的?A、Arthur SamuelB、Guido van RossumC、James GoslingD、以上都不是正确答案:A2.在一个线性回归问题中,我们使用 R 平方(R-Squared)来判断拟合度。
此时,如果增加一个特征,模型不变,则下面说法正确的是?A、如果 R-Squared 增加,则这个特征有意义B、如果R-Squared 减小,则这个特征没有意义C、仅看 R-Squared 单一变量,无法确定这个特征是否有意义。
D、以上说法都不对正确答案:C3.在SVM中, margin的含义是()A、损失误差B、间隔C、幅度D、差额正确答案:B4.下列哪种方法可以用来缓解过拟合的产生:( )。
A、正则化B、增加更多的特征C、以上都是D、增加模型的复杂度正确答案:A5.当数据分布不平衡时,我们可采取的措施不包括( )。
A、对数据分布较少的类别过采样B、对数据分布较多的类别欠采样C、对数据分布较少的类别赋予更大的权重D、对数据分布较多的类别赋予更大的权重正确答案:D6.同质集成中的个体学习器亦称()A、异质学习器B、同质学习器C、基学习器D、组件学习器正确答案:C7.以下哪些是无序属性()A、{小,中,大}B、闵可夫斯基距离C、{飞机,火车、轮船}D、{1,2,3}正确答案:C8.下列关于过拟合的说法错误的是A、过拟合是指模型在训练集上表现很好,但是在交叉验证集和测试集上表现一般B、解决过拟合可以采用Dropout方法C、解决过拟合可以采用参数正则化方法D、数据集扩增不能用来解决过拟合问题正确答案:D9.神经网络算法有时会出现过拟合的情况,那么采取以下哪些方法解决过拟合更为可行()。
A、减少训练数据集中数据的数量B、增大学习的步长C、为参数选取多组初始值,分别训练,再选取一组作为最优值D、设置一个正则项减小模型的复杂度正确答案:D10.下列是机器学习中降维任务的准确描述的为A、依据某个准则对项目进行排序B、将其映射到低维空间来简化输入C、预测每个项目的实际值D、对数据对象进行分组正确答案:B11.对于在原空间中线性不可分问题,支持向量机()。
数据科学家常问的40道面试题_深圳光环大数据人工智能培训想去机器学习初创公司做数据科学家?这些问题值得你三思!机器学习和数据科学被看作是下一次工业革命的驱动器。
这也意味着有许许多多令人激动的初创公司正在起步成长、寻找专业人士和数据科学家。
它们可能是未来的特斯拉、谷歌。
对于有职业抱负的你来说,看好一家好的创业公司团队后,如何能够脱颖而出,进入一家靠谱的创业团队呢?想得到这样的工作并不容易。
首先你要强烈认同那个公司的理念、团队和愿景。
同时你可能会遇到一些很难的技术问题。
而这些问题则取决于公司的业务。
他们是咨询公司?他们是做机器学习产品的?在准备面试之前就要了解清楚这些方面的问题。
为了帮你为今后的面试做准备,我准备了40道面试时可能碰到的棘手问题。
如果你能回答和理解这些问题,那么放心吧,你能顽强抵抗住面试。
注意:要回答这些问题的关键是对机器学习和相关统计概念有具体的实际理解。
机器学习面试题问1:给你一个有1000列和1百万行的训练数据集。
这个数据集是基于分类问题的。
经理要求你来降低该数据集的维度以减少模型计算时间。
你的机器内存有限。
你会怎么做?(你可以自由做各种实际操作假设。
)答:你的面试官应该非常了解很难在有限的内存上处理高维的数据。
以下是你可以使用的处理方法:1.由于我们的RAM很小,首先要关闭机器上正在运行的其他程序,包括网页浏览器,以确保大部分内存可以使用。
2.我们可以随机采样数据集。
这意味着,我们可以创建一个较小的数据集,比如有1000个变量和30万行,然后做计算。
3.为了降低维度,我们可以把数值变量和分类变量分开,同时删掉相关联的变量。
对于数值变量,我们将使用相关性分析。
对于分类变量,我们可以用卡方检验。
4.另外,我们还可以使用PCA(主成分分析),并挑选可以解释在数据集中有最大偏差的成分。
5.利用在线学习算法,如VowpalWabbit(在Python中可用)是一个可能的选择。
6.利用Stochastic GradientDescent(随机梯度下降)法建立线性模型也很有帮助。
2022机器学习专项测试试题及答案1.机器学习的流程包括:分析案例、数据获取、________和模型验证这四个过程。
()A.数据清洗A、数据清洗B.数据分析C.模型训练(正确答案)D.模型搭建2.机器翻译属于下列哪个领域的应用?() *A.自然语言系统(正确答案)A. 自然语言系统(正确答案)B.机器学习C.专家系统D.人类感官模拟3.为了解决如何模拟人类的感性思维, 例如视觉理解、直觉思维、悟性等, 研究者找到一个重要的信息处理的机制是()。
*A.专家系统B.人工神经网络(正确答案)C.模式识别D.智能代理4.要想让机器具有智能, 必须让机器具有知识。
因此, 在人工智能中有一个研究领域, 主要研究计算机如何自动获取知识和技能, 实现自我完善, 这门研究分支学科叫()。
*A. 专家系统A.专家系统B. 机器学习(正确答案)C. 神经网络D. 模式识别5.如下属于机器学习应用的包括()。
*A.自动计算, 通过编程计算 456*457*458*459 的值(正确答案)A. 自动计算,通过编程计算 456*457*458*459 的值(正确答案)A.自动计算,通过编程计算 456*457*458*459 的值(正确答案)B.文字识别, 如通过 OCR 快速获得的图像中出汉字, 保存为文本C.语音输入, 通过话筒将讲话内容转成文本D.麦克风阵列, 如利用灵云该技术实现远场语音交互的电视6.对于神经网络模型, 当样本足够多时, 少量输入样本中带有较大的误差甚至个别错误对模型的输入-输出映射关系影响很小, 这属于()。
*A. 泛化能力A.泛化能力B. 容错能力(正确答案)C. 搜索能力D. 非线性映射能力7.下列选项不属于机器学习研究内容的是() *A. 学习机理A.学习机理B. 自动控制(正确答案)C. 学习方法D. 计算机存储系统8.机器学习的经典定义是: () *A.利用技术进步改善系统自身性能A. 利用技术进步改善系统自身性能B.利用技术进步改善人的能力C.利用经验改善系统自身的性能(正确答案)D.利用经验改善人的能力9.研究某超市销售记录数据后发现, 买啤酒的人很大概率也会购买尿布, 这种属于数据挖掘的那类问题()。
机器学习算法应用中常用技巧_深圳光环大数据人工智能培训1. 取样数据量很大的时候,想要先选取少量数据来观察一下细节。
indices = [100,200,300]# 把sample原来的序号去掉重新分配samples = pd.DataFrame(data.loc[indices], columns = data.keys()).reset_index(drop = True)print "Chosen samples:"display(samples)2. Split数据用 sklearn.cross_validation.train_test_split 将数据分为 train 和test 集。
sklearnfrom sklearn import cross_validationX = new_datay = data['Milk']X_train, X_test, y_train, y_test = cross_validation.train_test_split(X, y, test_size = 0.25, random_state = 0)print len(X_train), len(X_test), len(y_train), len(y_test)分离出 Features & Label有时候原始数据并不指出谁是label,自己判断# Store the 'Survived' feature in a new variable and remove it fromthe datasetoutcomes = full_data['Survived']data = full_data.drop('Survived', axis=1)3. 用 train 来训练模型,用 test 来检验用 Decision Tree 来做个例子sklearnfrom sklearn import treeregressor = tree.DecisionTreeRegressor()regressor = regressor.fit(X_train, y_train)score = regressor.score(X_test, y_test)4. 判断 feature 间的关联程度pd.scatter_matrix(data, alpha = 0.3, figsize = (14, 8), diagonal = 'kde');5. scaling当数据不符合正态分布的时候,需要做 scaling 的处理。
机器学习基础_深圳光环大数据人工智能培训本次分享主要分为以下四个部分:1.ML技术都用在哪里?2.最常用的LR是什么鬼?3.ML工程师每天都在干什么?4.DL在企业里都怎么玩?一、ML技术都用在哪里?以一次搜索引擎检索为例,在搜索框中输入关键词“承德旅游”。
可以发现,在搜索结果中既有自然搜索的结果也有sponsored search的广告结果。
在这样一次检索的背后发生了什么呢?下图是一个检索的示意图。
最前端是WEB 服务的网关,比如Nginx,Tengine这样的服务器。
输入的查询词是“承德旅游”。
首先,它会进入高级检索模块,其中包含很多步骤,比如query分析、query变换、query规约、关键词扩展等。
找到了query召回信号之后,进入基础检索进行召回,比如广告主文案的召回。
下图最下部分是检索索引部分。
众所周知,在sponsored search中,广告的排序是和广告在展示后是否会被用户点击是直接相关的。
但决定广告在一个队列里时的先后顺序时,就需要用到机器学习。
这是一个典型的二分类,即点击或不点击。
点击率预估模块可以在下图的左侧找到。
类似的机器学习的例子还有很多。
比如,打开手机淘宝,在这一块区域中,每一个人看到的结果都不一样。
右边是手机淘宝的首页下方的猜你喜欢商品推荐模块。
这个模块会根据用户的长短期兴趣来推荐不同的商品。
像这样的商品推荐应用中就大量地使用了机器学习相关的技术。
类似的系统有很多,比如Netflix,它曾是美国的一个租碟公司,现在主营网络视频和电视直播等等。
下图是它的系统架构图。
其中既有搜索也有推荐,大量的使用了机器学习的相关技术。
下图是一个简要的淘宝推荐示意图。
可以从用户的行为日志中挖掘可能的商品和商品之间的关联,以及用户的喜好。
在做出一些推荐之后,会对推荐进行排序、过滤等。
这其中,商品展示后是否会被用户点击,用户点击后是否会购买,都是典型的二分类问题,都可以转化为机器学习问题来处理。
快速选择合适的机器学习算法_深圳光环大数据人工智能培训机器学习算法速查表机器学习算法速查表帮助你从各种机器学习算法中选择,以找到适合你的具体问题的算法。
本文将引导你完成如何使用速查表的过程。
由于该速查表是专为初学者数据科学家和分析师设计的,所以在讨论算法时,我们将作出一些简化的假设。
这里推荐的算法是来自几个数据科学家和机器学习专家和开发人员的编译反馈和提示。
有几个问题,我们还没有达成协议,对于这些问题,我们试图突出共性及调和差异。
稍后将会添加其他算法,因为我们的库增长包含一套更完整的可用方法。
如何使用速查表将图表上的路径和算法标签读为“如果 <路径标签> 则使用<算法>”。
例如:如果要进行降维,则使用主成分分析法。
如果需要快速的数值预测,请使用决策树或逻辑回归。
如果需要分层结果,请使用层次聚类。
有时多个分支适用,其他时候他们都不是绝配。
重要的是要记住,这些路径旨在作为有经验的建议,因此有些建议并不准确。
我谈到的几位数据科学家说,找到最好算法的唯一方法就是尝试所有的算法。
机器学习算法的类型本节提供最受欢迎的机器学习类型的概述。
如果你熟悉这些类型,并希望继续讨论特定的算法,则可以跳过本节并转到下面的“何时使用特定算法”。
监督学习监督学习算法基于一组示例进行预测。
例如,可以使用历史销售来估计未来价格。
通过监督学习,你有一个输入变量,由标记的训练数据和期望的输出变量组成。
你使用算法分析训练数据,来得到将输入映射到输出的函数。
这个推断函数通过从训练数据推广来预测未知情况下的结果来映射新的未知示例。
分类:当数据用于预测分类变量时,监督学习也称为分类。
当分配标签或指示符时,狗或猫分配给图像就是这种情况。
当只有两个标签时,这被称为二进制分类。
当有两类以上时,这些问题被称为多类分类。
回归:当预测连续值时,问题变成一个回归问题。
预测:这是基于过去和现在的数据来预测未来的过程。
这是最常用的分析趋势。
机器学习:集成算法(Ensemble Method)_深圳光环大数据培训1. 集成算法:将多个分类器集成起来而形成的新的分类算法。
这类算法又称元算法(meta-algorithm)。
最常见的集成思想有两种bagging和boosting。
2. 集成思想:boosting:基于错误提升分类器性能,通过集中关注被已有分类器分类错误的样本,构建新分类器并集成。
bagging:基于数据随机重抽样的分类器构建方法。
3. 算法示例:随机森林(Random Forest: bagging +决策树):将训练集按照横(随机抽样本)、列(随机抽特征)进行有放回的随机抽取,获得n个新的训练集,训练出n个决策树,通过这n个树投票决定分类结果。
主要的parameters 有n_estimators 和 max_features。
>>> from sklearn.ensemble import RandomForestClassifier>>> X = [[0, 0], [1, 1]]>>> Y = [0, 1]>>> clf = RandomForestClassifier(n_estimators=10)>>> clf = clf.fit(X, Y)>>> # 扩展:Extremely Randomized Trees 比随机森林还牛逼的分类算法,见(/stable/modules/ensemble.html)Adaboost (adaptive boosting: boosting + 单层决策树):训练数据中的每个样本,并赋予其一个权重,这些权重构成了向量D。
一开始,这些权重都初始化成相等值。
首先在训练数据上训练出一个弱分类器并计算该分类器的错误率,然后在统一数据集上再训练分类器。
在第二次训练中,会调高那些前一个分类器分类错误的样本的权重。
2018年常见Hadoop面试题及答案_光环大数据培训hadoop的测试题及答案解析,题目种类挺多,一共有98道题,题目难度不大,对于高手来说,90分以上才是你的追求。
1 单选题1.1 下面哪个程序负责 HDFS 数据存储。
a)NameNodeb)Jobtrackerc)Datanoded)secondaryNameNodee)tasktracker答案 C datanode1.2 HDfS 中的 block 默认保存几份?a)3 份b)2 份c)1 份d)不确定答案 A 默认 3份1.3 下列哪个程序通常与 NameNode 在一个节点启动?a)SecondaryNameNodeb)DataNodec)TaskTracker答案 D,此题分析:hadoop 的集群是基于 master/slave 模式,namenode 和 jobtracker 属于master,datanode 和 tasktracker 属于 slave , master 只有一个,而slave 有多个SecondaryNameNode 内存需求和 NameNode 在一个数量级上,所以通常 secondary ,NameNode(运行在单独的物理机器上)和 NameNode 运行在不同的机器上。
JobTracker 和 TaskTracker,JobTracker 对应于 NameNode,TaskTracker 对应于 DataNode,DataNode 和 NameNode 是针对数据存放来而言的,JobTracker 和 TaskTracker 是对于 MapReduce 执行而言的,mapreduce 中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:obclient,JobTracker 与 TaskTracker。
JobClient会在用户端通过JobClient类将应用已经配置参数打包成jar文件存储到hdfs,并把路径提交到 Jobtracker,然后由 JobTracker 创建每一个Task(即 MapTask 和ReduceTask)并将它们分发到各个 TaskTracker 服务中去执行。
机器学习算法比较_深圳光环大数据培训机器学习算法太多了,分类、回归、聚类、推荐、图像识别领域等等,要想找到一个合适算法真的不容易,所以在实际应用中,我们一般都是采用启发式学习方式来实验。
通常最开始我们都会选择大家普遍认同的算法,诸如SVM,GBDT,Adaboost,现在深度学习很火热,神经网络也是一个不错的选择。
假如你在乎精度(accuracy)的话,最好的方法就是通过交叉验证(cross-validation)对各个算法一个个地进行测试,进行比较,然后调整参数确保每个算法达到最优解,最后选择最好的一个。
但是如果你只是在寻找一个“足够好”的算法来解决你的问题,或者这里有些技巧可以参考,下面来分析下各个算法的优缺点,基于算法的优缺点,更易于我们去选择它。
偏差&方差在统计学中,一个模型好坏,是根据偏差和方差来衡量的,所以我们先来普及一下偏差和方差:偏差:描述的是预测值(估计值)的期望E’与真实值Y之间的差距。
偏差越大,越偏离真实数据。
方差:描述的是预测值P的变化范围,离散程度,是预测值的方差,也就是离其期望值E的距离。
方差越大,数据的分布越分散。
模型的真实误差是两者之和,如下图:如果是小训练集,高偏差/低方差的分类器(例如,朴素贝叶斯NB)要比低偏差/高方差大分类的优势大(例如,KNN),因为后者会过拟合。
但是,随着你训练集的增长,模型对于原数据的预测能力就越好,偏差就会降低,此时低偏差/高方差分类器就会渐渐的表现其优势(因为它们有较低的渐近误差),此时高偏差分类器此时已经不足以提供准确的模型了。
当然,你也可以认为这是生成模型(NB)与判别模型(KNN)的一个区别。
为什么说朴素贝叶斯是高偏差低方差?以下内容引自知乎:首先,假设你知道训练集和测试集的关系。
简单来讲是我们要在训练集上学习一个模型,然后拿到测试集去用,效果好不好要根据测试集的错误率来衡量。
但很多时候,我们只能假设测试集和训练集的是符合同一个数据分布的,但却拿不到真正的测试数据。