AI涉及到数学的一些面试题汇总

 [LeetCode] Maximum Product Subarray的4种解法

leetcode每日解题思路 221 Maximal Square

LeetCode:Subsets I II

(2)数学题或者"智力"题。

如果一个女生说,她集齐了十二个星座的前男友,我们应该如何估计她前男友的数量?

如何理解矩阵的「秩」?:

  • 「秩」是图像经过矩阵变换之后的空间维度
  • 「秩」是列空间的维度

矩阵低秩的意义?:低秩表征着一种冗余程度。
秩越低表示数据冗余性越大,因为用很少几个基就可以表达所有数据了。相反,秩越大表示数据冗余性越小。

一个m*n的矩阵,如果秩很低(秩r远小于m,n),则它可以拆成一个m*r矩阵和一个r*n矩阵之积(类似于SVD分解)。后面这两个矩阵所占用的存储空间比原来的m*n矩阵小得多。

如何理解矩阵特征值?:

VD的效果就是..用一个规模更小的矩阵去近似原矩阵...
A_{m\times n} \approx U_{m\times r} \Sigma_{r\times r} V_{r\times n}
这里A就是代表图像的原矩阵..其中的\Sigma_{r\times r}尤其值得关注,它是由A的特征值从大到小放到对角线上的..也就是说,我们可以选择其中的某些具有“代表性”的特征值去近似原矩阵!

 

为什么梯度反方向是函数值下降最快的方向?

导数的几何意义可能很多人都比较熟悉: 当函数定义域和取值都在实数域中的时候,导数可以表示函数曲线上的切线斜率。 除了切线的斜率,导数还表示函数在该点的变化率。

 

将上面的公式转化为下面图像为:

(3)机器学习基础

逻辑回归SVM决策树

逻辑回归和SVM的区别是什么?各适用于解决什么问题?

这两种算法都是基于回归的概念。

逻辑回归相对容易理解,就是通过Sigmoid函数将线性方程ax+b对应到一个隐状态P,P=S(ax+b),然后根据发生概率(p)与没有发生概率(1-p)的大小决定因变量的取值,0或者1。具体操作就是p除以1-p再取对数,这个变换增加了取值区间的范围;改变了函数值与自变量间的曲线关系,根据大量实验数据,这个变换往往能使函数值和自变量之间呈线性关系。

SVM则是通过一个非线性映射p,把样本空间映射到一个高维乃至无穷维的特征空间中(Hilbert空间),使得在原来的样本空间中非线性可分的问题转化为在特征空间中的线性可分的问题.简单地说,就是升维和线性化。作为分类、回归等问题来说,很可能在低维样本空间无法线性处理的样本集,在高维特征空间中却可以通过一个线性超平面实现线性划分(或回归)。一般的升维都会带来计算的复杂化,但SVM方法巧妙地应用核函数的展开定理简化了计算,不需要知道非线性映射的显式表达式

。简单来说,SVM是在高维特征空间中建立线性学习机,几乎不增加计算的复杂性,并且在某种程度上避免了“维数灾难”,这一切要归功于核函数的展开和计算理论.

综上所述,逻辑回归和SVM都可以用于分类问题的解决,其主要区别就在于映射函数选择上的不同,逻辑回归常用于处理大数据,而SVM则正好相反。

SVM的处理方法是只考虑support vectors,也就是和分类最相关的少数点,去学习分类器。

而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重,两者的根本目的都是一样的。

svm考虑局部(支持向量),而logistic回归考虑全局

1.损失函数不一样,逻辑回归的损失函数是log loss,svm的损失函数是hinge loss
2.损失函数的优化方法不一样,逻辑回归用剃度下降法优化,svm用smo方法进行优化
3.逻辑回归侧重于所有点,svm侧重于超平面边缘的点
4.svm的基本思想是在样本点中找到一个最好的超平面

Linear SVM 和 LR 有什么异同?

相同点:

1,LR和SVM都是分类算法。
2,如果不考虑核函数,LR和SVM都是线性分类算法,即分类决策面都是线性的。
3,LR和SVM都是监督学习算法。

不同点:

1,本质上是其loss function不同。
2,支持向量机只考虑局部的边界线附近的点,而逻辑回归考虑全局(远离的点对边界线的确定也起作用)。
线性SVM不直接依赖于数据分布,分类平面不受一类点影响;LR则受所有数据点的影响,如果数据不同类别strongly unbalance,一般需要先对数据做balancing。
3,在解决非线性问题时,支持向量机采用核函数的机制,而LR通常不采用核函数的方法。
​这个问题理解起来非常简单。分类模型的结果就是计算决策面,模型训练的过程就是决策面的计算过程。通过上面的第二点不同点可以了解,在计算决策面时,SVM算法里只有少数几个代表支持向量的样本参与了计算,也就是只有少数几个样本需要参与核计算(即kernal machine解的系数是稀疏的)。然而,LR算法里,每个样本点都必须参与决策面的计算过程,也就是说,假设我们在LR里也运用核函数的原理,那么每个样本点都必须参与核计算,这带来的计算复杂度是相当高的。所以,在具体应用时,LR很少运用核函数机制。​
4,​线性SVM依赖数据表达的距离测度,所以需要对数据先做normalization,LR不受其影响。
5,SVM的损失函数就自带正则!!!(损失函数中的1/2||w||^2项),这就是为什么SVM是结构风险最小化算法的原因!!!而LR必须另外在损失函数上添加正则项!!!

本节来自算法比较-SVM和logistic回归,该博客里有些写的并不准确,具有参考价值。

在Andrew NG的课里讲到过:
1. 如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM
2. 如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel
3. 如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况

SVM(支持向量机)属于神经网络范畴吗?

可以说神经网络是通过多个感知器(Perceptron)的组合叠加来解决非线性的分类问题. 而SVM通过核函数视图非线性的问题的数据集转变为核空间中一个线性可分的数据集.
另外, 神经网络非常依赖参数. 比如学习率, 隐含层的结构与节点个数. 参数的好坏会极大影响神经网络的分类效果. 而SVM是基于最大边缘的思想, 只有少量的参数需要调整.

如何理解决策树的损失函数?

各种机器学习的应用场景分别是什么?例如,k近邻,贝叶斯,决策树,svm,逻辑斯蒂回归和最大熵模型。

主成分分析,奇异值分解

SVD 降维体现在什么地方?

为什么PCA不被推荐用来避免过拟合?:

PCA是一种无监督学习,其存在的假设是:方差越大信息量越多。但是信息(方差)小的特征并不代表表对于分类没有意义,可能正是某些方差小的特征直接决定了分类结果,而PCA在降维过程中完全不考虑目标变量的做法会导致一些关键但方差小的分类信息被过滤掉。

随机森林,GBDT, 集成学习

为什么说bagging是减少variance,而boosting是减少bias?

基于树的adaboost和Gradient Tree Boosting区别?

机器学习算法中GBDT和XGBOOST的区别有哪些?

为什么在实际的 kaggle 比赛中 gbdt 和 random forest 效果非常好?

过拟合

机器学习中用来防止过拟合的方法有哪些?

1 获取更多数据,2 数据增强&噪声数据3 简化模型.

提前终止,L1和L2正则化 

正则化的一个最强大最知名的特性就是能向损失函数增加“惩罚项”(penalty)。所谓『惩罚』是指对损失函数中的某些参数做一些限制。最常见的惩罚项是L1和L2:

  • L1惩罚项的目的是将权重的绝对值最小化
  • L2惩罚项的目的是将权重的平方值最小化

Dropout-深度学习

机器学习中使用「正则化来防止过拟合」到底是一个什么原理?为什么正则化项就可以防止过拟合?

 

(4)深度学习基础

 

卷积神经网络,循环神经网络,LSTM与GRU,梯度消失与梯度爆炸,激活函数,防止过拟合的方法,dropout,batch normalization,各类经典的网络结构,各类优化方法

卷积神经网络工作原理直观的解释?

卷积神经网络的复杂度分析:时间和空间,以及影响。

CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?

bp算法中为什么会产生梯度消失?

梯度下降法是万能的模型训练算法吗?

LSTM如何来避免梯度弥散和梯度爆炸?

sgd有多种改进的形式(rmsprop,adadelta等),为什么大多数论文中仍然用sgd?

你有哪些deep learning(rnn、cnn)调参的经验?

Adam那么棒,为什么还对SGD念念不忘 (1)

Adam那么棒,为什么还对SGD念念不忘 (2)

全连接层的作用是什么?

深度学习中 Batch Normalization为什么效果好?

为什么现在的CNN模型都是在GoogleNet、VGGNet或者AlexNet上调整的?

Krizhevsky等人是怎么想到在CNN里用Dropout和ReLu的?

 

转载于:https://www.cnblogs.com/Anita9002/p/10958766.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值