BAT机器学习面试系列
SVM,全称是support vector machine,中文名叫支持向量机。SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同的数据分隔开。
扩展:
支持向量机学习方法包括构建由简至繁的模型:线性可分支持向量机、线性支持向量机及非线性支持向量机。当训练数据线性可分时,通过硬间隔最大化,学习一个线性的分类器,即线性可分支持向量机,又称为硬间隔支持向量机;当训练数据近似线性可分时,通过软间隔最大化,也学习一个线性的分类器,即线性支持向量机,又称为软间隔支持向量机;当训练数据线性不可分时,通过使用核技巧及软间隔最大化,学习非线性支持向量机。
支持向量机通俗导论(理解SVM的三层境界)
机器学习之深入理解SVM
@寒小阳:Tensorflow是一个通过计算图的形式来表述计算的编程系统,计算图也叫数据流图,可以把计算图看做是一种有向图,Tensorflow中的每一个计算都是计算图上的一个节点,而节点之间的边描述了计算之间的依赖关系。
@Xijun LI:XGBoost类似于GBDT的优化版,不论是精度还是效率上都有了提升。与GBDT相比,具体的优点有:
知识点链接:集成学习总结
曼哈顿距离只计算水平或垂直距离,有维度的限制。另一方面,欧氏距离可用于任何空间的距离计算问题。因为,数据点可以存在于任何空间,欧氏距离是更可行的选择。例如:想象一下国际象棋棋盘,象或车所做的移动是由曼哈顿距离计算的,因为它们是在各自的水平和垂直方向做的运动。
知识点链接:百度2015校招机器学习笔试题
@rickjin:把LR从头到脚都给讲一遍。建模,现场数学推导,每种解法的原理,正则化,LR和maxent模型啥关系,LR为啥比线性回归好。有不少会背答案的人,问逻辑细节就糊涂了。原理都会? 那就问工程,并行化怎么做,有几种并行化方式,读过哪些开源的实现。还会,那就准备收了吧,顺便逼问LR模型发展历史。
dropout、regularization、batch normalizatin
@朝阳在望,联系:
区别:
答案来源:机器学习常见面试问题(一)
@nishizhen
个人感觉逻辑回归和线性回归首先都是广义的线性回归,
其次经典线性模型的优化目标函数是最小二乘,而逻辑回归则是似然函数,
另外线性回归在整个实数域范围内进行预测,敏感度一致,而分类范围,需要在[0,1]。逻辑回归就是一种减小预测范围,将预测值限定为[0,1]间的一种回归模型,因而对于这类问题来说,逻辑回归的鲁棒性比线性回归的要好。
@乖乖癞皮狗:逻辑回归的模型本质上是一个线性回归模型,逻辑回归都是以线性回归为理论支持的。但线性回归模型无法做到sigmoid的非线性形式,sigmoid可以轻松处理0/1分类问题。
@AntZ:XGBoost使用了一阶和二阶偏导, 二阶导数有利于梯度下降的更快更准. 使用泰勒展开取得二阶倒数形式, 可以在不选定损失函数具体形式的情况下用于算法优化分析.本质上也就把损失函数的选取和模型算法优化/参数选择分开了. 这种去耦合增加了XGBoost的适用性。
@AntZ:XGBoost在训练的过程中给出各个特征的评分,从而表明每个特征对模型训练的重要性.。XGBoost利用梯度优化模型算法, 样本是不放回的(想象一个样本连续重复抽出,梯度来回踏步会不会高兴)。但XGBoost支持子采样, 也就是每轮计算可以不使用全部样本。
判别方法:由数据直接学习决策函数 Y = f(X),或者由条件分布概率 P(Y|X)作为预测模型,即判别模型。
生成方法:由数据学习联合概率密度分布函数 P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型,即生成模型。
由生成模型可以得到判别模型,但由判别模型得不到生成模型。
常见的判别模型有:K近邻、SVM、决策树、感知机、线性判别分析(LDA)、线性回归、传统的神经网络、逻辑斯蒂回归、boosting、条件随机场
常见的生成模型有:朴素贝叶斯、隐马尔可夫模型、高斯混合模型、文档主题生成模型(LDA)、限制玻尔兹曼机
L1范数(L1 norm)是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。
比如 向量A=[1,-1,3], 那么A的L1范数为 |1|+|-1|+|3|.
简单总结一下就是:
在支持向量机学习过程中,L1范数实际是一种对于成本函数求解最优的过程,因此,L1范数正则化通过向成本函数中添加L1范数,使得学习得到的结果满足稀疏化,从而方便人类提取特征。
L1范数可以使权值稀疏,方便特征提取。
L2范数可以防止过拟合,提升模型的泛化能力。
@齐同学:面试中遇到的,L1和L2正则先验分别服从什么分布,L1是拉普拉斯分布,L2是高斯分布。
@许韩
知识点链接(答案解析):深度学习岗位面试问题整理笔记
推导forget gate,input gate,cell state, hidden information等的变化;因为LSTM有进有出且当前的cell informaton是通过input gate控制之后叠加的,RNN是叠乘,因此LSTM可以防止梯度消失或者爆炸。
这叫做拼写检查。根据谷歌一员工写的文章How to Write a Spelling Corrector显示,Google的拼写检查基于贝叶斯方法。请说说的你的理解,具体Google是怎么利用贝叶斯方法,实现”拼写检查”的功能。
用户输入一个单词时,可能拼写正确,也可能拼写错误。如果把拼写正确的情况记做c(代表correct),拼写错误的情况记做w(代表wrong),那么”拼写检查”要做的事情就是:在发生w的情况下,试图推断出c。换言之:已知w,然后在若干个备选方案中,找出可能性最大的那个c,也就是求P(c|w)P(c|w)的最大值。而根据贝叶斯定理,有:
P(c|w)=P(w|c)P©P(w)P(c|w)=P(w|c)P©P(w)
由于对于所有备选的c来说,对应的都是同一个w,所以它们的P(w)是相同的,因此我们只要最大化P(w|c)P©P(w|c)P©即可。其中:
P©表示某个正确的词的出现”概率”,它可以用”频率”代替。如果我们有一个足够大的文本库,那么这个文本库中每个单词的出现频率,就相当于它的发生概率。某个词的出现频率越高,P©就越大。比如在你输入一个错误的词“Julw”时,系统更倾向于去猜测你可能想输入的词是“July”,而不是“Jult”,因为“July”更常见。
P(w|c)表示在试图拼写c的情况下,出现拼写错误w的概率。为了简化问题,假定两个单词在字形上越接近,就有越可能拼错,P(w|c)就越大。举例来说,相差一个字母的拼法,就比相差两个字母的拼法,发生概率更高。你想拼写单词July,那么错误拼成Julw(相差一个字母)的可能性,就比拼成Jullw高(相差两个字母)。值得一提的是,一般把这种问题称为“编辑距离”,参见程序员编程艺术第二十八~二十九章:最大连续乘积子串、字符串编辑距离。
所以,我们比较所有拼写相近的词在文本库中的出现频率,再从中挑出出现频率最高的一个,即是用户最想输入的那个词。具体的计算过程及此方法的缺陷请参见How to Write a Spelling Corrector。
因为它假定所有的特征在数据集中的作用是同样重要和独立的。正如我们所知,这个假设在现实世界中是很不真实的,因此,说朴素贝叶斯真的很“朴素”。
@zhanlijun
本题解析来源:为什么一些机器学习模型需要对数据进行归一化?
详情参见此视频:深度学习中的归一化
明确问题是进行机器学习的第一步。机器学习的训练过程通常都是一件非常耗时的事情,胡乱尝试时间成本是非常高的。
这里的抽象成数学问题,指的我们明确我们可以获得什么样的数据,目标是一个分类还是回归或者是聚类的问题,如果都不是的话,如果划归为其中的某类问题。
数据决定了机器学习结果的上限,而算法只是尽可能逼近这个上限。
数据要有代表性,否则必然会过拟合。
而且对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数个数量级的差距。
而且还要对数据的量级有一个评估,多少个样本,多少个特征,可以估算出其对内存的消耗程度,判断训练过程中内存是否能够放得下。如果放不下就得考虑改进算法或者使用一些降维的技巧了。如果数据量实在太大,那就要考虑分布式了。
良好的数据要能够提取出良好的特征才能真正发挥效力。
特征预处理、数据清洗是很关键的步骤,往往能够使得算法的效果和性能得到显著提高。归一化、离散化、因子化、缺失值处理、去除共线性等,数据挖掘过程中很多时间就花在它们上面。这些工作简单可复制,收益稳定可预期,是机器学习的基础必备步骤。
筛选出显著特征、摒弃非显著特征,需要机器学习工程师反复理解业务。这对很多结果有决定性的影响。特征选择好了,非常简单的算法也能得出良好、稳定的结果。这需要运用特征有效性分析的相关技术,如相关系数、卡方检验、平均互信息、条件熵、后验概率、逻辑回归权重等方法。
直到这一步才用到我们上面说的算法进行训练。现在很多算法都能够封装成黑盒供人使用。但是真正考验水平的是调整这些算法的(超)参数,使得结果变得更加优良。这需要我们对算法的原理有深入的理解。理解越深入,就越能发现问题的症结,提出良好的调优方案。
如何确定模型调优的方向与思路呢?这就需要对模型进行诊断的技术。
过拟合、欠拟合 判断是模型诊断中至关重要的一步。常见的方法如交叉验证,绘制学习曲线等。过拟合的基本调优思路是增加数据量,降低模型复杂度。欠拟合的基本调优思路是提高特征数量和质量,增加模型复杂度。
误差分析 也是机器学习至关重要的步骤。通过观察误差样本,全面分析误差产生误差的原因:是参数的问题还是算法选择的问题,是特征的问题还是数据本身的问题……
诊断后的模型需要进行调优,调优后的新模型需要重新进行诊断,这是一个反复迭代不断逼近的过程,需要不断地尝试, 进而达到最优状态。
一般来说,模型融合后都能使得效果有一定提升。而且效果很好。
工程上,主要提升算法准确度的方法是分别在模型的前端(特征清洗和预处理,不同的采样模式)与后端(模型融合)上下功夫。因为他们比较标准可复制,效果比较稳定。而直接调参的工作不会很多,毕竟大量数据训练起来太慢了,而且效果难以保证。
这一部分内容主要跟工程实现的相关性比较大。工程上是结果导向,模型在线上运行的效果直接决定模型的成败。 不单纯包括其准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性是否可接受。
这些工作流程主要是工程实践上总结出的一些经验。并不是每个项目都包含完整的一个流程。这里的部分只是一个指导性的说明,只有大家自己多实践,多积累项目经验,才会有自己更深刻的认识。
故,基于此,七月在线每一期ML算法班都特此增加特征工程、模型调优等相关课。比如,这里有个公开课视频《特征处理与特征选择》。
知识点链接:new 和 malloc的区别
@Sommer_Xia
关键字值不同的元素可能会映象到哈希表的同一地址上就会发生哈希冲突。解决办法:
根据链式法则,如果每一层神经元对上一层的输出的偏导乘上权重结果都小于1的话,那么即使这个结果是0.99,在经过足够多层传播之后,误差对输入层的偏导会趋于0。
可以采用ReLU激活函数有效的解决梯度消失的情况。
根据链式法则,如果每一层神经元对上一层的输出的偏导乘上权重结果都大于1的话,在经过足够多层传播之后,误差对输入层的偏导会趋于无穷大。
可以通过激活函数来解决。
A. 特征灵活
B. 速度快
C. 可容纳较多上下文信息
D. 全局最优
解答:首先,CRF,HMM(隐马模型),MEMM(最大熵隐马模型)都常用来做序列标注的建模。
隐马模型一个最大的缺点就是由于其输出独立性假设,导致其不能考虑上下文的特征,限制了特征的选择。
最大熵隐马模型则解决了隐马的问题,可以任意选择特征,但由于其在每一节点都要进行归一化,所以只能找到局部的最优值,同时也带来了标记偏见的问题,即凡是训练语料中未出现的情况全都忽略掉。
条件随机场则很好的解决了这一问题,他并不在每一个节点进行归一化,而是所有特征进行全局归一化,因此可以求得全局的最优值。
答案为B。
有监督学习:对具有标记的训练样本进行学习,以尽可能对训练样本集外的数据进行分类预测。(LR,SVM,BP,RF,GBDT)
无监督学习:对未标记的样本进行训练学习,比发现这些样本中的结构知识。(KMeans,DL)
正则化是针对过拟合而提出的,以为在求解模型最优的是一般优化最小的经验风险,现在在该经验风险上加入模型复杂度这一项(正则化项是模型参数向量的范数),并使用一个rate比率来权衡模型复杂度与以往经验风险的权重,如果模型复杂度越高,结构化的经验风险会越大,现在的目标就变为了结构经验风险的最优化,可以防止模型训练过度复杂,有效的降低过拟合的风险。
奥卡姆剃刀原理,能够很好的解释已知数据并且十分简单才是最好的模型。
相关性是协方差的标准化格式。协方差本身很难做比较。例如:如果我们计算工资($)和年龄(岁)的协方差,因为这两个变量有不同的度量,所以我们会得到不能做比较的不同的协方差。为了解决这个问题,我们计算相关性来得到一个介于-1和1之间的值,就可以忽略它们各自不同的度量。
如果模型是参数的线性函数,并且存在线性分类面,那么就是线性分类器,否则不是。
常见的线性分类器有:LR,贝叶斯分类,单层感知机、线性回归。
常见的非线性分类器:决策树、RF、GBDT、多层感知机。
SVM两种都有(看线性核还是高斯核)。
线性分类器速度快、编程方便,但是可能拟合效果不会很好。
非线性分类器编程复杂,但是效果拟合能力强。
分布式数据库系统是在集中式数据库系统成熟技术的基础上发展起来的,但不是简单地把集中式数据库分散地实现,它具有自己的性质和特征。集中式数据库系统的许多概念和技术,如数据独立性、数据共享和减少冗余度、并发控制、完整性、安全性和恢复等在分布式数据库系统中都有了不同的、更加丰富的内容。
在引出贝叶斯定理之前,先学习几个定义:
条件概率(又称后验概率)就是事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。
比如,在同一个样本空间Ω中的事件或者子集A与B,如果随机从Ω中选出的一个元素属于B,那么这个随机选择的元素还属于A的概率就定义为在B的前提下A的条件概率,所以:P(A|B) = |A∩B|/|B|,接着分子、分母都除以|Ω|得到:
P(A|B)=P(A∩B)P(B)P(A|B)=P(A∩B)P(B)
联合概率表示两个事件共同发生的概率。A与B的联合概率表示为P(A∩B)P(A∩B)或者P(A,B)P(A,B)。
边缘概率(又称先验概率)是某个事件发生的概率。边缘概率是这样得到的:在联合概率中,把最终结果中那些不需要的事件通过合并成它们的全概率,而消去它们(对离散随机变量用求和得全概率,对连续随机变量用积分得全概率),这称为边缘化(marginalization),比如A的边缘概率表示为P(A),B的边缘概率表示为P(B)。
接着,考虑一个问题:P(A|B)是在B发生的情况下A发生的可能性。
贝叶斯定理的公式表达式:
P(A|B)=P(B|A)P(A)P(B)P(A|B)=P(B|A)P(A)P(B)
知识点链接:#include 和 #include”filename.h”有什么区别
A. 关联规则发现 B. 聚类 C. 分类 D. 自然语言处理
A. 频繁模式挖掘 B. 分类和预测 C. 数据预处理 D. 数据流挖掘
A变量代换 B离散化 C 聚集 D 估计遗漏值
A. 数据挖掘与知识发现 B. 领域知识发现C. 文档知识发现 D. 动态知识发现
A. 分类 B. 聚类 C. 关联分析 D. 隐马尔可夫链
A. 根据内容检索 B. 建模描述
C. 预测建模 D. 寻找模式和规则
A嵌入 B 过滤 C 包装 D 抽样
find_string(‘hello\nworld\n’,‘wor’)[‘wor’]find_string(‘hello\nworld\n’,‘l*d’)[‘ld’]find_string(‘hello\nworld\n’,‘o.’)[‘or’]答案deffind_string(str,pat):importrereturnre.findall(pat,str,re.I)
1
2
3
4
5
6
7
8
9
10
教你初步了解红黑树
常用的非线性激活函数有sigmoid、tanh、relu等等,前两者sigmoid/tanh比较常见于全连接层,后者relu常见于卷积层。这里先简要介绍下最基础的sigmoid函数(btw,在本博客中SVM那篇文章开头有提过)。
Sigmoid的函数表达式如下:
也就是说,Sigmoid函数的功能是相当于把一个实数压缩至0到1之间。当z是非常大的正数时,g(z)会趋近于1,而z是非常小的负数时,则g(z)会趋近于0。
压缩至0到1有何用处呢?用处是这样一来便可以把激活函数看作一种“分类的概率”,比如激活函数的输出为0.9的话便可以解释为90%的概率为正样本。
举个例子,如下图(图引自Stanford机器学习公开课):
对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。
非严格意义上来讲,下图中红框框起来的部分便可以理解为一个滤波器,即带着一组固定权重的神经元。多个滤波器叠加便成了卷积层。
OK,举个具体的例子。比如下图中,图中左边部分是原始输入数据,图中中间部分是滤波器filter,图中右边是输出的新的二维数据。
分解下上图
池化,简言之,即取区域平均或最大,如下图所示(图引自cs231n):
上图所展示的是取区域最大,即上图左边部分中 左上角2x2的矩阵中6最大,右上角2x2的矩阵中8最大,左下角2x2的矩阵中3最大,右下角2x2的矩阵中4最大,所以得到上图右边部分的结果:6 8 3 4。很简单不是?
GAN之所以是对抗的,是因为GAN的内部是竞争关系,一方叫generator,它的主要工作是生成图片,并且尽量使得其看上去是来自于训练样本的。另一方是discriminator,其目标是判断输入图片是否属于真实训练样本。
更直白的讲,将generator想象成假币制造商,而discriminator是警察。generator目的是尽可能把假币造的跟真的一样,从而能够骗过discriminator,即生成样本并使它看上去好像来自于真实训练样本一样。
如下图中的左右两个场景:
更多请参见此课程:生成对抗网络
这里有篇如何做梵高风格画的实验教程 教你从头到尾利用DL学梵高作画:GTX 1070 cuda 8.0 tensorflow gpu版,至于其原理请看这个视频:NeuralStyle艺术化图片(学梵高作画背后的原理)。
一道百度机器学习工程师职位的面试题
概率模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率,如决策树、RF。而像Adaboost、GBDT、XGBoost、SVM、LR、KNN、KMeans之类的最优化问题就需要归一化。
@LeftNotEasy
机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)
梯度下降法并不是下降最快的方向,它只是目标函数在当前的点的切平面(当然高维问题不能叫平面)上下降最快的方向。在Practical Implementation中,牛顿方向(考虑海森矩阵)才一般被认为是下降最快的方向,可以达到Superlinear的收敛速度。梯度下降类的算法的收敛速度一般是Linear甚至Sublinear的(在某些带复杂约束的问题)。
知识点链接:一文清晰讲解机器学习中梯度下降算法(包括其变式算法)
@wtq1993
知识点链接:机器学习中常见的最优化算法
@wtq1993
机器学习中常见的最优化算法
@wtq1993
机器学习中常见的最优化算法
我们口头中经常说:一般来说,平均来说。如平均来说,不吸烟的健康优于吸烟者,之所以要加“平均”二字,是因为凡事皆有例外,总存在某个特别的人他吸烟但由于经常锻炼所以他的健康状况可能会优于他身边不吸烟的朋友。而最小二乘法的一个最简单的例子便是算术平均。
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。用函数表示为:
由于算术平均是一个历经考验的方法,而以上的推理说明,算术平均是最小二乘的一个特例,所以从另一个角度说明了最小二乘方法的优良性,使我们对最小二乘法更加有信心。
最小二乘法发表之后很快得到了大家的认可接受,并迅速的在数据分析实践中被广泛使用。不过历史上又有人把最小二乘法的发明归功于高斯,这又是怎么一回事呢。高斯在1809年也发表了最小二乘法,并且声称自己已经使用这个方法多年。高斯发明了小行星定位的数学方法,并在数据分析中使用最小二乘方法进行计算,准确的预测了谷神星的位置。
对了,最小二乘法跟SVM有什么联系呢?请参见支持向量机通俗导论(理解SVM的三层境界)。
15个重要Python面试题 测测你适不适合做Python?
2017 Python最新面试题及答案16道题
a=[1,2,4,2,4,5,6,5,7,8,9,0]b={}b=b.fromkeys(a)c=list(b.keys())c
1
2
3
4
5
a=[1,2,4,2,4,5,7,10,5,5,7,8,9,0,3]a.sort()last=a[-1]fori inrange(len(a)-2,-1,-1):iflast==a[i]:dela[i]else:last=a[i]print(a)
1
2
3
4
5
6
7
8
9
@Tom_junsong
random模块
随机整数:random.randint(a,b):返回随机整数x,a<=x<=b
random.randrange(start,stop,[,step]):返回一个范围在(start,stop,step)之间的随机整数,不包括结束值。
随机实数:random.random( ):返回0到1之间的浮点数
random.uniform(a,b):返回指定范围内的浮点数。
对于给定的输入X,由f(X)给出相应的输出Y,这个输出的预测值f(X)与真实值Y可能一致也可能不一致(要知道,有时损失或误差是不可避免的),用一个损失函数来度量预测错误的程度。损失函数记为L(Y, f(X))。
常用的损失函数有以下几种(基本引用自《统计学习方法》):
Logistic回归目的是从特征学习出一个0/1分类模型,而这个模型是将特性的线性组合作为自变量,由于自变量的取值范围是负无穷到正无穷。因此,使用logistic函数(或称作sigmoid函数)将自变量映射到(0,1)上,映射后的值被认为是属于y=1的概率。
假设函数:
hθ(x)=g(θTx)=11+e−θTxhθ(x)=g(θTx)=11+e−θTx
其中x是n维特征向量,函数g就是Logistic函数。而:g(z)=11+e−zg(z)=11+e−z的图像是:
可以看到,将无穷映射到了(0,1)。而假设函数就是特征属于y=1的概率。
P(y=1|x;θ)=hθ(x);P(y=0|x;θ)=1−hθ(x)P(y=1|x;θ)=hθ(x);P(y=0|x;θ)=1−hθ(x)
答案解析
@元峰
本题解析来源:深度学习在计算机视觉领域的前沿进展
HashMap与Hashtable的区别
A、将负样本重复10次,生成10w样本量,打乱顺序参与分类
B、直接进行分类,可以最大限度利用数据
C、从10w正样本中随机抽取1w参与分类
D、将负样本每个权重设置为10,正样本权重为1,参与训练过程
@管博士:准确的说,其实选项中的这些方法各有优缺点,需要具体问题具体分析,有篇文章对各种方法的优缺点进行了分析,讲的不错 感兴趣的同学可以参考一下:
How to handle Imbalanced Classification Problems in machine learning?
A.(AB)C
B.AC(B)
C.A(BC)
D.所以效率都相同
正确答案:A
@BlackEyes_SGC: mnp
A.各类别的先验概率P©是相等的
B.以0为均值,sqr(2)/2为标准差的正态分布
C.特征变量X的各个维度是类别条件独立随机变量
D.P(X|C)是高斯分布
正确答案:C
@BlackEyes_SGC:朴素贝叶斯的条件就是每个变量相互独立。
A.L2正则项,作用是最大化分类间隔,使得分类器拥有更强的泛化能力
B.Hinge 损失函数,作用是最小化经验分类错误
C.分类间隔为1||w||1||w||,||w||代表向量的模
D.当参数C越小时,分类间隔越大,分类错误越多,趋于欠学习
正确答案:C
@BlackEyes_SGC:
A正确。考虑加入正则化项的原因:想象一个完美的数据集,y>1是正类,y<-1是负类,决策面y=0,加入一个y=-30的正类噪声样本,那么决策面将会变“歪”很多,分类间隔变小,泛化能力减小。加入正则项之后,对噪声样本的容错能力增强,前面提到的例子里面,决策面就会没那么“歪”了,使得分类间隔变大,提高了泛化能力。
B正确。
C错误。间隔应该是2||w||2||w||才对,后半句应该没错,向量的模通常指的就是其二范数。
D正确。考虑软间隔的时候,C对优化问题的影响就在于把a的范围从[0,+inf]限制到了[0,C]。C越小,那么a就会越小,目标函数拉格朗日函数导数为0可以求出w=∑iai∗yi∗xiw=∑iai∗yi∗xi,a变小使得w变小,因此间隔2||w||2||w||变大
A.EM算法
B.维特比算法
C.前向后向算法
D.极大似然估计
正确答案:D
@BlackEyes_SGC:
EM算法: 只有观测序列,无状态序列时来学习模型参数,即Baum-Welch算法
维特比算法: 用动态规划解决HMM的预测问题,不是参数估计
前向后向算法:用来算概率
极大似然估计:即观测序列和相应的状态序列都存在时的监督学习算法,用来估计参数
注意的是在给定观测序列和对应的状态序列估计模型参数,可以利用极大似然发估计。如果给定观测序列,没有对应的状态序列,才用EM,将状态序列看不不可测的隐数据。
A.这个被重复的特征在模型中的决定作用会被加强
B.模型效果相比无重复特征的情况下精确度会降低
C.如果所有特征都被重复一遍,得到的模型预测结果相对于不重复的情况下的模型预测结果一样。
D.当两列特征高度相关时,无法用两列特征相同时所得到的结论来分析问题
E.NB可以用来做最小二乘回归
F.以上说法都不正确
正确答案:BD
@BlackEyes_SGC:NB的核心在于它假设向量的所有分量之间是独立的。在贝叶斯理论系统中,都有一个重要的条件独立性假设:假设所有特征之间相互独立,这样才能将联合概率拆分。
A、Kmeans
B、决策树
C、支持向量机
D、KNN
正确答案: A分类不同于聚类。
@BlackEyes_SGC:A:Kmeans是聚类方法,典型的无监督学习方法。分类是监督学习方法,BCD都是常见的分类方法。
A、主分量分析的最佳准则是对一组数据进行按一组正交基分解, 在只取相同数量分量的条件下,以均方误差计算截尾误差最小
B、在经主分量分解后,协方差矩阵成为对角矩阵
C、主分量分析就是K-L变换
D、主分量是通过求协方差矩阵的特征值得到
正确答案: C
@BlackEyes_SGC:K-L变换与PCA变换是不同的概念,PCA的变换矩阵是协方差矩阵,K-L变换的变换矩阵可以有很多种(二阶矩阵、协方差矩阵、总类内离散度矩阵等等)。当K-L变换矩阵为协方差矩阵时,等同于PCA。
时间复杂度:O(tKmn),其中,t为迭代次数,K为簇的数目,m为记录数,n为维数空间复杂度:O((m+K)n),其中,K为簇的数目,m为记录数,n为维数。
具体参考:机器学习之深入理解K-means、与KNN算法区别及其代码实现
A. Logit回归本质上是一种根据样本对权值进行极大似然估计的方法,而后验概率正比于先验概率和似然函数的乘积。logit仅仅是最大化似然函数,并没有最大化后验概率,更谈不上最小化后验概率。A错误
B. Logit回归的输出就是样本属于正类别的几率,可以计算出概率,正确
C. SVM的目标是找到使得训练数据尽可能分开且分类间隔最大的超平面,应该属于结构风险最小化。
D. SVM可以通过正则化系数控制模型的复杂度,避免过拟合。
@BlackEyes_SGC:Logit回归目标函数是最小化后验概率,Logit回归可以用于预测事件发生概率的大小,SVM目标是结构风险最小化,SVM可以有效避免模型过拟合。
正确答案:97
@BlackEyes_SGC:计算尺寸不被整除只在GoogLeNet中遇到过。卷积向下取整,池化向上取整。
本题 (200-5+2*1)/2+1 为99.5,取99
(99-3)/1+1 为97
(97-3+2*1)/1+1 为97
研究过网络的话看到stride为1的时候,当kernel为 3 padding为1或者kernel为5 padding为2 一看就是卷积前后尺寸不变。计算GoogLeNet全过程的尺寸也一样。
A.已知类别的样本质量;
B.分类准则;
C.特征选取;
D.模式相似性测度
A. 平移不变性;
B. 旋转不变性;
C. 尺度不变性;
D. 考虑了模式的分布
A. 样本输入顺序;
B. 模式相似性测度;
C. 聚类准则;
D. 初始类中心的选取
A. 最小损失准则;
B. 最小最大损失准则;
C. 最小误判概率准则;
D. N-P判决
A. 已知类别样本质量;
B. 分类准则;
C. 特征选取;
D. 量纲
A. 平移不变性;
B. 旋转不变性;
C. 尺度缩放不变性;
D. 不受量纲影响的特性
答案解析,来自知乎
我们升学到高三准备高考时,此时的知识是由高二及高二之前所学的知识加上高三所学的知识合成得来,即我们的知识是由前序铺垫,是有记忆的,好比当电影字幕上出现:“我是”时,你会很自然的联想到:“我是中国人”。
@一只鸟的天空,本题解析来源:
循环神经网络(RNN, Recurrent Neural Networks)介绍
@何之源,本题解析来源:
完全图解RNN、RNN变体、Seq2Seq、Attention机制
用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践
深度学习与自然语言处理(7)_斯坦福cs224d 语言模型,RNN,LSTM与GRU
机器学习系列(10)_如何提高深度学习(和机器学习)的性能
@我愛大泡泡,本题解析来源:
面试笔试整理3:深度学习机器学习面试问题准备(必会)
可以从这4个方面进行尝试:基于数据、借助算法、用算法调参、借助模型融合。当然能谈多细多深入就看你的经验心得了。
这里有一份参考清单:机器学习系列(20)_机器学习性能改善备忘单
推荐系统的公开课http://www.julyedu.com/video/play/18/148,另,再推荐一个课程:机器学习项目班 [10次纯项目讲解,100%纯实战](https://www.julyedu.com/course/getDetail/48)。
@抽象猴,来源:
知乎解答
@许韩,来源:
知乎解答
知乎解答
简单来说,标准化是依照特征矩阵的列处理数据,其通过求z-score的方法,将样本的特征值转换到同一量纲下。归一化是依照特征矩阵的行处理数据,其目的在于样本向量在点乘运算或其他核函数计算相似性时,拥有统一的标准,也就是说都转化为“单位向量”。规则为L2的归一化公式如下:
特征向量的缺失值处理:
方法一(na.roughfix)简单粗暴,对于训练集,同一个class下的数据,如果是分类变量缺失,用众数补上,如果是连续型变量缺失,用中位数补。
方法二(rfImpute)这个方法计算量大,至于比方法一好坏?不好判断。先用na.roughfix补上缺失值,然后构建森林并计算proximity matrix,再回头看缺失值,如果是分类变量,则用没有阵进行加权平均的方法补缺失值。然后迭代4-6次,这个补缺失值的思想和KNN有些类似1缺失的观测实例的proximity中的权重进行投票。如果是连续型变量,则用proximity矩2。
衡量变量重要性的方法有两种,Decrease GINI 和 Decrease Accuracy:
使用Kd树或者Ball Tree
将所有的观测实例构建成一颗kd树,之前每个聚类中心都是需要和每个观测点做依次距离计算,现在这些聚类中心根据kd树只需要计算附近的一个局部区域即可。
K-means++算法选择初始seeds的基本思想就是:初始的聚类中心之间的相互距离要尽可能的远。
一个优化问题可以从两个角度进行考察,一个是primal 问题,一个是dual 问题,就是对偶问题,一般情况下对偶问题给出主问题最优值的下界,在强对偶性成立的情况下由对偶问题可以得到主问题的最优下界,对偶问题是凸优化问题,可以进行较好的求解,SVM中就是将Primal问题转换为dual问题进行求解,从而进一步引入核函数的思想。
特征选择是一个重要的数据预处理过程,主要有两个原因:一是减少特征数量、降维,使模型泛化能力更强,减少过拟合;二是增强对特征和特征值之间的理解。
常见的特征选择方式:
缺失值,填充缺失值fillna:
i. 离散:None,
ii. 连续:均值。
iii. 缺失值太多,则直接去除该列
连续值:离散化。有的模型(如决策树)需要离散值
对定量特征二值化。核心在于设定一个阈值,大于阈值的赋值为1,小于等于阈值的赋值为0。如图像操作
皮尔逊相关系数,去除高度相关的列
@我愛大泡泡,来源:
面试笔试整理3:深度学习机器学习面试问题准备(必会)
知乎解答
@Begin Again,来源:
知乎解答
如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层输出都是上层输入的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了。
正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络就有意义了(不再是输入的线性组合,可以逼近任意函数)。最早的想法是Sigmoid函数或者Tanh函数,输出有界,很容易充当下一层输入(以及一些人的生物解释)。
@Begin Again,来源:
知乎解答
本题解析来源:知乎解答
@beanfrog:二者目的不一样:sigmoid 用在了各种gate上,产生0~1之间的值,这个一般只有sigmoid最直接了。tanh 用在了状态和输出上,是对数据的处理,这个用其他激活函数或许也可以。
@hhhh:另可参见A Critical Review of Recurrent Neural Networks for Sequence Learning的section4.1,说了那两个tanh都可以替换成别的。
@我愛大泡泡,来源:
答案解析
这里首先要知道TP、FN(真的判成假的)、FP(假的判成真)、TN四种(可以画一个表格)。
几种常用的指标:
精度precision = TP/(TP+FP) = TP/~P (~p为预测为真的数量)
召回率 recall = TP/(TP+FN) = TP/ P
F1值: 2/F1 = 1/recall + 1/precision
ROC曲线:ROC空间是一个以伪阳性率(FPR,false positive rate)为X轴,真阳性率(TPR, true positive rate)为Y轴的二维坐标系所代表的平面。其中真阳率TPR = TP / P = recall, 伪阳率FPR = FP / N
详情参见机器学习和统计里面的auc怎么理解?
@AntZ:XGBoost寻找分割点的标准是最大化gain. 考虑传统的枚举每个特征的所有可能分割点的贪心法效率太低,XGBoost实现了一种近似的算法。大致的思想是根据百分位法列举几个可能成为分割点的候选者,然后从候选者中计算Gain按最大值找出最佳的分割点。它的计算公式分为四项, 可以由正则化项参数调整(lamda为叶子权重平方和的系数, gama为叶子数量):
第一项是假设分割的左孩子的权重分数, 第二项为右孩子, 第三项为不分割总体分数, 最后一项为引入一个节点的复杂度损失。
由公式可知, gama越大gain越小, lamda越大, gain可能小也可能大。
原问题是alpha而不是lambda, 这里paper上没有提到, XGBoost实现上有这个参数. 上面是我从paper上理解的答案,下面是搜索到的:
如何对XGBoost模型进行参数调优
@许韩,来源:
神经网络的训练中,通过改变神经元的权重,使网络的输出值尽可能逼近标签以降低误差值,训练普遍使用BP算法,核心思想是,计算出输出与标签间的损失函数值,然后计算其相对于每个神经元的梯度,进行权值的迭代。
梯度消失会造成权值更新缓慢,模型训练难度增加。造成梯度消失的一个原因是,许多激活函数将输出值挤压在很小的区间内,在激活函数两端较大范围的定义域内梯度为0,造成学习停止。
@寒小阳,反向传播中链式法则带来的连乘,如果有数很小趋于0,结果就会特别小(梯度消失);如果数都比较大,可能结果会很大(梯度爆炸)。
@单车
神经网络训练中的梯度消失与梯度爆炸
(1)梯度消失:
根据链式法则,如果每一层神经元对上一层的输出的偏导乘上权重结果都小于1的话,那么即使这个结果是0.99,在经过足够多层传播之后,误差对输入层的偏导会趋于0,可以采用ReLU激活函数有效的解决梯度消失的情况。
(2)梯度膨胀
根据链式法则,如果每一层神经元对上一层的输出的偏导乘上权重结果都大于1的话,在经过足够多层传播之后,误差对输入层的偏导会趋于无穷大,可以通过激活函数来解决。
@我愛大泡泡,来源:
推导过程
PCA的理念是使得数据投影后的方差最大,找到这样一个投影向量,满足方差最大的条件即可。而经过了去除均值的操作之后,就可以用SVD分解来求解这样一个投影向量,选择特征值最大的方向。
这主要是由于数据分布不平衡造成的。解决方法如下:
MP模型+sgn—->单层感知机(只能线性)+sgn— Minsky 低谷 —>多层感知机+BP+Sigmoid— (低谷) —>深度学习+Pretraining+ReLU/Sigmoid
@SmallisBig,来源:
机器学习岗位面试问题汇总 之 深度学习
A.每个神经元只有一个输入和一个输出
B.每个神经元有多个输入和一个输出
C.每个神经元有一个输入和多个输出
D.每个神经元有多个输入和多个输出
E.上述都正确
答案:(E)
每个神经元可以有一个或多个输入,和一个或多个输出
A. 搜索每个可能的权重和偏差组合,直到得到最佳值
B. 赋予一个初始值,然后检查跟最佳值的差值,不断迭代调整权重
C. 随机赋值,听天由命
D. 以上都不正确的
答案:(C)
选项C是对梯度下降的描述。
1.计算预测值和真实值之间的误差
2.重复迭代,直至得到网络权重的最佳值
3.把输入传入网络,得到输出值
4.用随机值初始化权重和偏差
5.对每一个产生误差的神经元,调整相应的(权重)值以减小误差
A. 1, 2, 3, 4, 5
B. 5, 4, 3, 2, 1
C. 3, 2, 1, 5, 4
D. 4, 3, 1, 5, 2
答案:(D)
给定上述关于神经网络的描述,什么情况下神经网络模型被称为深度学习模型?
A. 加入更多层,使神经网络的深度增加
B. 有维度更高的数据
C. 当这是一个图形识别的问题时
D. 以上都不正确
答案:(A)
更多层意味着网络更深。没有严格的定义多少层的模型才叫深度模型,目前如果有超过2层的隐层,那么也可以及叫做深度模型。
答案:错误
把数据传入神经网络之前需要做一系列数据预处理(也就是旋转、平移、缩放)工作,神经网络本身不能完成这些变换。
A. Boosting
B. Bagging
C. Stacking
D. Mapping
答案:B
Dropout可以认为是一种极端的Bagging,每一个模型都在单独的数据上训练,同时,通过和其他模型对应参数的共享,从而实现模型参数的高度正则化。
A. 随机梯度下降
B. 修正线性单元(ReLU)
C. 卷积函数
D .以上都不正确
答案:(B)
修正线性单元是非线性的激活函数。
A. 学习率(learning rate)太低
B. 正则参数太高
C. 陷入局部最小值
D. 以上都有可能
答案:(A)
A. 隐藏层层数增加,模型能力增加
B. Dropout的比例增加,模型能力增加
C. 学习率增加,模型能力增加
D. 都不正确
答案:(A)
答案:错误
并不总是正确。过拟合可能会导致错误增加。
A. 循环神经网络
B. 卷积神经网络
C. 限制玻尔兹曼机
D. 都不是
答案:(A)
1.随机初始化感知机的权重
2.去到数据集的下一批(batch)
3.如果预测值和输出不一致,则调整权重
4.对一个输入样本,计算输出值
答案:1 - 4 - 3 - 2
A. 穷举搜索
B. 随机搜索
C. Bayesian优化
D. 以上任意一种
答案:(D)
答案:(B)
这是鞍点(Saddle Point)的梯度下降的经典例子。另,本题来源于:题目来源
从图中趋势可见,如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么?(C)
A. 即使增加卷积核的数量,只有少部分的核会被用作预测
B. 当卷积核数量增加时,神经网络的预测能力(Power)会降低
C. 当卷积核数量增加时,它们之间的相关性增加(correlate),导致过拟合
D. 以上都不正确
答案:(C)
如C选项指出的那样,可能的原因是核之间的相关性。
答案:不同,因为PCA用于相关特征而隐层用于有预测能力的特征。
答案:可以,因为激活函数可以是互反函数。
A. 卷积神经网络
B. 循环神经网络
C. 全连接神经网络
D. 选项A和B
答案:(D)
A. 在将所有的输入传递到下一层之前对其进行归一化(更改)
B. 它将权重的归一化平均值和标准差
C. 它是一种非常有效的反向传播(BP)方法
D. 这些均不是
答案:(A)
A. Dropout
B. 分批归一化(Batch Normalization)
C. 正则化(regularization)
D. 都可以
答案:(D)
A. 神经网络会收敛
B. 不好说
C. 都不对
D. 神经网络不会收敛
答案:(D)
网络的输出是什么?(D)
D.可能是A或B,取决于神经网络的权重设置
答案:(D)
不知道神经网络的权重和偏差是什么,则无法判定它将会给出什么样的输出。
A. 对的
B. 不知道
C. 看情况
D. 不对
答案:(D)各个神经元的反应是不一样的
A. 不知道
B. 看情况
C. 是
D. 否
答案:(C)使用池化时会导致出现不变性。
A. 随机梯度下降法(Stochastic Gradient Descent)
B. 不知道
C. 整批梯度下降法(Full Batch Gradient Descent)
D. 都不是
答案:(A)
A. 第一隐藏层对应D,第二隐藏层对应C,第三隐藏层对应B,第四隐藏层对应A
B. 第一隐藏层对应A,第二隐藏层对应C,第三隐藏层对应B,第四隐藏层对应D
C. 第一隐藏层对应A,第二隐藏层对应B,第三隐藏层对应C,第四隐藏层对应D
D. 第一隐藏层对应B,第二隐藏层对应D,第三隐藏层对应C,第四隐藏层对应A
答案:(A)由于反向传播算法进入起始层,学习能力降低,这就是梯度消失。
A. 其他选项都不对
B. 没啥问题,神经网络会正常开始训练
C. 神经网络可以训练,但是所有的神经元最后都会变成识别同样的东西
D. 神经网络不会开始训练,因为没有梯度改变
答案:(C)
A. 改变学习速率,比如一开始的几个训练周期不断更改学习速率
B. 一开始将学习速率减小10倍,然后用动量项(momentum)
C. 增加参数数目,这样神经网络就不会卡在局部最优处
D. 其他都不对
答案:(A)
选项A可以将陷于局部最小值的神经网络提取出来。
A. 循环神经网络
B. 感知机
C. 多层感知机
D. 卷积神经网络
卷积神经网络将更好地适用于图像相关问题,因为考虑到图像附近位置变化的固有性质。
答案:(D)
你打算怎么做来处理这个问题?(D)
A. 对数据作归一化
B. 对数据取对数变化
C. 都不对
D. 对数据作主成分分析(PCA)和归一化
答案:(D)
首先将相关的数据去掉,然后将其置零。
A. A
B. D
C. C
D. B
E. 以上都有
答案:(E)
A. 需要,这也许意味着神经网络的学习速率存在问题
B. 不需要,只要在训练集和交叉验证集上有累积的下降就可以了
C. 不知道
D. 不好说
答案:(B)
选项B是正确的,为了减少这些“起伏”,可以尝试增加批尺寸(batch size)。
1 神经网络的类型(如MLP,CNN)
2 输入数据
3 计算能力(硬件和软件能力决定)
4 学习速率
5 映射的输出函数
A. 1,2,4,5
B. 2,3,4,5
C. 都需要考虑
D. 1,3,4,5
答案:(C)
所有上述因素对于选择神经网络模型的深度都是重要的。
A. 把除了最后一层外所有的层都冻住,重新训练最后一层
B. 对新数据重新训练整个模型
C. 只对最后几层进行调参(fine tune)
D. 对每一层模型进行评估,选择其中的少数来用
答案:(C)
答案:不是,增加核函数的大小不一定会提高性能。这个问题在很大程度上取决于数据集。
@SIY.Z。本题解析来源:
浅析 Hinton 最近提出的 Capsule 计划
https://tech.meituan.com/spark-tuning-basic.html
https://tech.meituan.com/spark-tuning-pro.html
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已
SVM、神经网络、随机森林、逻辑回归、KNN、贝叶斯
感知机、SVM、人工神经网络、决策树、逻辑回归
A. 增加训练集量
B. 减少神经网络隐藏层节点数
C. 删除稀疏的特征
D. SVM算法中使用高斯核/RBF核代替线性核
正确答案:(D)
@刘炫320
一般情况下,越复杂的系统,过拟合的可能性就越高,一般模型相对简单的话泛化能力会更好一点。
B.一般认为,增加隐层数可以降低网络误差(也有文献认为不一定能有效降低),提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现“过拟合”的倾向, svm高斯核函数比线性核函数模型更复杂,容易过拟合
D.径向基(RBF)核函数/高斯核函数的说明,这个核函数可以将原始空间映射到无穷维空间。对于参数 ,如果选的很大,高次特征上的权重实际上衰减得非常快,实际上(数值上近似一下)相当于一个低维的子空间;反过来,如果选得很小,则可以将任意的数据映射为线性可分——当然,这并不一定是好事,因为随之而来的可能是非常严重的过拟合问题。不过,总的来说,通过调整参数 ,高斯核实际上具有相当高的灵活性,也是 使用最广泛的核函数之一。
A. AR模型
B. MA模型
C. ARMA模型
D. GARCH模型
正确答案:(D)
@刘炫320
R模型是一种线性预测,即已知N个数据,可由模型推出第N点前面或后面的数据(设推出P点),所以其本质类似于插值。
MA模型(moving average model)滑动平均模型,其中使用趋势移动平均法建立直线趋势的预测模型。
ARMA模型(auto regressive moving average model)自回归滑动平均模型,模型参量法高分辨率谱分析方法之一。这种方法是研究平稳随机过程有理谱的典型方法。它比AR模型法与MA模型法有较精确的谱估计及较优良的谱分辨率性能,但其参数估算比较繁琐。
GARCH模型称为广义ARCH模型,是ARCH模型的拓展,由Bollerslev(1986)发展起来的。它是ARCH模型的推广。GARCH(p,0)模型,相当于ARCH§模型。GARCH模型是一个专门针对金融数据所量体订做的回归模型,除去和普通回归模型相同的之处,GARCH对误差的方差进行了进一步的建模。特别适用于波动性的分析和预测,这样的分析对投资者的决策能起到非常重要的指导性作用,其意义很多时候超过了对数值本身的分析和预测。
A. 感知准则函数
B.贝叶斯分类
C.支持向量机
D.Fisher准则
正确答案:(ACD)
@刘炫320
线性分类器有三大类:感知器准则函数、SVM、Fisher准则,而贝叶斯分类器不是线性分类器。
感知准则函数 :准则函数以使错分类样本到分界面距离之和最小为原则。其优点是通过错分类样本提供的信息对分类器函数进行修正,这种准则是人工神经元网络多层感知器的基础。
支持向量机 :基本思想是在两类线性可分条件下,所设计的分类器界面使两类之间的间隔为最大,它的基本出发点是使期望泛化风险尽可能小。(使用核函数可解决非线性问题)
Fisher 准则 :更广泛的称呼是线性判别分析(LDA),将所有样本投影到一条远点出发的直线,使得同类样本距离尽可能小,不同类样本距离尽可能大,具体为最大化“广义瑞利商”。
根据两类样本一般类内密集,类间分离的特点,寻找线性分类器最佳的法线向量方向,使两类样本在该方向上的投影满足类内尽可能密集,类间尽可能分开。这种度量通过类内离散矩阵SwSw和类间离散矩阵SbSb实现。
A. 计算量小
B. 可以判别问题是否线性可分
C. 其解完全适用于非线性可分的情况
D. 其解的适应性更好
正确答案:(BD)
@刘炫320
HK算法思想很朴实,就是在最小均方误差准则下求得权矢量。
他相对于感知器算法的优点在于,他适用于线性可分和非线性可分得情况,对于线性可分的情况,给出最优权矢量,对于非线性可分得情况,能够判别出来,以退出迭代过程。
A. SVM对噪声(如来自其他分布的噪声样本)鲁棒
B. 在AdaBoost算法中,所有被分错的样本的权重更新比例相同
C. Boosting和Bagging都是组合多个分类器投票的方法,二者都是根据单个分类器的正确率决定其权重
D. 给定n个数据点,如果其中一半用于训练,一般用于测试,则训练误差和测试误差之间的差别会随着n的增加而减少
正确答案:(BD)
@刘炫320
A、SVM对噪声(如来自其他分布的噪声样本)鲁棒
SVM本身对噪声具有一定的鲁棒性,但实验证明,是当噪声率低于一定水平的噪声对SVM没有太大影响,但随着噪声率的不断增加,分类器的识别率会降低。
B、在AdaBoost算法中所有被分错的样本的权重更新比例相同
AdaBoost算法中不同的训练集是通过调整每个样本对应的权重来实现的。开始时,每个样本对应的权重是相同的,即其中n为样本个数,在此样本分布下训练出一弱分类器。对于分类错误的样本,加大其对应的权重;而对于分类正确的样本,降低其权重,这样分错的样本就被凸显出来,从而得到一个新的样本分布。在新的样本分布下,再次对样本进行训练,得到弱分类器。以此类推,将所有的弱分类器重叠加起来,得到强分类器。
C、Boost和Bagging都是组合多个分类器投票的方法,二者均是根据单个分类器的正确率决定其权重。
Bagging与Boosting的区别:
取样方式不同。
Bagging采用均匀取样,而Boosting根据错误率取样。
Bagging的各个预测函数没有权重,而Boosting是有权重的。
Bagging的各个预测函数可以并行生成,而Boosing的各个预测函数只能顺序生成。
A. 95
B. 96
C. 97
D. 98
正确答案:(C)
@刘炫320
首先我们应该知道卷积或者池化后大小的计算公式:
out_height=((input_height - filter_height + padding_top+padding_bottom)/stride_height )+1
out_width=((input_width - filter_width + padding_left+padding_right)/stride_width )+1
其中,padding指的是向外扩展的边缘大小,而stride则是步长,即每次移动的长度。
这样一来就容易多了,首先长宽一般大,所以我们只需要计算一个维度即可,这样,经过第一次卷积后的大小为: (200-5+2)/2+1,取99;经过第一次池化后的大小为:(99-3)/1+1 为97;经过第二次卷积后的大小为: (97-3+2)/1+1 为97。
A. 数据描述
B. 相关
C. 交叉表
D. 多重相应
正确答案:(C )
A. 二分类问题
B. 多分类问题
C. 层次聚类问题
D. k-中心点聚类问题
E. 回归问题
F. 结构分析问题
正确答案:(B)
@刘炫320
二分类:每个分类器只能把样本分为两类。监狱里的样本分别为狱警、小偷、送餐员、其他。二分类肯 定行不通。瓦普尼克95年提出来基础的支持向量机就是个二分类的分类器,这个分类器学习过 程就是解一个基于正负二分类推导而来的一个最优规划问题(对偶问题),要解决多分类问题 就要用决策树把二分类的分类器级联,VC维的概念就是说的这事的复杂度。
层次聚类: 创建一个层次等级以分解给定的数据集。监狱里的对象分别是狱警、小偷、送餐员、或者其 他,他们等级应该是平等的,所以不行。此方法分为自上而下(分解)和自下而上(合并)两种操作方式。
K-中心点聚类:挑选实际对象来代表簇,每个簇使用一个代表对象。它是围绕中心点划分的一种规则,所以这里并不合适。
回归分析:处理变量之间具有相关性的一种统计方法,这里的狱警、小偷、送餐员、其他之间并没有什 么直接关系。
结构分析: 结构分析法是在统计分组的基础上,计算各组成部分所占比重,进而分析某一总体现象的内部结构特征、总体的性质、总体内部结构依时间推移而表现出的变化规律性的统计方法。结构分析法的基本表现形式,就是计算结构指标。这里也行不通。
多分类问题: 针对不同的属性训练几个不同的弱分类器,然后将它们集成为一个强分类器。这里狱警、 小偷、送餐员 以及他某某,分别根据他们的特点设定依据,然后进行区分识别。
A. Logit回归目标函数是最小化后验概率
B. Logit回归可以用于预测事件发生概率的大小
C. SVM目标是结构风险最小化
D. SVM可以有效避免模型过拟合
正确答案:(A)
@刘炫320
A. Logit回归本质上是一种根据样本对权值进行极大似然估计的方法,而后验概率正比于先验概率和似然函数的乘积。logit仅仅是最大化似然函数,并没有最大化后验概率,更谈不上最小化后验概率。而最小化后验概率是朴素贝叶斯算法要做的。A错误
B. Logit回归的输出就是样本属于正类别的几率,可以计算出概率,正确
C. SVM的目标是找到使得训练数据尽可能分开且分类间隔最大的超平面,应该属于结构风险最小化。
D. SVM可以通过正则化系数控制模型的复杂度,避免过拟合。
A. 2x+y=4
B. x+2y=5
C. x+2y=3
D. 2x-y=0
正确答案:(C)
解析:这道题简化了,对于两个点来说,最大间隔就是垂直平分线,因此求出垂直平分线即可。
A. 准确率是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率
B. 召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率
C. 正确率、召回率和 F 值取值都在0和1之间,数值越接近0,查准率或查全率就越高
D. 为了解决准确率和召回率冲突问题,引入了F1分数
正确答案:(C)
解析:对于二类分类问题常用的评价指标是精准度(precision)与召回率(recall)。通常以关注的类为正类,其他类为负类,分类器在测试数据集上的预测或正确或不正确,4种情况出现的总数分别记作:
TP——将正类预测为正类数
FN——将正类预测为负类数
FP——将负类预测为正类数
TN——将负类预测为负类数
由此:
精准率定义为:P = TP / (TP + FP)
召回率定义为:R = TP / (TP + FN)
F1值定义为: F1 = 2 P R / (P + R)
精准率和召回率和F1取值都在0和1之间,精准率和召回率高,F1值也会高,不存在数值越接近0越高的说法,应该是数值越接近1越高。
1)混合高斯模型 2)条件随机场模型
3)区分度训练 4)隐马尔科夫模型
A. 2,3
B. 3,4
C. 1,4
D. 1,2
正确答案:(A)
@刘炫320
常见的判别式模型有:Logistic Regression(Logistical 回归)
Linear discriminant analysis(线性判别分析)
Supportvector machines(支持向量机)
Boosting(集成学习)
Conditional random fields(条件随机场)
Linear regression(线性回归)
Neural networks(神经网络)
常见的生成式模型有:Gaussian mixture model and othertypes of mixture model(高斯混合及其他类型混合模型)
Hidden Markov model(隐马尔可夫)
NaiveBayes(朴素贝叶斯)
AODE(平均单依赖估计)
Latent Dirichlet allocation(LDA主题模型)
Restricted Boltzmann Machine(限制波兹曼机)
生成式模型是根据概率乘出结果,而判别式模型是给出输入,计算出结果。
A. 数据
B. 直销
C. 分析
D. 转换
正确答案:(AD )
@刘炫320
解析:对数据的整理主要在数据和转换功能菜单中。
A. (AB)C
B. AC(B)
C. A(BC)
D. 所以效率都相同
正确答案:(A)
@刘炫320
首先,根据简单的矩阵知识,因为 A*B , A 的列数必须和 B 的行数相等。因此,可以排除 B 选项。
然后,再看 A 、 C 选项。在 A 选项中,m∗n 的矩阵 A 和n∗p的矩阵 B 的乘积,得到 m∗p的矩阵 AB ,而 A∗B的每个元素需要 n 次乘法和 n-1 次加法,忽略加法,共需要 m∗n∗p次乘法运算。同样情况分析 AB 之后再乘以 C 时的情况,共需要 m∗p∗q次乘法运算。因此, A 选项 (AB)C 需要的乘法次数是 m∗n∗p+m∗p∗q 。同理分析, C 选项 A (BC) 需要的乘法次数是 n∗p∗q+m∗n∗q。
由于m∗n∗p
A. 各类别的先验概率P©是相等的
B. 以0为均值,sqr(2)/2为标准差的正态分布
C. 特征变量X的各个维度是类别条件独立随机变量
D. P(X|C)是高斯分布
正确答案:( C )
@刘炫320
朴素贝叶斯的条件就是每个变量相互独立。
A. L2正则项,作用是最大化分类间隔,使得分类器拥有更强的泛化能力
B. Hinge 损失函数,作用是最小化经验分类错误
C. 分类间隔为1||w||1||w||,||w||代表向量的模
D. 当参数C越小时,分类间隔越大,分类错误越多,趋于欠学习
正确答案:(C)
@刘炫320
A正确。考虑加入正则化项的原因:想象一个完美的数据集,y>1是正类,y<-1是负类,决策面y=0,加入一个y=-30的正类噪声样本,那么决策面将会变“歪”很多,分类间隔变小,泛化能力减小。加入正则项之后,对噪声样本的容错能力增强,前面提到的例子里面,决策面就会没那么“歪”了,使得分类间隔变大,提高了泛化能力。
B正确。
C错误。间隔应该是2||w||2||w||才对,后半句应该没错,向量的模通常指的就是其二范数。
D正确。考虑软间隔的时候,C对优化问题的影响就在于把a的范围从[0,+inf]限制到了[0,C]。C越小,那么a就会越小,目标函数拉格朗日函数导数为0可以求出w=∑iai∗yi∗xiw=∑iai∗yi∗xi,a变小使得w变小,因此间隔2||w||2||w||变大。
A. EM算法
B. 维特比算法
C. 前向后向算法
D. 极大似然估计
正确答案:( D )
@刘炫320
EM算法: 只有观测序列,无状态序列时来学习模型参数,即Baum-Welch算法
维特比算法: 用动态规划解决HMM的预测问题,不是参数估计
前向后向算法:用来算概率
极大似然估计:即观测序列和相应的状态序列都存在时的监督学习算法,用来估计参数
注意的是在给定观测序列和对应的状态序列估计模型参数,可以利用极大似然发估计。如果给定观测序列,没有对应的状态序列,才用EM,将状态序列看不不可测的隐数据。
A. 这个被重复的特征在模型中的决定作用会被加强
B. 模型效果相比无重复特征的情况下精确度会降低
C. 如果所有特征都被重复一遍,得到的模型预测结果相对于不重复的情况下的模型预测结果一样。
D. 当两列特征高度相关时,无法用两列特征相同时所得到的结论来分析问题
E. NB可以用来做最小二乘回归
F. 以上说法都不正确
正确答案:(BD)
A. 可以做特征选择,并在一定程度上防止过拟合
B. 能解决维度灾难问题
C. 能加快计算速度
D. 可以获得更准确的结果
正确答案:( A )
@刘炫320
L1范数具有系数解的特性,但是要注意的是,L1没有选到的特征不代表不重要,原因是两个高相关性的特征可能只保留一个。如果需要确定哪个特征重要,再通过交叉验证。
在代价函数后面加上正则项,L1即是Losso回归,L2是岭回归。L1范数是指向量中各个元素绝对值之和,用于特征选择。L2范数 是指向量各元素的平方和然后求平方根,用于 防止过拟合,提升模型的泛化能力。因此选择A。
对于机器学习中的范数规则化,也就是L0,L1,L2范数的详细解答,请参阅范数规则化。
A. 使用L1可以得到稀疏的权值
B. 使用L1可以得到平滑的权值
C. 使用L2可以得到稀疏的权值
D. 使用L2可以得到平滑的权值
正确答案:(AD)
@刘炫320
L1正则化偏向于稀疏,它会自动进行特征选择,去掉一些没用的特征,也就是将这些特征对应的权重置为0。
L2主要功能是为了防止过拟合,当要求参数越小时,说明模型越简单,而模型越简单则,越趋向于平滑,从而防止过拟合。
L1正则化/Lasso
L1正则化将系数w的L1范数作为惩罚项加到损失函数上,由于正则项非零,这就迫使那些弱的特征所对应的系数变成0。因此L1正则化往往会使学到的模型很稀疏(系数w经常为0),这个特性使得L1正则化成为一种很好的特征选择方法。
L2正则化/Ridge regression
L2正则化将系数向量的L2范数添加到了损失函数中。由于L2惩罚项中系数是二次方的,这使得L2和L1有着诸多差异,最明显的一点就是,L2正则化会让系数的取值变得平均。对于关联特征,这意味着他们能够获得更相近的对应系数。还是以Y=X1+X2Y=X1+X2为例,假设X1X1和X1X1具有很强的关联,如果用L1正则化,不论学到的模型是Y=X1+X2Y=X1+X2还是Y=2X1Y=2X1,惩罚都是一样的,都是2α2α。但是对于L2来说,第一个模型的惩罚项是2α2α,但第二个模型的是4α4α。可以看出,系数之和为常数时,各系数相等时惩罚是最小的,所以才有了L2会让各个系数趋于相同的特点。
可以看出,L2正则化对于特征选择来说一种稳定的模型,不像L1正则化那样,系数会因为细微的数据变化而波动。所以L2正则化和L1正则化提供的价值是不同的,L2正则化对于特征理解来说更加有用:表示能力强的特征对应的系数是非零。
因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。
A. 后验概率
B. 先验概率
C. 类概率密度
D. 类概率密度与先验概率的乘积
正确答案: (AD)
事实上,AD说的是一回事。
参考链接:势函数主要用于确定分类面,其思想来源于物理。
A. 评估—前向后向算法
B. 解码—维特比算法
C. 学习—Baum-Welch算法
D. 学习—前向后向算法
正确答案: ( ABC)
解析:评估问题,可以使用前向算法、后向算法、前向后向算法。
答案:线性分类器,因为维度高的时候,数据一般在维度空间里面会比较稀疏,很有可能线性可分。
A. k-means
B. SVM
C. 最大熵
D. CRF
正确答案:(A)
解析: A是聚类,BC是分类,D是序列化标注,也是有监督学习。
A. 特征灵活
B. 速度快
C. 可容纳较多上下文信息
D. 全局最优
正确答案:(B)
解析: CRF 的优点:特征灵活,可以容纳较多的上下文信息,能够做到全局最优CRF 的缺点:速度慢
CRF没有HMM那样严格的独立性假设条件,因而可以容纳任意的上下文信息。特征设计灵活(与ME一样) ————与HMM比较
同时,由于CRF计算全局最优输出节点的条件概率,它还克服了最大熵马尔可夫模型标记偏置(Label-bias)的缺点。 ————与MEMM比较
CRF是在给定需要标记的观察序列的条件下,使用维特比算法,计算整个标记序列的联合概率分布,而不是在给定当前状态条件下,定义下一个状态的状态分布。————与ME比较
A. 估算
B. 整例删除
C. 变量删除
D. 成对删除
正确答案:(ABCD)
由于调查、编码和录入误差,数据中可能存在一些无效值和缺失值,需要给予适当的处理。常用的处理方法有:估算,整例删除,变量删除和成对删除。
估算(estimation)。最简单的办法就是用某个变量的样本均值、中位数或众数代替无效值和缺失值。这种办法简单,但没有充分考虑数据中已有的信息,误差可能较大。另一种办法就是根据调查对象对其他问题的答案,通过变量之间的相关分析或逻辑推论进行估计。例如,某一产品的拥有情况可能与家庭收入有关,可以根据调查对象的家庭收入推算拥有这一产品的可能性。
整例删除(casewise deletion)是剔除含有缺失值的样本。由于很多问卷都可能存在缺失值,这种做法的结果可能导致有效样本量大大减少,无法充分利用已经收集到的数据。因此,只适合关键变量缺失,或者含有无效值或缺失值的样本比重很小的情况。
变量删除(variable deletion)。如果某一变量的无效值和缺失值很多,而且该变量对于所研究的问题不是特别重要,则可以考虑将该变量删除。这种做法减少了供分析用的变量数目,但没有改变样本量。
成对删除(pairwise deletion)是用一个特殊码(通常是9、99、999等)代表无效值和缺失值,同时保留数据集中的全部变量和样本。但是,在具体计算时只采用有完整答案的样本,因而不同的分析因涉及的变量不同,其有效样本量也会有所不同。这是一种保守的处理方法,最大限度地保留了数据集中的可用信息。
采用不同的处理方法可能对分析结果产生影响,尤其是当缺失值的出现并非随机且变量之间明显相关时。因此,在调查中应当尽量避免出现无效值和缺失值,保证数据的完整性。
A. 基本假设包括随机干扰项是均值为0,方差为1的标准正态分布
B. 基本假设包括随机干扰下是均值为0的同方差正态分布
C. 在违背基本假设时,普通最小二乘法估计量不再是最佳线性无偏估计量
D. 在违背基本假设时,模型不再可以估计
E. 可以用DW检验残差是否存在序列相关性
F. 多重共线性会使得参数估计值方差减小
正确答案:(ACEF)
(1)随机误差项是一个期望值或平均值为0的随机变量;
(2)对于解释变量的所有观测值,随机误差项有相同的方差;
(3)随机误差项彼此不相关;
(4)解释变量是确定性变量,不是随机变量,与随机误差项彼此之间相互独立;
(5)解释变量之间不存在精确的(完全的)线性关系,即解释变量的样本观测值矩阵是满秩矩阵;
(6)随机误差项服从正态分布
当存在异方差时,普通最小二乘法估计存在以下问题: 参数估计值虽然是无偏的,但不是最小方差线性无偏估计。
对于线性回归模型,当响应变量服从正态分布,误差项满足高斯–马尔科夫条件(零均值、等方差、不相关)时,回归参数的最小二乘估计是一致最小方差无偏估计。
当然,该条件只是理想化的假定,为的是数学上有相应的较为成熟的结论。其实大多数实际问题都不完全满足这些理想化的假定。
线性回归模型理论的发展正是在不断克服理想化条件不被满足时得到许多新方法。如加权LSE、岭估计、压缩估计、BOX_COX变换等一系列段。做实际工作时一定是要超越书本上的理想化条件的。
A. 特征选取
B. 模式相似性测度
C. 分类准则
D. 已知类别的样本质量
正确答案:(ABC)
@刘炫320
解析:这道题应该是很简单的,D之所以不正确,是因为聚类是对无类别的数据进行聚类,不使用已经标记好的数据。
A. RSI
B. MACD
C. ARMA
D. KDJ
正确答案:(C)
解析: 自回归滑动平均模型(ARMA) ,其建模思想可概括为:逐渐增加模型的阶数,拟合较高阶模型,直到再增加模型的阶数而剩余残差方差不再显著减小为止。
其他三项都不是一个层次的。
A. 相对强弱指数 (RSI, Relative Strength Index) 是通过比较一段时期内的平均收盘涨数和平均收盘跌数来分析市场买沽盘的意向和实力 , 从而作出未来市场的走势 。
B. 移动平均聚散指标 (MACD, Moving Average Convergence Divergence), 是根据均线的构造原理 , 对股票价格的收盘价进行平滑处理 , 求出算术平均值以后再进行计算 , 是一种趋向类指标 。
D. 随机指标 (KDJ) 一般是根据统计学的原理 , 通过一个特定的周期 ( 常为 9 日 ,9 周等 ) 内出现过的最高价 , 最低价及最后一个计算周期的收盘价及这三者之间的比例关系 , 来计算最后一个计算周期的未成熟随机值 RSV, 然后根据平滑移动平均线的方法来计算 K 值 , D 值与 J 值 , 并绘成曲线图来研判股票走势 。
A. 多项式核函数
B. Logistic核函数
C. 径向基核函数
D. Sigmoid核函数
正确答案:(B)
SVM核函数包括线性核函数、多项式核函数、径向基核函数、高斯核函数、幂指数核函数、拉普拉斯核函数、ANOVA核函数、二次有理核函数、多元二次核函数、逆多元二次核函数以及Sigmoid核函数。
核函数的定义并不困难,根据泛函的有关理论,只要一种函数 K ( x i , x j ) 满足Mercer条件,它就对应某一变换空间的内积。对于判断哪些函数是核函数到目前为止也取得了重要的突破,得到Mercer定理和以下常用的核函数类型:
(1)线性核函数 :K ( x , x i ) = x ⋅ x i
(2)多项式核 :K ( x , x i ) = ( ( x ⋅ x i ) + 1 ) d
(3)径向基核(RBF):K ( x , x i ) = exp ( − ∥ x − x i ∥ 2 σ 2 )
Gauss径向基函数则是局部性强的核函数,其外推能力随着参数 σ 的增大而减弱。多项式形式的核函数具有良好的全局性质。局部性较差。
(4)傅里叶核 :K ( x , x i ) = 1 − q 2 2 ( 1 − 2 q cos ( x − x i ) + q 2 )
(5)样条核 :K ( x , x i ) = B 2 n + 1 ( x − x i )
(6)Sigmoid核函数 :K ( x , x i ) = tanh ( κ ( x , x i ) − δ )
采用Sigmoid函数作为核函数时,支持向量机实现的就是一种多层感知器神经网络,应用SVM方法,隐含层节点数目(它确定神经网络的结构)、隐含层节点对输入节点的权值都是在设计(训练)的过程中自动确定的。而且支持向量机的理论基础决定了它最终求得的是全局最优值而不是局部最小值,也保证了它对于未知样本的良好泛化能力而不会出现过学习现象。
在选取核函数解决实际问题时,通常采用的方法有:
一是利用专家的先验知识预先选定核函数;
二是采用Cross-Validation方法,即在进行核函数选取时,分别试用不同的核函数,归纳误差最小的核函数就是最好的核函数.如针对傅立叶核、RBF核,结合信号处理问题中的函数回归问题,通过仿真实验,对比分析了在相同数据条件下,采用傅立叶核的SVM要比采用RBF核的SVM误差小很多。
三是采用由Smits等人提出的混合核函数方法,该方法较之前两者是目前选取核函数的主流方法,也是关于如何构造核函数的又一开创性的工作.将不同的核函数结合起来后会有更好的特性,这是混合核函数方法的基本思想。
A. 主分量分析的最佳准则是对一组数据进行按一组正交基分解, 在只取相同数量分量的条件下,以均方误差计算截尾误差最小
B. 在经主分量分解后,协方差矩阵成为对角矩阵
C. 主分量分析就是K-L变换
D. 主分量是通过求协方差矩阵的特征值得到
正确答案:( C )
解析:K-L变换与PCA变换是不同的概念,PCA的变换矩阵是协方差矩阵,K-L变换的变换矩阵可以有很多种(二阶矩阵、协方差矩阵、总类内离散度矩阵等等)。当K-L变换矩阵为协方差矩阵时,等同于PCA。
A. 将负样本重复10次,生成10w样本量,打乱顺序参与分类
B. 直接进行分类,可以最大限度利用数据
C. 从10w正样本中随机抽取1w参与分类
D. 将负样本每个权重设置为10,正样本权重为1,参与训练过程
正确答案:( ACD)
解析:
如果1:10算是均匀的话,可以将多数类分割成为1000份。然后将每一份跟少数类的样本组合进行训练得到分类器。而后将这1000个分类器用assemble的方法组合位一个分类器。A选项可以看作此方式,因而相对比较合理。
另:如果目标是 预测的分布 跟训练的分布一致,那就加大对分布不一致的惩罚系数。
当然,这只是在数据集上进行相应的处理,在算法上也有相应的处理方法。
A. 最小损失准则
B. N-P判决
C. 最小最大损失准则
D. 最小误判概率准则
正确答案:( BC )
选项 A ,最小损失准则中需要用到先验概率
选项B ,在贝叶斯决策中,对于先验概率p(y),分为已知和未知两种情况。
聂曼-皮尔逊决策(N-P判决)可以归结为找阈值a,即:
如果p(x|w1)/p(x|w2)>a,则 x属于w1;
如果p(x|w1)/p(x|w2)
选项C ,最大最小损失规则主要就是使用解决最小损失规则时先验概率未知或难以计算的问题的。
A. 前向算法
B. 后向算法
C. Baum-Welch算法
D. 维特比算法
正确答案:(D)
@刘炫320
A、B:前向、后向算法解决的是一个评估问题,即给定一个模型,求某特定观测序列的概率,用于评估该序列最匹配的模型。
C:Baum-Welch算法解决的是一个模型训练问题,即参数估计,是一种无监督的训练方法,主要通过EM迭代实现;
D:维特比算法解决的是给定 一个模型和某个特定的输出序列,求最可能产生这个输出的状态序列。如通过海藻变化(输出序列)来观测天气(状态序列),是预测问题,通信中的解码问题。
A. 样本较多但典型性不好
B. 样本较少但典型性好
C. 样本呈团状分布
D. 样本呈链状分布
正确答案:( B )
解析:
K近邻算法主要依靠的是周围的点,因此如果样本过多,那肯定是区分不出来的。因此应当选择B。
样本呈团状颇有迷惑性,这里应该指的是整个样本都是呈团状分布,这样kNN就发挥不出其求近邻的优势了,整体样本应该具有典型性好,样本较少,比较适宜。
A. 主成分分析PCA
B. 线性判别分析LDA
C. 深度学习SparseAutoEncoder
D. 矩阵奇异值分解SVD
E. 最小二乘法LeastSquares
正确答案:(ABCD)
解析:降维的3种常见方法ABD,都是线性的。深度学习是降维的方法这个就比较新鲜了,事实上,细细想来,也是降维的一种方法,因为如果隐藏层中的神经元数目要小于输入层,那就达到了降维,但如果隐藏层中的神经元如果多余输入层,那就不是降维了。
最小二乘法是线性回归的一种解决方法,其实也是投影,但是并没有进行降维。
A. Expectation Maximization(EM)(最大期望算法)
B. Radial Basis Function(RBF)(径向基核函数)
C. Linear Discrimimate Analysis(LDA)(主成分分析法)
D. Support Vector Machine(SVM)(支持向量机)
正确答案:( BCD )
解析:径向基核函数是非常常用的核函数,而主成分分析法的常规方法是线性的,但是当遇到非线性的时候,同样可以使用核方法使得非线性问题转化为线性问题。支持向量机处理非线性的问题的时候,核函数也是非常重要的。
解析详见:周志华《机器学习》课后习题解答系列(六):Ch5.10 - 卷积神经网络实验
@Hengkai Guo
说说我对一个好的激活函数的理解吧,有些地方可能不太严谨,欢迎讨论。(部分参考了Activation function。)
@李振华
知乎答案
这三个放在一起不是很恰当,但是有互相有关联,所以就放在这里一起说了。注意重点关注算法的思想。
(1)EM算法
EM算法是用于含有隐变量模型的极大似然估计或者极大后验估计,有两步组成:E步,求期望(expectation);M步,求极大(maxmization)。本质上EM算法还是一个迭代算法,通过不断用上一代参数对隐变量的估计来对当前变量进行计算,直到收敛。
注意:EM算法是对初值敏感的,而且EM是不断求解下界的极大化逼近求解对数似然函数的极大化的算法,也就是说EM算法不能保证找到全局最优值。对于EM的导出方法也应该掌握。
(2)HMM算法
隐马尔可夫模型是用于标注问题的生成模型。有几个参数(π,A,B):初始状态概率向量π,状态转移矩阵A,观测概率矩阵B。称为马尔科夫模型的三要素。
马尔科夫三个基本问题:
概率计算问题:给定模型和观测序列,计算模型下观测序列输出的概率。–》前向后向算法
学习问题:已知观测序列,估计模型参数,即用极大似然估计来估计参数。–》Baum-Welch(也就是EM算法)和极大似然估计。
预测问题:已知模型和观测序列,求解对应的状态序列。–》近似算法(贪心算法)和维比特算法(动态规划求最优路径)
(3)条件随机场CRF
给定一组输入随机变量的条件下另一组输出随机变量的条件概率分布密度。条件随机场假设输出变量构成马尔科夫随机场,而我们平时看到的大多是线性链条随机场,也就是由输入对输出进行预测的判别模型。求解方法为极大似然估计或正则化的极大似然估计。
之所以总把HMM和CRF进行比较,主要是因为CRF和HMM都利用了图的知识,但是CRF利用的是马尔科夫随机场(无向图),而HMM的基础是贝叶斯网络(有向图)。而且CRF也有:概率计算问题、学习问题和预测问题。大致计算方法和HMM类似,只不过不需要EM算法进行学习问题。
(4)HMM和CRF对比
其根本还是在于基本的理念不同,一个是生成模型,一个是判别模型,这也就导致了求解方式的不同。
核函数的本质是两个函数的內积,而这个函数在SVM中可以表示成对于输入值的高维映射。注意核并不是直接对应映射,核只不过是一个内积。
v222.常用核函数及核函数的条件。
核函数选择的时候应该从线性核开始,而且在特征很多的情况下没有必要选择高斯核,应该从简单到难的选择模型。我们通常说的核函数指的是正定和函数,其充要条件是对于任意的x属于X,要求K对应的Gram矩阵要是半正定矩阵。
RBF核径向基,这类函数取值依赖于特定点间的距离,所以拉普拉斯核其实也是径向基核。
线性核:主要用于线性可分的情况
多项式核
(1)随机森林
随机森林改变了决策树容易过拟合的问题,这主要是由两个操作所优化的:
分类问题:采用Bagging投票的方式选择类别频次最高的
回归问题:直接取每颗树结果的平均值。
(2)Boosting之AdaBoost
Boosting的本质实际上是一个加法模型,通过改变训练样本权重学习多个分类器并进行一些线性组合。而Adaboost就是加法模型+指数损失函数+前项分布算法。Adaboost就是从弱分类器出发反复训练,在其中不断调整数据权重或者是概率分布,同时提高前一轮被弱分类器误分的样本的权值。最后用分类器进行投票表决(但是分类器的重要性不同)。
(3)Boosting之GBDT
将基分类器变成二叉树,回归用二叉回归树,分类用二叉分类树。和上面的Adaboost相比,回归树的损失函数为平方损失,同样可以用指数损失函数定义分类问题。但是对于一般损失函数怎么计算呢?GBDT(梯度提升决策树)是为了解决一般损失函数的优化问题,方法是用损失函数的负梯度在当前模型的值来模拟回归问题中残差的近似值。
注:由于GBDT很容易出现过拟合的问题,所以推荐的GBDT深度不要超过6,而随机森林可以在15以上。
(4)Xgboost
这个工具主要有以下几个特点:
支持线性分类器
可以自定义损失函数,并且可以用二阶偏导
加入了正则化项:叶节点数、每个叶节点输出score的L2-norm
支持特征抽样
在一定情况下支持并行,只有在建树的阶段才会用到,每个节点可以并行的寻找分裂特征。
(1)公式推导一定要会
(2)逻辑回归的基本概念
这个最好从广义线性模型的角度分析,逻辑回归是假设y服从Bernoulli分布。
(3)L1-norm和L2-norm
其实稀疏的根本还是在于L0-norm也就是直接统计参数不为0的个数作为规则项,但实际上却不好执行于是引入了L1-norm;而L1norm本质上是假设参数先验是服从Laplace分布的,而L2-norm是假设参数先验为Gaussian分布,我们在网上看到的通常用图像来解答这个问题的原理就在这。
但是L1-norm的求解比较困难,可以用坐标轴下降法或是最小角回归法求解。
(4)LR和SVM对比
首先,LR和SVM最大的区别在于损失函数的选择,LR的损失函数为Log损失(或者说是逻辑损失都可以)、而SVM的损失函数为hinge loss
minw,b∑iN[1−yi(w∗xi+b)]+λ||w||2minw,b∑iN[1−yi(w∗xi+b)]+λ||w||2
其次,两者都是线性模型。
最后,SVM只考虑支持向量(也就是和分类相关的少数点)
(5)LR和随机森林区别
随机森林等树算法都是非线性的,而LR是线性的。LR更侧重全局优化,而树模型主要是局部的优化。
(6)常用的优化方法
逻辑回归本身是可以用公式求解的,但是因为需要求逆的复杂度太高,所以才引入了梯度下降算法。
一阶方法:梯度下降、随机梯度下降、mini 随机梯度下降降法。随机梯度下降不但速度上比原始梯度下降要快,局部最优化问题时可以一定程度上抑制局部最优解的发生。
二阶方法:牛顿法、拟牛顿法:
这里详细说一下牛顿法的基本原理和牛顿法的应用方式。牛顿法其实就是通过切线与x轴的交点不断更新切线的位置,直到达到曲线与x轴的交点得到方程解。在实际应用中我们因为常常要求解凸优化问题,也就是要求解函数一阶导数为0的位置,而牛顿法恰好可以给这种问题提供解决方法。实际应用中牛顿法首先选择一个点作为起始点,并进行一次二阶泰勒展开得到导数为0的点进行一个更新,直到达到要求,这时牛顿法也就成了二阶求解问题,比一阶方法更快。我们常常看到的x通常为一个多维向量,这也就引出了Hessian矩阵的概念(就是x的二阶导数矩阵)。缺点:牛顿法是定长迭代,没有步长因子,所以不能保证函数值稳定的下降,严重时甚至会失败。还有就是牛顿法要求函数一定是二阶可导的。而且计算Hessian矩阵的逆复杂度很大。
拟牛顿法: 不用二阶偏导而是构造出Hessian矩阵的近似正定对称矩阵的方法称为拟牛顿法。拟牛顿法的思路就是用一个特别的表达形式来模拟Hessian矩阵或者是他的逆使得表达式满足拟牛顿条件。主要有DFP法(逼近Hession的逆)、BFGS(直接逼近Hession矩阵)、 L-BFGS(可以减少BFGS所需的存储空间)。
参考答案
@许韩
以FaceBook DeepFace 为例:
DeepFace 先进行了两次全卷积+一次池化,提取了低层次的边缘/纹理等特征。后接了3个Local-Conv层,这里是用Local-Conv的原因是,人脸在不同的区域存在不同的特征(眼睛/鼻子/嘴的分布位置相对固定),当不存在全局的局部特征分布时,Local-Conv更适合特征的提取。
@抽象猴
共线性:多变量线性回归中,变量之间由于存在高度相关关系而使回归估计不准确。
共线性会造成冗余,导致过拟合。
解决方法:排除变量的相关性/加入权重正则。
参见:The Loss Surfaces of Multilayer Networks
在分类问题中,这个问题相对好理解一点,比如人脸识别中的例子,正样本很好理解,就是人脸的图片,负样本的选取就与问题场景相关,具体而言,如果你要进行教室中学生的人脸识别,那么负样本就是教室的窗子、墙等等,也就是说,不能是与你要研究的问题毫不相关的乱七八糟的场景图片,这样的负样本并没有意义。负样本可以根据背景生成,有时候不需要寻找额外的负样本。一般3000-10000的正样本需要5,000,000-100,000,000的负样本来学习,在互金领域一般在入模前将正负比例通过采样的方法调整到3:1-5:1。
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。
A. 作正态分布概率图
B. 作盒形图
C. 马氏距离
D. 作散点图
答案:(C)
马氏距离是基于卡方分布的,度量多元outlier离群点的统计方法。更多请详见: 从K近邻算法、距离度量谈到KD树、SIFT+BBF算法。
A. 对数几率回归是设计用来预测事件可能性的
B. 对数几率回归可以用来度量模型拟合程度
C. 对数几率回归可以用来估计回归系数
D. 以上所有
答案:(D)
A: 对数几率回归其实是设计用来解决分类问题的
B: 对数几率回归可以用来检验模型对数据的拟合度
C: 虽然对数几率回归是用来解决分类问题的,但是模型建立好后,就可以根据独立的特征,估计相关的回归系数。就我认为,这只是估计回归系数,不能直接用来做回归模型。
A. 有放回地从总共M个特征中抽样m个特征
B. 无放回地从总共M个特征中抽样m个特征
C. 有放回地从总共N个样本中抽样n个样本
D. 无放回地从总共N个样本中抽样n个样本
答案:(C)
A. 对的
B. 错的
答案:(B)
我们可以评估无监督学习方法通过无监督学习的指标,如:我们可以评估聚类模型通过调整兰德系数(adjusted rand score)。
A. k越大, 不一定越好, 选择大的k会加大评估时间
B. 选择更大的k, 就会有更小的bias (因为训练集更加接近总数据集)
C. 在选择k时, 要最小化数据集之间的方差
D. 以上所有
答案:(D)
k越大, bias越小, 训练时间越长. 在训练时, 也要考虑数据集间方差差别不大的原则. 比如, 对于二类分类问题, 使用2-折交叉验证, 如果测试集里的数据都是A类的, 而训练集中数据都是B类的, 显然, 测试效果会很差。
1.去除这两个共线性变量
2.我们可以先去除一个共线性变量
3.计算VIF(方差膨胀因子), 采取相应措施
4.为了避免损失信息, 我们可以使用一些正则化方法, 比如, 岭回归和lasso回归.
以下哪些是对的:(D)
A. 1
B. 2
C. 2和3
D. 2, 3和4
答案: (D)
解决多重公线性, 可以使用相关矩阵去去除相关性高于75%的变量 (有主观成分). 也可以VIF, 如果VIF值<=4说明相关性不是很高, VIF值>=10说明相关性较高.
我们也可以用 岭回归和lasso回归的带有惩罚正则项的方法. 我们也可以在一些变量上加随机噪声, 使得变量之间变得不同, 但是这个方法要小心使用, 可能会影响预测效果。
A. 在特征空间中减少特征
B. 在特征空间中增加特征
C. 增加数据点
D. B和C
E. 以上所有
答案: (B)
bias太高说明模型太简单了, 数据维数不够, 无法准确预测数据, 所以, 升维吧 !
A. Outlook
B. Humidity
C. Windy
D. Temperature
答案: (A)
信息增益, 增加平均子集纯度。
1.纯度高的节点需要更多的信息去区分
2.信息增益可以用”1比特-熵”获得
3.如果选择一个属性具有许多归类值, 那么这个信息增益是有偏差的
A. 1
B. 2
C. 2和3
D. 所有以上
答案: (C)
A. 增大惩罚参数C的值
B. 减小惩罚参数C的值
C. 减小核系数(gamma参数)
答案:(A)
如果SVM模型欠拟合, 我们可以调高参数C的值, 使得模型复杂度上升。
A. g1 > g2 > g3
B. g1 = g2 = g3
C. g1 < g2 < g3
D. g1 >= g2 >= g3
E. g1 <= g2 <= g3
答案: (C)
1.模型分类的召回率会降低或不变
2.模型分类的召回率会升高
3.模型分类准确率会升高或不变
4.模型分类准确率会降低
A. 1
B. 2
C.1和3
D. 2和4
E. 以上都不是
答案: (C)
A. 模型预测准确率已经很高了, 我们不需要做什么了
B. 模型预测准确率不高, 我们需要做点什么改进模型
C. 无法下结论
D. 以上都不对
答案: (B)
99%的预测准确率可能说明, 你预测的没有点进去的人很准确 (因为有99%的人是不会点进去的, 这很好预测)。不能说明你的模型对点进去的人预测准确, 所以, 对于这样的非平衡数据集, 我们要把注意力放在小部分的数据上, 即那些点击进去的人。
A. 0%
B. 100%
C. 0% 到 100%
D. 以上都不是
答案: (B)
KNN算法就是, 在样本周围看k个样本, 其中大多数样本的分类是A类, 我们就把这个样本分成A类. 显然, k=1 的KNN在上图不是一个好选择, 分类的错误率始终是100%。
A. 增加树的深度
B. 增加学习率 (learning rate)
C. 减少树的深度
D. 减少树的数量
答案: (C)
A.增加树的深度, 会导致所有节点不断分裂, 直到叶子节点是纯的为止. 所以, 增加深度, 会延长训练时间。
B.决策树没有学习率参数可以调。(不像集成学习和其它有步长的学习方法)
D.决策树只有一棵树, 不是随机森林。
1.增加神经网络层数, 可能会增加测试数据集的分类错误率
2.减少神经网络层数, 总是能减小测试数据集的分类错误率
3.增加神经网络层数, 总是能减小训练数据集的分类错误率
A. 1
B. 1 和 3
C. 1 和 2
D. 2
答案: (A)
深度神经网络的成功, 已经证明, 增加神经网络层数, 可以增加模型范化能力, 即训练数据集和测试数据集都表现得更好. 但更多的层数, 也不一定能保证有更好的表现https://arxiv.org/pdf/1512.03385v1.pdf。所以,不能绝对地说层数多的好坏, 只能选A。
A. 设C=1
B. 设C=0
C. 设C=无穷大
D. 以上都不对
答案: (C)
C无穷大保证了所有的线性不可分都是可以忍受的。
A. 正确
B. 错误
答案: (A)
SVM模型中, 真正影响决策边界的是支持向量。
1.KNN
2.线性回归
3.对数几率回归
A. 1和 2
B. 2 和 3
C. 1, 2 和 3
D. 以上都不是
答案: (B)
A. 基因序列数据集
B. 电影浏览数据集
C. 股票市场数据集
D. 所有以上
答案: (D)
只要是和时间序列问题有关的 , 都可以试试HMM。
A. 我们随机抽取一些样本, 在这些少量样本之上训练
B. 我们可以试用在线机器学习算法
C. 我们应用PCA算法降维, 减少特征数
D. B 和 C
E. A 和 B
F. 以上所有
答案: (F)
A. 1 和 2
B. 2, 3和4
C. 1, 2和4
D. All
答案: (D)
所以D是正确的。
A. 2
B. 1 and 2
C. 1, 3 and 4
D. 2 and 4
答案: (A)
所以A是正确的。
A. 正确的
B. 错误的
答案: (B)
这个说法是错误的。首先,“不依赖”和“不相关”是两回事;其次, 转化过的特征, 也可能是相关的。
A. 1, 2 and 4
B. 2 and 4
C. 3 and 4
D. 1 and 3
E. 1, 3 and 4
答案: (A)
A. 7
B. 30
C. 35
D. 不确定
答案: (B)
主成分选择使variance越大越好, 在这个前提下, 主成分越少越好。
A. 单个模型之间有高相关性
B. 单个模型之间有低相关性
C. 在集成学习中使用“平均权重”而不是“投票”会比较好
D. 单个模型都是用的一个算法
答案: (B)
A. 2 和 4
B. 1 和 2
C. 3 和 4
D. 1 和 3
答案: (B)
我们可以为每个聚类构建不同的模型, 提高预测准确率;“类别id”作为一个特征项去训练, 可以有效地总结了数据特征。所以B是正确的。
1.一个机器学习模型,如果有较高准确率,总是说明这个分类器是好的
2.如果增加模型复杂度, 那么模型的测试错误率总是会降低
3.如果增加模型复杂度, 那么模型的训练错误率总是会降低
4.我们不可以使用聚类“类别id”作为一个新的特征项, 然后再用监督学习分别进行学习
A. 1
B. 2
C. 3
D. 1 and 3
答案: (C)
考的是过拟合和欠拟合的问题。
A. 2 和 4
B. 2 和 3
C. 1 和 3
D. 1 和 4
答案: (C)
最小样本分裂个数是用来控制“过拟合”参数。太高的值会导致“欠拟合”,这个参数应该用交叉验证来调节。第二点是靠bias和variance概念的。
A) B
B) A
C) D
D) C
E) 都不是
答案:(B)
KNN算法肯定不是线性的边界,所以直的边界就不用考虑了。另外这个算法是看周围最近的k个样本的分类用以确定分类,所以边界一定是坑坑洼洼的。
A. 是的,这说明这个模型的范化能力已经足以支持新的数据集合了
B. 不对,依然后其他因素模型没有考虑到,比如噪音数据
答案:(B)
没有一个模型是可以总是适应新的数据的。我们不可能达到100%的准确率。
i. 有放回的Bootstrap方法
ii. 留一个测试样本的交叉验证
iii. 5折交叉验证
iv. 重复两次的5折交叉验证
当样本是1000时,下面执行时间的顺序,正确的是:
A. i > ii > iii > iv
B. ii > iv > iii > i
C. iv > i > ii > iii
D. ii > iii > iv > i
答案:(B)
Bootstrap方法是传统的随机抽样,验证一次的验证方法,只需要训练1个模型,所以时间最少。
留一个测试样本的交叉验证,需要n次训练过程(n是样本个数),这里,需要训练1000个模型。
5折交叉验证需要训练5个模型。
重复两次的5折交叉验证,需要训练10个模型。
A. 1 和 4
B. 1, 2 和 3
C. 1,3 和 4
D. 以上所有
答案:(C)
注意,这题的题眼是考虑模型效率,所以不要考虑选项B
A. 1 和 2
B. 1 和 3
C. 2 和 4
D. 以上都不是
答案:(D)
R-Squared不能决定系数估计和预测偏差,这就是为什么我们要估计残差图。但是,R-Squared有R-Squared和predicted R-Squared所没有的问题。每次为模型加入预测器,R-Squared递增或者不变。
A. 1 和 3
B. 1 和 3
C. 1, 3 和 4
D. 5
A. 1 和 2
B. 2 和 3
C. 1,2 和 3
D. 以上都不是
答案:(D)
利群点要着重考虑,第一点是对的。
不是必须的,当然如果是正态分布,训练效果会更好。
有少量的多重线性相关性是可以的,但是我们要尽量避免。
A. 1 and 3
B. 1 and 2
C. 1,2 and 3
D. 1
答案:(C)
Var1和Var2的相关系数是负的,所以这是多重线性相关,我们可以考虑去除其中一个。
一 般的,如果相关系数大于0.7或者小于-0.7,是高相关的。
相关系数的范围应该是[-1,1]。
A. 对的
B. 错的
答案:(A)
答案:非线性分类器,低维空间可能很多特征都跑到一起了,导致线性不可分。
模型复杂度:SVM支持核函数,可处理线性非线性问题;LR模型简单,训练速度快,适合处理线性问题;决策树容易过拟合,需要进行剪枝。
损失函数:SVM hinge loss; LR L2正则化; Adaboost 指数损失。
数据敏感度:SVM添加容忍度对outlier不敏感,只关心支持向量,且需要先做归一化; LR对远点敏感。
数据量:数据量大就用LR,数据量小且特征少就用SVM非线性核。
训练完的模型,测试样本稍作修改就会得到差别很大的结果,就是病态问题,模型对未知数据的预测能力很差,即泛化误差大。
A. 他们经常不会过拟合
B. 他们通常带有高偏差,所以其并不能解决复杂学习问题
C. 他们通常会过拟合
答案:(C)
弱学习者是问题的特定部分。所以他们通常不会过拟合,这也就意味着弱学习者通常拥有低方差和高偏差。
A. 1 和 2
B. 2 和 3
C. 1 和 3
D. 1、2 和 3
答案:(D)
大 K 值意味着对过高估计真实预期误差(训练的折数将更接近于整个验证集样本数)拥有更小的偏差和更多的运行时间(并随着越来越接近极限情况:留一交叉验证)。我们同样在选择 K 值时需要考虑 K 折准确度和方差间的均衡。
A. X_projected_PCA 在最近邻空间能得到解释
B. X_projected_tSNE 在最近邻空间能得到解释
C. 两个都在最近邻空间能得到解释
D. 两个都不能在最近邻空间得到解释
答案:(B)
t-SNE 算法考虑最近邻点而减少数据维度。所以在使用 t-SNE 之后,所降的维可以在最近邻空间得到解释。但 PCA 不能。
A. D1= C1, D2 < C2, D3 > C3
B. D1 = C1, D2 > C2, D3 > C3
C. D1 = C1, D2 > C2, D3 < C3
D. D1 = C1, D2 < C2, D3 < C3
E. D1 = C1, D2 = C2, D3 = C3
答案:(E)
特征之间的相关性系数不会因为特征加或减去一个数而改变。
A. 将数据转换成零均值
B. 将数据转换成零中位数
C. 无法做到
答案:(A)
当数据有一个 0 均值向量时,PCA 有与 SVD 一样的投射,否则在使用 SVD 之前,你必须将数据均值归 0。
注意:所有其他超参数是相同的,所有其他因子不受影响。
1.深度为 4 时将有高偏差和低方差
2.深度为 4 时将有低偏差和低方差
A. 只有 1
B. 只有 2
C. 1 和 2
D. 没有一个
答案:(A)
如果在这样的数据中你拟合深度为 4 的决策树,这意味着其更有可能与数据欠拟合。因此,在欠拟合的情况下,你将获得高偏差和低方差。
A. 尝试为不同的质心(centroid)初始化运行算法
B. 调整迭代的次数
C. 找到集群的最佳数量
D. 以上所有
答案:(D)
所有都可以用来调试以找到全局最小。
A. 第一个 w2 成了 0,接着 w1 也成了 0
B. 第一个 w1 成了 0,接着 w2 也成了 0
C. w1 和 w2 同时成了 0
D. 即使在 C 成为大值之后,w1 和 w2 都不能成 0
答案:(B)
通过观察图像我们发现,即使只使用 x2,我们也能高效执行分类。因此一开始 w1 将成 0;当正则化参数不断增加时,w2 也会越来越接近 0。
A.如果一个分类器对不正确的分类很自信,log-loss 会严重的批评它。
B.对一个特别的观察而言,分类器为正确的类别分配非常小的概率,然后对 log-loss 的相应分布会非常大。
C.log-loss 越低,模型越好
D.以上都是
答案为:(D)
A.PCA
B.K-Means
C. 以上都不是
答案:(A)
确定性算法表明在不同运行中,算法输出并不会改变。如果我们再一次运行算法,PCA 会得出相同的结果,而 K-Means 不会。
线性函数转换,表达式如下:
y=x−MinValueMaxValue−MinValuey=x−MinValueMaxValue−MinValue
对数函数转换,表达式如下:
y=log10(x)y=log10(x)
反余切函数转换 ,表达式如下:
y=arctan(x)∗2πy=arctan(x)∗2π
减去均值,除以方差:
y=x−meansvariancey=x−meansvariance
温馨提示:在回答面试官的问题的时候,往往将问题往大的方面去回答,这样不会陷于小的技术上死磕,最后很容易把自己嗑死了。
1)随机梯度下降
优点:可以一定程度上解决局部最优解的问题
缺点:收敛速度较慢
2)批量梯度下降
优点:容易陷入局部最优解
缺点:收敛速度较快
3)mini_batch梯度下降
综合随机梯度下降和批量梯度下降的优缺点,提取的一个中和的方法。
4)牛顿法
牛顿法在迭代的时候,需要计算Hessian矩阵,当维度较高的时候,计算 Hessian矩阵比较困难。
5)拟牛顿法
拟牛顿法是为了改进牛顿法在迭代过程中,计算Hessian矩阵而提取的算法,它采用的方式是通过逼近Hessian的方式来进行求解。
1)相同点:都是由多棵树组成,最终的结果都是由多棵树一起决定。
2)不同点:
组成随机森林的树可以分类树也可以是回归树,而GBDT只由回归树组成
组成随机森林的树可以并行生成,而GBDT是串行生成
随机森林的结果是多数表决表决的,而GBDT则是多棵树累加之和
随机森林对异常值不敏感,而GBDT对异常值比较敏感
随机森林是减少模型的方差,而GBDT是减少模型的偏差
随机森林不需要进行特征归一化,而GBDT则需要进行特征归一化
A. 正确
B. 错误
答案:(A)
Pearson相关系数只能衡量线性相关性,但无法衡量非线性关系。如y=x^2,x和y有很强的非线性关系。
A. 树的数量
B. 树的深度
C. 学习速率
答案:(B)
通常情况下,我们增加树的深度有可能会造成模型过拟合。学习速率并不是随机森林的超参数。增加树的数量可能会造成欠拟合。
A. −(58log(58)+38log(38))−(58log(58)+38log(38))
B. (58log(58)+38log(38))(58log(58)+38log(38))
C. (38log(58)+58log(38))(38log(58)+58log(38))
D. (58log(38)−38log(58))(58log(38)−38log(58))
答案:(A)
A. AprioriAll算法和GSP算法都属于Apriori类算法,都要产生大量的候选序列
B. FreeSpan算法和PrefixSpan算法不生成大量的候选序列以及不需要反复扫描原数据库
C. 在时空的执行效率上,FreeSpan比PrefixSpan更优
D. 和AprioriAll相比,GSP的执行效率比较高
@CS青雀,本题解析来源:
机器学习:序列模式挖掘算法
A. 卡方检验值
B. 互信息
C. 信息增益
D. 主成分分析
答案:(D)
@CS青雀,本题解析来源:
常采用特征选择方法。常见的六种特征选择方法:
1)DF(Document Frequency) 文档频率
DF:统计特征词出现的文档数量,用来衡量某个特征词的重要性
2)MI(Mutual Information) 互信息法
互信息法用于衡量特征词与文档类别直接的信息量。
如果某个特征词的频率很低,那么互信息得分就会很大,因此互信息法倾向”低频”的特征词。
相对的词频很高的词,得分就会变低,如果这词携带了很高的信息量,互信息法就会变得低效。
3)(Information Gain) 信息增益法
通过某个特征词的缺失与存在的两种情况下,语料中前后信息的增加,衡量某个特征词的重要性。
4)CHI(Chi-square) 卡方检验法
利用了统计学中的”假设检验”的基本思想:首先假设特征词与类别直接是不相关的
如果利用CHI分布计算出的检验值偏离阈值越大,那么更有信心否定原假设,接受原假设的备则假设:特征词与类别有着很高的关联度。
5)WLLR(Weighted Log Likelihood Ration)加权对数似然
6)WFO(Weighted Frequency and Odds)加权频率和可能性
A. 伪逆法-径向基(RBF)神经网络的训练算法,就是解决线性不可分的情况
B. 基于二次准则的H-K算法:最小均方差准则下求得权矢量,二次准则解决非线性问题
C. 势函数法-非线性
D. 感知器算法-线性分类算法
答案:(D)
A.卡方
B. 信息增益
C. 平均互信息
D. 期望交叉熵
E. 以上都有
答案:(E)
A. 主成分分析PCA
B. 线性判别分析LDA
C. 深度学习SparseAutoEncoder
D. 矩阵奇异值分解SVD
E. 最小二乘法LeastSquares
答案:(E)
特征降维方法主要有:PCA,LLE,Isomap
SVD和PCA类似,也可以看成一种降维方法。
LDA:线性判别分析,可用于降维。
AutoEncoder:AutoEncoder的结构与神经网络的隐含层相同,由输入L1,输出 L2组成,中间则是权重连接。Autoencoder通过L2得到输入的重构L3,最小化L3与L1的差别 进行训练得到权重。在这样的权重参数下,得到的L2可以尽可能的保存L1的信息。
Autoencoder的输出L2的维度由输出的神经元个数决定。当输出维度大于L1时,则需要在训练目标函数中加入sparse 惩罚项,避免L2直接复制L1(权重全为1)。所以称为sparseAutoencoder( Andrew Ng提出的)。
结论:SparseAutoencoder大多数情况下都是升维的,所以称之为特征降维的方法不准确。
A.样本较多但典型性不好
B.样本呈团状分布
C.样本较少但典型性好
D.样本呈链状分布
A. LASSO
B. 主成分分析法
C. 聚类分析
D. 小波分析法
E. 线性判别法
F. 拉普拉斯特征映射
解析:LASSO通过参数缩减达到降维的目的;
PCA就不用说了;
线性鉴别法即LDA通过找到一个空间使得类内距离最小类间距离最大所以可以看做是降维;
小波分析有一些变换的操作降低其他干扰可以看做是降维;
拉普拉斯请看机器学习降维算法四:Laplacian Eigenmaps 拉普拉斯特征映射。
A. SVM是这样一个分类器,它寻找具有最小边缘的超平面,因此它也经常被称为最小边缘分类器
B. 在聚类分析当中,簇内的相似性越大,簇间的差别越大,聚类的效果就越差
C. 在决策树中,随着树中结点输变得太大,即使模型的训练误差还在继续降低,但是检验误差开始增大,这是出现了模型拟合不足的原因
D. 聚类分析可以看作是一种非监督的分类
A. SVM对噪声(如来自其他分部的噪声样本)具备鲁棒性
B. 在adaboost算法中,所有被分错样本的权重更新比例相同
C. boosting和bagging都是组合多个分类器投票的方法,二者都是根据单个分类器的正确率确定其权重
D. 给定n个数据点,如果其中一半用于训练,一半用户测试,则训练误差和测试误差之间的差别会随着n的增加而减少
A. 正态分布具有集中性和对称性
B. 正态分布的均值和方差能够决定正态分布的位置和形态
C. 正态分布的偏度为0,峰度为1
D. 标准正态分布的均值为0,方差为1
A. 根据商家最近一年的经营及服务数据,用聚类算法判断出天猫商家在各自主营类目下所属的商家层级
B. 根据商家近几年的成交数据,用聚类算法拟合出用户未来一个月可能的消费金额公式
C. 用关联规则算法分析出购买了汽车坐垫的买家,是否适合推荐汽车脚垫
D. 根据用户最近购买的商品信息,用决策树算法识别出淘宝买家可能是男还是女
答案:误差梯度是神经网络训练过程中计算的方向和数量,用于以正确的方向和合适的量更新网络权重。
在深层网络或循环神经网络中,误差梯度可在更新中累积,变成非常大的梯度,然后导致网络权重的大幅更新,并因此使网络变得不稳定。在极端情况下,权重的值变得非常大,以至于溢出,导致 NaN 值。
网络层之间的梯度(值大于 1.0)重复相乘导致的指数级增长会产生梯度爆炸。
答案:在深度多层感知机网络中,梯度爆炸会引起网络不稳定,最好的结果是无法从训练数据中学习,而最坏的结果是出现无法再更新的 NaN 权重值。
梯度爆炸导致学习模型无法从训练数据中获得更新(如低损失)。
模型不稳定,导致更新过程中的损失出现显著变化。
训练过程中,模型损失变成 NaN。
如果你发现这些问题,那么你需要仔细查看是否出现梯度爆炸问题。
以下是一些稍微明显一点的信号,有助于确认是否出现梯度爆炸问题。
训练过程中模型梯度快速变大。
训练过程中模型权重变成 NaN 值。
训练过程中,每个节点和层的误差梯度值持续超过 1.0。
重新设计网络模型
在深度神经网络中,梯度爆炸可以通过重新设计层数更少的网络来解决。
使用更小的批尺寸对网络训练也有好处。
在循环神经网络中,训练过程中在更少的先前时间步上进行更新(沿时间的截断反向传播,truncated Backpropagation through time)可以缓解梯度爆炸问题。
使用 ReLU 激活函数
在深度多层感知机神经网络中,梯度爆炸的发生可能是因为激活函数,如之前很流行的 Sigmoid 和 Tanh 函数。
使用 ReLU 激活函数可以减少梯度爆炸。采用 ReLU 激活函数是最适合隐藏层的新实践。
使用长短期记忆网络
在循环神经网络中,梯度爆炸的发生可能是因为某种网络的训练本身就存在不稳定性,如随时间的反向传播本质上将循环网络转换成深度多层感知机神经网络。
使用长短期记忆(LSTM)单元和相关的门类型神经元结构可以减少梯度爆炸问题。
采用 LSTM 单元是适合循环神经网络的序列预测的最新最好实践。
使用梯度截断(Gradient Clipping)
在非常深且批尺寸较大的多层感知机网络和输入序列较长的 LSTM 中,仍然有可能出现梯度爆炸。如果梯度爆炸仍然出现,你可以在训练过程中检查和限制梯度的大小。这就是梯度截断。
处理梯度爆炸有一个简单有效的解决方案:如果梯度超过阈值,就截断它们。
——《Neural Network Methods in Natural Language Processing》,2017.
具体来说,检查误差梯度的值是否超过阈值,如果超过,则截断梯度,将梯度设置为阈值。
梯度截断可以一定程度上缓解梯度爆炸问题(梯度截断,即在执行梯度下降步骤之前将梯度设置为阈值)。
——《深度学习》,2016.
在 Keras 深度学习库中,你可以在训练之前设置优化器上的 clipnorm 或 clipvalue 参数,来使用梯度截断。
默认值为 clipnorm=1.0 、clipvalue=0.5。
使用权重正则化(Weight Regularization)
如果梯度爆炸仍然存在,可以尝试另一种方法,即检查网络权重的大小,并惩罚产生较大权重值的损失函数。该过程被称为权重正则化,通常使用的是 L1 惩罚项(权重绝对值)或 L2 惩罚项(权重平方)。
对循环权重使用 L1 或 L2 惩罚项有助于缓解梯度爆炸。
——On the difficulty of training recurrent neural networks,2013.
在 Keras 深度学习库中,你可以通过在层上设置 kernel_regularizer 参数和使用 L1 或 L2 正则化项进行权重正则化。
答案:@YJango,本题解析来源:LSTM神经网络输入输出究竟是怎样的?
A. PDF描述的是连续型随机变量在特定取值区间的概率
B. CDF是PDF在特定区间上的积分
C. PMF描述的是离散型随机变量在特定取值点的概率
D. 有一个分布的CDF函数H(x),则H(a)等于P(X<=a)
答案:(A)
概率质量函数 (probability mass function,PMF)是离散随机变量在各特定取值上的概率。
概率密度函数(p robability density function,PDF )是对 连续随机变量 定义的,本身不是概率,只有对连续随机变量的取值进行积分后才是概率。
累积分布函数(cumulative distribution function,CDF) 能完整描述一个实数随机变量X的概率分布,是概率密度函数的积分。对于所有实数x 与pdf相对。
A. 随机误差项是一个期望值为0的随机变量;
B. 对于解释变量的所有观测值,随机误差项有相同的方差;
C. 随机误差项彼此相关;
D. 解释变量是确定性变量不是随机变量,与随机误差项之间相互独立;
E. 随机误差项服从正态分布
A. 分类变量所有的类别没有全部出现在测试集中
B. 类别的频率分布在训练集和测试集是不同的
C. 训练集和测试集通常会有一样的分布
答案:(A、B )
如果类别在测试集中出现,但没有在训练集中出现,独热码将不能进行类别编码,这是主要困难。如果训练集和测试集的频率分布不相同,我们需要多加小心。
A. ReLU
B. tanh
C. SIGMOID
D. 以上都不是
答案:(B)
该激活函数可能是 tanh,因为该函数的取值范围是 (-1,1)。
A. 类型 1 通常称之为假正类,类型 2 通常称之为假负类。
B. 类型 2 通常称之为假正类,类型 1 通常称之为假负类。
C. 类型 1 错误通常在其是正确的情况下拒绝假设而出现。
答案:(A、C)
在统计学假设测试中,I 类错误即错误地拒绝了正确的假设即假正类错误,II 类错误通常指错误地接受了错误的假设即假负类错误。
A. 图 1 中的特征
B. 图 2 中的特征
C. 图 3 中的特征
D. 图 1、2 中的特征
E. 图 2、3 中的特征
F. 图 1、3 中的特征
答案:(D)
在图 1 中,特征之间有高度正相关,图 2 中特征有高度负相关。所以这两个图的特征是多元共线特征。
A. 移除两个共线变量
B. 不移除两个变量,而是移除一个
C. 移除相关变量可能会导致信息损失,可以使用带罚项的回归模型(如 ridge 或 lasso regression)。
答案:(B、C)
因为移除两个变量会损失一切信息,所以我们只能移除一个特征,或者也可以使用正则化算法(如 L1 和 L2)。
A. 增加 R-square
B. 减少 R-square
答案:(A)
在给特征空间添加了一个特征后,不论特征是重要还是不重要,R-square 通常会增加。
A. 准确度并不适合于衡量不平衡类别问题
B. 准确度适合于衡量不平衡类别问题
C. 精确率和召回率适合于衡量不平衡类别问题
D. 精确率和召回率不适合于衡量不平衡类别问题
答案:(A、C)
泛化误差可以分解成偏差的平方加上方差加上噪声。偏差度量了学习算法的期望预测和真实结果的偏离程度,刻画了学习算法本身的拟合能力,方差度量了同样大小的训练集的变动所导致的学习性能的变化,刻画了数据扰动所造成的影响,噪声表达了当前任务上任何学习算法所能达到的期望泛化误差下界,刻画了问题本身的难度。偏差和方差一般称为bias和variance,一般训练程度越强,偏差越小,方差越大,泛化误差一般在中间有一个最小值,如果偏差较大,方差较小,此时一般称为欠拟合,而偏差较小,方差较大称为过拟合。
交叉验证
High Bias解决方案:Boosting、复杂模型(非线性模型、增加神经网络中的层)、更多特征
High Variance解决方案:agging、简化模型,降维
用EM算法求解的模型一般有GMM或者协同过滤,K-means其实也属于EM。EM算法一定会收敛,但是可能收敛到局部最优。由于求和的项数将随着隐变量的数目指数上升,会给梯度计算带来麻烦。
在训练的过程中,通过Gini指数选择分离点的特征,一个特征被选中的次数越多,那么该特征评分越高。
Bagging方法中Bootstrap每次约有1313的样本不会出现在Bootstrap所采集的样本集合中,当然也就没有参加决策树的建立,把这1313的数据称为袋外数据OOB(out of bag),它可以用于取代测试集误差估计方法。
袋外数据(OOB)误差的计算方法如下:
对于已经生成的随机森林,用袋外数据测试其性能,假设袋外数据总数为O,用这O个袋外数据作为输入,带进之前已经生成的随机森林分类器,分类器会给出O个数据相应的分类,因为这O条数据的类型是已知的,则用正确的分类与随机森林分类器的结果进行比较,统计随机森林分类器分类错误的数目,设为X,则袋外数据误差大小=XOXO;这已经经过证明是无偏估计的,所以在随机森林算法中不需要再进行交叉验证或者单独的测试集来获取测试集误差的无偏估计。
作者:诶呀吗_Bug
来源:CSDN
原文:https://blog.csdn.net/weixin_40411446/article/details/81836322
版权声明:本文为博主原创文章,转载请附上博文链接!