目录
1.样本不平衡
2.激活函数,为什么sigmoid不好
3.梯度消失和梯度爆炸
4. DL损失函数介绍
5. Relu的问题
6. Dropout
7.多分类的方法
8.W2V的原理
9.CNN的原理
10. fasttext和cnn在文本分类
1.样本不平衡
解决方法:
上采样 下采样
样本数量比较少: 上采样
把一个样本重复几次
比如
原来有10个样本,每个样本重复10遍,就有一百个
样本数量比较多: 下采样
比如 有1000个样本
随机挑100个
2.激活函数,为什么sigmoid不好
常用激活函数: relu tanh 以及relu的各种变形
sigmoid有梯度消失问题
梯度爆炸和sigmoid无关!
3.梯度消失和梯度爆炸
梯度消失
1. 激活函数导数多次累乘
2. 各层权重w小于1时多次累乘
梯度爆炸
1. 各层权重w大于1时, 多次累乘造成
根本原因:
网络太深, 前前面层的导数(链式求导)时,会出现多次累乘
4. DL损失函数介绍
- 二分类binary_loss 和逻辑回归损失函数一回事
- 多分类: multi_category_loss 类似 binary_loss在多种类别上的拓展
- 度量学习: 网络输出结果时向量,让目标函数是接近另外一个向量(向量 学习 向量)(图搜图项目)
5. Relu的问题
死神经元的问题
- 永久死
- 临时死
6. Dropout
本质: 训练时随机抛弃一些权重, 预测时,所有权重都参与,但是要乘一个系数, 希望和训练时同一个量级。
本质: 神经网络集成学习,每次随机抛弃,就是用一种新网络在训练,各个网络之间共享大部分参数。
例子
有10个权重, 抛弃率20%
训练时每次只用8个权重
预测时, 10个w * x * ( 1- 0.2)
7.多分类的方法
- 类别之间独立: softmax
类别能囊括所有可能:直接分类
类别不能囊括所有可能: 加一个拒接类,随机找一些样本
2.类别之间不独立:
方法1: 做成多个2分类,两两比较
方法2: 把softmax激活换成 sigmoid
softmax: 此消彼长
sigmoid: 每个类别可以同时都高也能同时都低
大于0.5就属于这个类,小于就不属于
可以同时属于几个类
8.W2V的原理
用中心词预测周边词
用周边词预测中心词
w2v的分类函数为什么不用softmax?
类别太多,softmax计算量太大 改进方法: huffman 树 和负采样 (一种粗糙的方法,但模型并不用于分类,所以粗糙的影响不大)
分类只是手段不是目的
w2v计算出的词向量在近义词上相比统计有啥优势?
统计没有传递性: a 和 b共现高 a 和c 共现高 b和 c没有共现 统计:所以b和c相似度为0 w2v:
因为上下文相同,所以会比较相似
fasttext和w2v
本质上和w2v没有区别 w2v预测词 fasttext预测类,类数量不会过多,并且要求准确性,所以一般采用softmax
9.CNN的原理
基本思想:
对图像: 卷积-池化 作为一个模块,多次使用 卷积: 提取几何形状 池化: 缩小图片,降低位置的敏感 频道:不同的几何形状
本质是 DNN, 只不过采用了剪枝和参数共享
卷积核池化工作原理
注意点:
1.卷积尺寸问题,图像边缘填充0,保证卷积后的尺寸一致。
2.参数的数量 (只有卷积有参数)
10. fasttext和cnn在文本分类
fasttext本质词袋模型,不考虑词之间的相对顺序和位置
CNN更强调语义, 多位置敏感
e.g
我借你钱
你借我钱
对cnn不一样
对fasttext一样