人工智能-机器学习笔试题目及答案详解,带你轻松过面!

1. 深度学习和过往的神经网络训练方法有什么区别?列举几种深度学习的loss,并说明意义
深度学习是一种方法,神经网络是个模型,深度学习方法呢可以有效解决层数多的神经网络不好学习的问题,为了让层数较多的多层神经网络可以训练,能够起作用并演化出来的一系列的新的结构和新的方法;
结构:一般分为两大阵营,CNN,RNN,感觉这里欠妥,请指正 。
方法:权重初始化方法(逐层初始化,等) , 损失函数,防止过拟合方法(, BN等) 。
这些方面主要都是为了解决传统的多层神经网络的一些不足:梯度消失,过拟合等 。
分类问题常用的损失函数:
(1)交叉熵损失函数,也称作损失函数 , 可用于解决多分类问题,通过指数化将输出转换成概率的形式;
(2)合页损失函数,一般情况下 , 交叉熵损失函数的效果优于合页损失函数;
(3)坡道损失函数,对离群点或者噪声的抗干扰能力强,是一种鲁棒性的损失函数 , 对误差较大的区域会进行截断;
(4)大间隔损失函数,保证能够正确分类的同时,还满足增大类间的差异,提升了特征的分辨能力,防止网络发生过拟合;
(5)中心损失函数 , 保证能够正确分类的同时,还满足减少类内的差异,提升了特征的分辨能力;
回归问题常用的损失函数:
(1)l1损失函数,衡量的是预测值与真实值之间的偏差;
(2)l2损失函数 , 效果 优于l1;
(3)tukey‘s 损失函数,是一种具有鲁棒性的损失函数;
其他任务的损失函数:
KL散度损失函数,衡量的是样本标记分布与真实标记分布的差异,可用于年龄估计等 。
2. 什么是卷积神经网络?请说明卷积的意义
分开看就明确了 , “卷积” 和 “神经网络”.
卷积也就是说神经网络不再是对每个像素的输入信息做处理了,而是图片上每一小块像素区域进行处理, 这种做法加强了图片信息的连续性. 使得神经网络能看到图形, 而非一个点. 这种做法同时也加深了神经网络对图片的理解.
具体来说, 卷积神经网络有一个批量过滤器, 持续不断的在图片上滚动收集图片里的信息,每一次收集的时候都只是收集一小块像素区域, 然后把收集来的信息进行整理, 这时候整理出来的信息有了一些实际上的呈现, 比如这时的神经网络能看到一些边缘的图片信息, 然后在以同样的步骤, 用类似的批量过滤器扫过产生的这些边缘信息, 神经网络从这些边缘信息里面总结出更高层的信息结构,比如说总结的边缘能够画出眼睛,鼻子等等.
卷积的重要的物理意义是:一个函数(如:单位响应)在另一个函数(如:输入信号)上的加权叠加,这就是卷积的意义:加权叠加,不同的卷积核提供了不同的加权方式,从而得到鲁棒的特征,进行参数共享,大大减少了参数量,避免过拟合
3. 什么是中文分词? 列举出几种你所知的分词方法
中文分词就是将中文按语义分出词语来,与英文不同,中文词语之间没有空格,需要根据语义经验等知识来将一组汉字序列进行切分出一个个词语
中文分词主要分为三种:
(1)机械分词法:是一种基于词典的方法 , 是将文档中的字符串与词典中的词条一一匹配 , 如果在词典中找到了某个字符串 , 则匹配成功,可以切分,否则不予切分 。该方法实现简单,使用性强,但对于词典的完备性要求很高 。
(2)基于语法和规则的分词方法:是在分词的同时进行句法和语义分析,通过句法和语义信息来标注词性,以解决分词歧义的现象 。但汉语语法笼统,复杂 , 所以该种方法的精度不尽人意,目前仍处于试验阶段 。
(3)基于统计的分词法:根据字符串在语料中出现的统计词频来判断其是否构成一个词 。词是字的组合 , 相邻的字同时出现的次数越多越有可能成为一个词 。该种方法因精度高 , 效果稳定中文分词 人工智能 , 成为目前最流行的一种方法 , 常见的分词模型有HMM, CRF, +CRF等
4. 现在深度学习在nlp领域有哪些应用? 请具体说明
1.机器翻译 , or神经机器翻译(NMT)在翻译中提供了统计方式之外的另一种方式 , 同时也更加简便 。
2.知识问答 , 问答机器人 , 可以用深度学习模型 , 从语料中学习获得一些问题的答案 。
3.自然语言生成 , 能够根据一些关键信息及其在机器内部的表达形式 , 经过一个规划过程 , 来自动生成一段高质量的自然语言文本 。
5. 传统图像处理提取的sift特征是什么意思?
sift指的是scale,即尺度不变特征变换 。
sift特征是一种对缩放、旋转、光照变化等不敏感的局部图像特征,其提取过程是先生成图像的尺度空间,然后在尺度空间中检测极值点作为关键点,最后利用关键点邻域的梯度信息生成特征描述符 。
6. 什么叫过拟合 , 避免过拟合都有哪些措施?
答:过拟合:就是在机器学习中,我么测试模型的时候,提高了在训练数据集的表现力时候,但是在训练集上的表现力反而下降了 。
解决方案:
1.正则化
2.在训练模型过程中,调节参数 。学习率不要太大.
3.对数据进行交叉验证
4.选择适合训练集合测试集数据的百分比,选取合适的停止训练标准,使对机器的训练在合适
5.在神经网络模型中,我们可以减小权重
7. LR和SVM的联系与区别是什么?
1.都是分类算法
2.如果不考虑核函数,LR和SVM都是线性分类算法,也就是说他们的分类决策面都是线性的
3.LR和SVM都是监督学习算法
4.LR和SVM的损失函数不同
5.SVM只考虑局部的边界线附近的点  , LR考虑全局,远离的点对边界线的确定也起作用
8. 给你一个有1000列和1百万行的训练数据集,这个数据集是基于分类问题的 。经理要求你来降低该数据集的维度以减少模型计算时间,但你的机器内存有限 。你会怎么做?(你可以自由做各种实际操作假设 。)
1.由于我们的RAM很小,首先要关闭机器上正在运行的其他程序,包括网页浏览器等 , 以确保大部分内存可以使用 。
2.我们可以随机采样数据集 。这意味着 , 我们可以创建一个较小的数据集,比如有1000个变量和30万行,然后做计算 。
3.为了降低维度,我们可以把数值变量和分类变量分开,同时删掉相关联的变量 。对于数值变量,我们将使用相关性分析;对于分类变量 , 我们可以用卡方检验 。
4.另外 , 我们还可以使用PCA(主成分分析) , 并挑选可以解释在数据集中有最大偏差的成分 。
5.利用在线学习算法 , 如(在中可用)是一个不错的选择 。
6.利用 (随机梯度下降法)建立线性模型也很有帮助 。
7.我们也可以用我们对业务的理解来估计各预测变量对响应变量的影响的大小 。但是 , 这是一个主观的方法,如果没有找出有用的预测变量可能会导致信息的显著丢失 。
基础人工智能面试题
(1)什么是人工智能?
人工智能 , 是一个计算机科学领域,它强调智能机器的创造,它像人类一样工作和反应 。
(2)什么是人工智能神经网络?
人工智能神经网络可以模拟生物大脑的工作方式,使机器能够以与人类相同的方式进行思考和学习:使它们能像我们一样识别语音、物体和动物 。
(3)可以使用AI(人工智能)的各个领域是什么?
人工智能可用于许多领域 , 如计算,语音识别,生物信息学,人形机器人 , 计算机软件,空间和航空等 。
(4)哪种是AI不常用的编程语言?
Perl语言不是AI常用的编程语言 。
(5)AI中的是什么?
在AI中,是一种基于逻辑的编程语言 。
(6)解释强AI和弱AI之间的区别?
强大的AI声称计算机可以在与人类相等的水平上进行思考,而弱AI只是预测一些类似于人类智能的功能可以合并到计算机中,使其成为更有用的工具 。
(7)提到统计AI和经典AI之间的区别?
统计AI更“归纳”思想,如给定一组模式,诱导趋势等 。经典AI更作为一组约束给出的“演绎”思想,推导出一个结论等等 。
(8)什么是备用 , 人工,复合和自然键?
备用密钥:排除主密钥所有候选密钥称为备用密钥 。
人工密钥:如果没有明显的密钥可以单独使用或复合可用,那么最后的方法是,只需创建一个密钥,通过为每个记录或事件分配一个数字 。这被称为人工密钥 。
复合键:当没有单个数据元素唯一地定义构造中的出现时,则集成多个元素以为构造创建唯一标识符称为复合键 。
自然键:自然键是存储在构造中的数据元素之一,并且用作主键 。
(9)FOPL代表并解释其在人工智能中的作用是什么?
FOPL代表 Logic提供的First OrderLogic
a)表达关于某些“世界”的断言的语言
b)演绎设备的推理系统,我们可以从这种断言中得出结论
c)基于集合论的语义
(10)FOPL的语言是什么?
a)一组常数符号
b)一组变量
c)一组谓词符号
d)一组功能符号
e)逻辑连词
f)通用量词和存在限定符
g)平等的特殊二元关系
【人工智能-机器学习笔试题目及答案详解,带你轻松过面!】(11)在自上而下的归纳学习方法中,有多少文字可用?它们都是什么?
自上而下的归纳学习方法有三种文字:
a)谓词
b)平等和不平等
c)算术文字
(12)使用哪种算法求解时间概率推理?
为了解决时间概率推理,使用HMM(隐马尔可夫模型),与转换和传感器模型无关
(13)人工智能中的神经网络是什么?
在人工智能中,神经网络是生物神经系统的仿真,它接收数据,处理数据并根据算法和经验数据给出输出 。
机器学习工程师面试
1、你会在时间序列数据集上使用什么交叉验证技术?是用k倍或LOOCV?
都不是 。对于时间序列问题,k倍可能会很麻烦,因为第4年或第5年的一些模式有可能跟第3年的不同,而对数据集的重复采样会将分离这些趋势,而我们最终可能只是需要对过去几年的进行验证,这就不能用这种方法了 。相反,我们可以采用如下所示的5倍正向链接策略:
fold 1 :[1], test [2]
fold 2 :[1 2], test [3]
fold 3 :[1 2 3], test [4]
fold 4 :[1 2 3 4], test [5]
fold 5 :[1 2 3 4 5], test [6]
1,2,3,4 , 5,6代表的是年份 。
2、你是怎么理解偏差方差的平衡的?
从数学的角度来看,任何模型出现的误差可以分为三个部分 。以下是这三个部分:
偏差误差在量化平均水平之上,预测值跟实际值相差多远时有用 。高偏差误差意味着我们的模型表现不太好,因为没有抓到重要的趋势 。而另一方面,方差量化了在同一个观察上进行的预测是如何彼此不同的 。高方差模型会过度拟合你的训练集,而在训练集以外的数据上表现很差 。
3、给你一个有1000列和1百万行的训练数据集,这个数据集是基于分类问题的 。经理要求你来降低该数据集的维度以减少模型计算时间,但你的机器内存有限 。你会怎么做?(你可以自由做各种实际操作假设 。)
你的面试官应该非常了解很难在有限的内存上处理高维的数据 。以下是你可以使用的处理方法:
1.由于我们的RAM很小,首先要关闭机器上正在运行的其他程序,包括网页浏览器等,以确保大部分内存可以使用 。
2.我们可以随机采样数据集 。这意味着,我们可以创建一个较小的数据集,比如有1000个变量和30万行 , 然后做计算 。
3.为了降低维度,我们可以把数值变量和分类变量分开,同时删掉相关联的变量 。对于数值变量,我们将使用相关性分析;对于分类变量,我们可以用卡方检验 。
4.另外,我们还可以使用PCA(主成分分析) , 并挑选可以解释在数据集中有最大偏差的成分 。
5.利用在线学习算法,如(在中可用)是一个不错的选择 。
6.利用 (随机梯度下降法)建立线性模型也很有帮助 。
7.我们也可以用我们对业务的理解来估计各预测变量对响应变量的影响的大小 。但是,这是一个主观的方法,如果没有找出有用的预测变量可能会导致信息的显著丢失 。
4、全球平均温度的上升导致世界各地的海盗数量减少 。这是否意味着海盗的数量减少引起气候变化?
不能够这样说 。这是一个“因果关系和相关性”的经典案例 。全球平均温度和海盗数量之间有可能有相关性,但基于这些信息,我们不能说因为全球平均气温的上升而导致了海盗的消失 。我们不能断定海盗的数量减少是引起气候变化的原因 , 因为可能有其他因素(潜伏或混杂因素)影响了这一现象 。
5、给你一个数据集,这个数据集有缺失值,且这些缺失值分布在离中值有1个标准偏差的范围内 。百分之多少的数据不会受到影响?为什么?
约有32%的数据将不受缺失值的影响 。因为,由于数据分布在中位数附近,让我们先假设这是一个正态分布 。我们知道,在一个正态分布中中文分词 人工智能,约有68%的数据位于跟平均数(或众数、中位数)1个标准差范围内,那么剩下的约32%的数据是不受影响的 。因此,约有32%的数据将不受缺失值的影响 。
6、你意识到你的模型受到低偏差和高方差问题的困扰 。那么,应该使用哪种算法来解决问题呢?为什么?
可以使用算法(如随机森林) 。因为,低偏差意味着模型的预测值接近实际值,换句话说 , 该模型有足够的灵活性,以模仿训练数据的分布 。这样貌似很好,但是别忘了,一个灵活的模型没有泛化能力 , 意味着当这个模型用在对一个未曾见过的数据集进行测试的时候,它会令人很失望 。在这种情况下 , 我们可以使用算法(如随机森林),以解决高方差问题 。算法把数据集分成重复随机取样形成的子集 。然后,这些样本利用单个学习算法生成一组模型 。接着 , 利用投票(分类)或平均(回归)把模型预测结合在一起 。另外,为了应对大方差 , 我们可以:
1.使用正则化技术,惩罚更高的模型系数 , 从而降低了模型的复杂性 。
2.使用可变重要性图表中的前n个特征 。可以用于当一个算法在数据集中的所有变量里很难寻找到有意义信号的时候 。
7、协方差和相关性有什么区别?
相关性是协方差的标准化格式 。协方差本身很难做比较 。
例如:如果我们计算工资($)和年龄(岁)的协方差,因为这两个变量有不同的度量,所以我们会得到不能做比较的不同的协方差 。为了解决这个问题,我们计算相关性来得到一个介于-1和1之间的值 , 就可以忽略它们各自不同的度量 。
8、真阳性率和召回有什么关系?写出方程式 。
真阳性率=召回 。它们有相同的公式(TP / TP + FN) 。
9、 算法(GBM)和随机森林都是基于树的算法,它们有什么区别?
最根本的区别是 , 随机森林算法使用技术做出预测;而GBM是采用技术做预测的 。在技术中,数据集用随机采样的方法被划分成n个样本 。然后,使用单一的学习算法,在所有样本上建模 。接着利用投票或者求平均来组合所得到的预测 。是平行进行的,而是在第一轮的预测之后,算法将分类出错的预测加高权重,使得它们可以在后续一轮中得到校正 。这种给予分类出错的预测高权重的顺序过程持续进行 , 一直到达到停止标准为止 。随机森林通过减少方差(主要方式)提高模型的精度 。生成树之间是不相关的,以把方差的减少最大化 。在另一方面 , GBM提高了精度,同时减少了模型的偏差和方差 。
10、在k-means或kNN,我们是用欧氏距离来计算最近的邻居之间的距离 。为什么不用曼哈顿距离?
我们不用曼哈顿距离 , 因为它只计算水平或垂直距离,有维度的限制 。另一方面 , 欧氏距离可用于任何空间的距离计算问题 。因为,数据点可以存在于任何空间,欧氏距离是更可行的选择 。例如:想象一下国际象棋棋盘 , 象或车所做的移动是由曼哈顿距离计算的,因为它们是在各自的水平和垂直方向做的运动 。
本文到此结束 , 希望对大家有所帮助 。