资料库

机器学习面试1000题.docx

第1页 / 共257页
第2页 / 共257页
第3页 / 共257页
第4页 / 共257页
第5页 / 共257页
第6页 / 共257页
第7页 / 共257页
第8页 / 共257页
资料共257页,剩余部分请下载后查看
BAT机器学习面试1000题系列
http://m.blog.csdn.net/v_JULY_v/article/details/78
1归一化为什么能提高梯度下降法求解最优解的速度?
2归一化有可能提高精度
3归一化的类型
1)线性归一化
2)标准差标准化
3)非线性归一化
什么是熵
熵的引入
3.1无偏原则
什么是卷积
池化,简言之,即取区域平均或最大,如下图所示(图引自cs231n)
随机梯度下降
批量梯度下降
随机梯度下降
具体步骤:
引言
深度有监督学习在计算机视觉领域的进展
1.1图像分类(ImageClassification)
1.2图像检测(ImageDection)
1.3图像分割(SemanticSegmentation)
1.4图像标注–看图说话(ImageCaptioning)
1.5图像生成–文字转图像(ImageGenerator)
强化学习(ReinforcementLearning)
3深度无监督学习(Deep Unsupervised Learning)–预测学习
3.1条件生成对抗网络(Conditional Generative Adversarial Net
3.2视频预测
4总结
5参考文献
一、从单层网络谈起
二、经典的RNN结构(NvsN)
三、NVS1
四、1VSN
五、NvsM
Recurrent Neural Networks
长期依赖(Long-TermDependencies)问题
LSTM网络
LSTM的核心思想
逐步理解LSTM
LSTM的变体
结论
L1与L2范数
梯度下降法的神经网络容易收敛到局部最优,为什么应用广泛?
EM算法、HMM、CRF
Boosting和Bagging
逻辑回归相关问题
什么是共线性,跟过拟合有什么关联?
共线性:多变量线性回归中,变量之间由于存在高度相关关系而使回归估计不准确。
共线性会造成冗余,导致过拟合。
解决方法:排除变量的相关性/加入权重正则。
BAT 机器学习面试 1000 题系列 http://m.blog.csdn.net/v_JULY_v/article/details/78121924 请简要介绍下 SVM SVM,全称是 support vector machine,中文名叫支持向量机。 SVM 是一个面向数据的分类算法,它的目标是为确定一个分类超平 面,从而将不同的数据分隔开。 请简要介绍下 tensorflow 的计算图 Tensorflow 是一个通过计算图的形式来表述计算的编程系统, 计算图也叫数据流图,可以把计算图看做是一种有向图,Tensorflow 中的每一个计算都是计算图上的一个节点,而节点之间的边描述了计 算之间的依赖关系。
在 k-means 或 kNN,我们常用欧氏距离来计算最近的邻居之 间的距离,有时也用曼哈顿距离,请对比下这两种距离的差别。 欧氏距离,最常见的两点之间或多点之间的距离表示法,又称之 为欧几里得度量,它定义于欧几里得空间中,如点 x=(x1,...,xn)和 y=(y1,...,yn)之间的距离为: 曼哈顿距离,我们可以定义曼哈顿距离的正式意义为 L1-距离或 城市区块距离,也就是在欧几里得空间的固定直角坐标系上两点所形 成的线段对轴产生的投影的距离总和。例如在平面上,坐标(x1,y1) 的 点 P1 与 坐 标 ( x2,y2 ) 的 点 P2 的 曼 哈 顿 距 离 为 : ,要注意的是,曼哈顿距离依赖座标系统的转 度,而非系统在座标轴上的平移或映射。 通俗来讲,想象你在曼哈顿要从一个十字路口开车到另外一个十 字路口,驾驶距离是两点间的直线距离吗?显然不是,除非你能穿越 大楼。而实际驾驶距离就是这个“曼哈顿距离”,这也是曼哈顿距离 名 称 的 来 源 , 同 时 , 曼 哈 顿 距 离 也 称 为 城 市 街 区 距 离 (CityBlockdistance)。
把 LR 从头到脚都给讲一遍。建模,现场数学推导,每种解法的 原理,正则化,LR 和 maxent 模型啥关系,lr 为啥比线性回归好。 有不少会背答案的人,问逻辑细节就糊涂了。原理都会?那就问工程, 并行化怎么做,有几种并行化方式,读过哪些开源的实现。 overfitting 怎么解决: dropout、regularization、batch normalization
LR 和 SVM 的联系与区别 联系: 1、LR 和 SVM 都可以处理分类问题,且一般都用于处理线性二 分类问题(在改进的情况下可以处理多分类问题) 2、两个方法都可以增加不同的正则化项,如 l1、l2 等等。所以 在很多实验中,两种算法的结果是很接近的。 区别: 1、LR 是参数模型,SVM 是非参数模型。 2、从目标函数来看,区别在于逻辑回归采用的是 logistical loss, SVM 采用的是 hinge loss,这两个损失函数的目的都是增加对分类 影响较大的数据点的权重,减少与分类关系较小的数据点的权重。 3、SVM 的处理方法是只考虑 support vectors,也就是和分类 最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大 减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据 点的权重。 4、逻辑回归相对来说模型更简单,好理解,特别是大规模线性 分类时比较方便。而 SVM 的理解和优化相对来说复杂一些,SVM 转 化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在 进行复杂核函数计算时优势很明显,能够大大简化模型和计算。 5、logic 能做的 svm 能做,但可能在准确率上有问题,svm 能 做的 logic 有的做不了。
说说你知道的核函数 通常人们会从一些常用的核函数中选择(根据问题和数据的不同, 选择不同的参数,实际上就是得到了不同的核函数),例如: 多项式核,显然刚才我们举的例子是这里多项式核的一个特例 (R=1,d=2)。虽然比较麻烦,而且没有必要,不过这个核所对应 的映射实际上是可以写出来的,该空间的维度是 ,其中 是原 始空间的维度。 高斯核 ,这个核就是最开始提到 过的会将原始空间映射为无穷维空间的那个家伙。不过,如果 选得 很大的话,高次特征上的权重实际上衰减得非常快,所以实际上(数 值上近似一下)相当于一个低维的子空间;反过来,如果 选得很小, 则可以将任意的数据映射为线性可分——当然,这并不一定是好事, 因为随之而来的可能是非常严重的过拟合问题。不过,总的来说,通 过调控参数 ,高斯核实际上具有相当高的灵活性,也是使用最广泛 的核函数之一。下图所示的例子便是把低维线性不可分的数据通过高 斯核函数映射到了高维空间:
线性核 ,这实际上就是原始空间中的内积。 这个核存在的主要目的是使得“映射后空间中的问题”和“映射前 空间中的问题”两者在形式上统一起来了(意思是说,咱们有的时候, 写代码,或写公式的时候,只要写个模板或通用表达式,然后再代入 不同的核,便可以了,于此,便在形式上统一了起来,不用再分别写 一个线性的,和一个非线性的)。 LR 与线性回归的区别与联系 个人感觉逻辑回归和线性回归首先都是广义的线性回归, 其次经典线性模型的优化目标函数是最小二乘,而逻辑回归则是 似然函数, 另外线性回归在整个实数域范围内进行预测,敏感度一致,而分 类范围,需要在[0,1]。逻辑回归就是一种减小预测范围,将预测值限 定为[0,1]间的一种回归模型,因而对于这类问题来说,逻辑回归的鲁 棒性比线性回归的要好。
逻辑回归的模型本质上是一个线性回归模型,逻辑回归都是以线 性回归为理论支持的。但线性回归模型无法做到 sigmoid 的非线性 形式,sigmoid 可以轻松处理 0/1 分类问题。 请问(决策树、Random Forest、Booting、Adaboot)GBDT 和 XGBoost 的区别是什么? 关于决策树,这里有篇《决策树算法》。而随机森林 Random Forest 是一个包含多个决策树的分类器。至于 AdaBoost,则是英文 "Adaptive Boosting"(自适应增强)的缩写,关于 AdaBoost 可以 看下这篇文章《Adaboost 算法的原理与推导》。GBDT(Gradient Boosting Decision Tree),即梯度上升决策树算法,相当于融合决 策树和梯度上升 boosting 算法。 xgboost 类似于 gbdt 的优化版,不论是精度还是效率上都有了 提升。与 gbdt 相比,具体的优点有: 1.损失函数是用泰勒展式二项逼近,而不是像 gbdt 里的就是一 阶导数 2.对树的结构进行了正则化约束,防止模型过度复杂,降低了过 拟合的可能性 3.节点分裂的方式不同,gbdt 是用的 gini 系数,xgboost 是经 过优化推导后的
为什么 xgboost 要用泰勒展开,优势在哪里? xgboost 使用了一阶和二阶偏导,二阶导数有利于梯度下降的更 快更准.使用泰勒展开取得二阶倒数形式,可以在不选定损失函数具体 形式的情况下用于算法优化分析.本质上也就把损失函数的选取和模 型算法优化/参数选择分开了.这种去耦合增加了 xgboost 的适用性。 xgboost 如何寻找最优特征?是又放回还是无放回的呢? xgboost 在训练的过程中给出各个特征的评分,从而表明每个特 征对模型训练的重要性. xgboost 利用梯度优化模型算法,样本是不 放回的(想象一个样本连续重复抽出,梯度来回踏步会不会高兴).但 xgboost 支持子采样,也就是每轮计算可以不使用全部样本。 谈谈判别式模型和生成式模型? 判别方法:由数据直接学习决策函数 Y=f(X),或者由条件分 布概率 P(Y|X)作为预测模型,即判别模型。 生成方法:由数据学习联合概率密度分布函数 P(X,Y),然后求 出条件概率分布 P(Y|X)作为预测的模型,即生成模型。 由生成模型可以得到判别模型,但由判别模型得不到生成模型。 常见的判别模型有:K 近邻、SVM、决策树、感知机、线性判别 分析(LDA)、线性回归、传统的神经网络、逻辑斯蒂回归、boosting、 条件随机场 常见的生成模型有:朴素贝叶斯、隐马尔可夫模型、高斯混合模 型、文档主题生成模型(LDA)、限制玻尔兹曼机
分享到:
收藏