机器学习
- L1和L2正则的区别,以及它们各自的性质
- 如何解决样本不均衡问题
- 特征降维和特征选择
- PCA、SVD、LDA做特征降维
- 特征选择
- https://www.zhihu.com/question/28641663/answer/110165221
- Filter
- 方差选择法
- 相关系数法
- 卡方检验
- 互信息法
- Wrapper
- 递归特征消除法
- Embedded
- 基于惩罚项的特征选择法
- 基于树模型的特征选择法
- 随机森林
- SVM原理及推导
- SVM既可以用作分类也可以用作回归
- 逻辑回归原理及推导
- 为什么使用Sigmoid函数
- 为什么采用交叉熵作为损失函数
- 朴素贝叶斯原理及推导
- 决策树原理及推导
- XGBoost原理及推导
- 与RF算法异同
- Boost、Bagging
- 弱学习器、强学习器
- RF降低方差、XGBoost降低偏差
- 都是集成学习,都支持并行
- 与RF算法异同
- XGBoost、GDBT、AdaBoost之间的异同
- GDBT是回归还是分类模型
- LightGBM相比于XGBoost有何改进
深度学习
- DNN原理及推导,反向传播参数更新公式
- DNN为什么会产生梯度消失或爆炸问题
- LSTM中有哪些门,作用分别是什么
- Attention机制是什么,什么情况下需要
- 为什么使用BiLSTM,与TextCNN相比有何区别
- Word2Vec原理
- 三层神经网络
- 输入层
- 隐藏层
- 输出层
- 训练维数在25-1000,300维是1个比较好的选择
- Skip-Gram和CBOW
- 语料较多的情况下,skip-gram可以产生更多得训练样本,效果更好
- CBOW求平均的特性在语料较少的训练效果更好
- 采用霍夫曼树和负采样可以提高训练速度
- 三层神经网络
- 如何提高词向量训练的准确性
- 使用预训练的大规模词库
- 使用多种滑窗
- 如何进行专业医疗词汇的分词
- jieba分词中可录入专业高频词汇分词集
- 使用专业医疗预训练词库
- 抑制过拟合的方法
- 过拟合产生原因
- 数据不足,无法估计整体数据分布
- 模型复杂,参数过多
- 解决方法
- early stopping
- 记录最好的训练精度,当训练Epoch不再提升时结束迭代
- 训练集扩增
- 获取更多数据
- 数据增强:变换姿态等,更改文本位置
- 正则化
- L1使参数变得稀疏
- L2使参数变得平滑
- Dropout
- 每次随机(50%)忽略隐藏层的某些节点
- 相当于每次随机选择模型,相当于Bagging的做法
- 结合多模型
- BatchNormalize
- early stopping
- 过拟合产生原因
- 常见的激活函数及其优缺点
- 饱和激活函数
- sigmod
- 缺点
- 导致梯度消失
- 不是零为中心
- 计算比较消耗资源
- 优点
- 便于求导
- 压缩数据,保证数据幅度不会有问题
- 适用于前向传播
- 缺点
- tanh
- 优点
- 解决sigmod输出非“以零为中心”的问题
- 缺点
- 梯度消失
- 指数运算
- 优点
- sigmod
- 非饱和函数
- Relu
- 优点
- 解决梯度消失问题
- 加快收敛速度
- 计算速度快
- 缺点
- 非零为中心
- 如果初始学习率设置过高,容易导致会出现神经元假死的问题
- 优点
- Leaky Relu
- 在x<0时添加非零斜率a,y=ax
- 优点
- 不会假死亡
- 解决梯度消失
- 快速收敛
- 计算速度快
- 缺点
- a的设置需要先验知识(0.01)
- RRelu
- 利用高斯分布随机产生斜率a
- Elu
- maxout
- Relu
- 饱和激活函数
- DNN中为何存在梯度爆炸和梯度消失问题
- 由于参数传递的原因,导致前层比后层变化小或者大,容易梯度消失和爆炸
- 梯度爆炸
- 初始权重设置过大容易产生
- 解决办法
- 预训练
- 梯度剪枝
- 权重正则化
- 选择Relu激活函数
- Batch Normalize
- BN就是通过对每一层的输出规范为均值和方差一致的方法,消除了权重参数放大缩小带来的影响,进而解决梯度消失和爆炸的问题,或者可以理解为BN将输出从饱和区拉倒了非饱和区
- 残差网络
- LSTM