神经网络
反向传播算法原理及推导
CNN原理
卷积、padding、
sigmoid函数
RNN原理
LSTM如何解决梯度消失或弥散问题:
普通的RNN在反向传播过程中,会包含连乘项:
由于激活函数的导数小于1,在多次相乘之后,梯度会越来越小,最终为0,参数得不到更新;
对于LSTM,隐含层之间的关系可以表示为:
于是,需要连乘的项可表示为:
在实际参数更新中,可以通过控制bias比较大,使得该值接近于1;在这种情况下,即使通过很多次连乘的操作,梯度也不会消失,然后可以保留长距离连乘项的存在。即总可以通过选择合适的参数,在不发生梯度爆炸的情况下,找到合理的梯度方向来更新参数,而且这个方向可以充分地考虑远距离的隐含层信息的传播影响。
attention机制
有哪些损失函数
特征工程
PCA的原理
SVD的原理
过采样、降采样:
有哪些过采样手段: SMOTE
有哪些降采样手段
什么情况下进行过采样
什么情况下进行降采样
数据无量钢化处理:
目的:便于不同维度之间的特征进行比较和加权
1)归一化:把特征归一化到[0,1]区间之内
x' = (x-min)/(max-min)
2)标准化:把特征映射到以0为中心,1为方差的正态分布内
x' = (x-E(x))/omiga
异:归一化(0~1):拍扁统一到区间(仅由最大最小值差别决定);
标准化(-无穷,+无穷)---“弹性”+“动态”,缩放和每个点都有关系,通过均值+方差体现。
适用条件:
a. 归一化的最大最小值非常容易受到异常点的影响,这种方法鲁棒性较差,只使用传统精确小数据场景;
b. 对于一个数值特征来说,很大可能它是服从正态分布的,所以标准化更加合理。
问题:逻辑回归必须进行标准化吗?
用到正则的逻辑回归需要标准化,没用到的不一定要,但是标准化可以尽快收敛。这取决于我们的逻辑回归是不是用正则,如果不用正则,那么标准化并不是必须的,如果用到了正则,那么标准化是必须的。
原因:加入不同的特征取值范围不一样,有的是0到0.1,有的是100到1000,那么,每个特征对应的参数大小、级别也会不一样,在L1正则时,我们都是简单的将参数的绝对值相加,因为它们的大小级别不一样,就会导致L1最后只会对那些级别比较大的参数有作用,那些小的参数都被忽略了。
标准化对逻辑回归有什么好处吗?
搭:进行标准化后,我们得出的参数值大小可以反应出不同特征对样本label的贡献度,方便我们进行特征筛选。如果不做标准化,是不能这样来筛选特征的。
标准化有什么注意事项吗?
最大的注意事项就是:先拆分出test集,不要在整个数据集上做标准化,因为那样会将test集的信息引入到训练集中。
总结:
a. 在分类、聚类诉案中,需要使用距离度量相似性的时候、或者使用PCA技术进行降维的时候,标准化表现更好;
b. 基于树的模型不需要标准化;
c. SVM、神经网络(SGD需要)需要标准化;
d. 用到正则的线性模型一定要标准化,没用到正则的线性模型不一定要标准化,但是标准化可以加快收敛;
Kmeans,KNN一些涉及到距离有关的算法,或者聚类的话,都是需要先做变量标准化的;
归一化:
在不涉及距离度量、协方差计算、数据不符合正态分布的时候,可以使用归一化方法。有时候,我们必须要特征在0-1之间,此时就只能用归一化。
如何看过拟合或者欠拟合
如果过拟合了该怎么办
欠拟合呢
Tensorflow面试题
数据结构:
八大排序算法及算法复杂度