特征归一化
目的:消除数据特征之间的量纲影响
方法:
名称 | 线性函数归一化(Min-Max Scaling) | 零均值归一化(Z-Score Normalization) |
---|---|---|
方法 | 对原始数据进行线性变换,使结果映射到[0,1]的范围 | 将数据映射到均值为0,标准差为1的分布上 |
公式 | \(X_{norm}=\frac{X-X_{min}}{X_{max}-X_{min}}\) | \(z = \frac{x-\mu}{\sigma}\) |
特征归一化的好处:
在梯度下降法的过程中,如果两个变量取值区间相同,在反向传播更新的时候两者的速度会更为一致,加快收敛速度。
通过梯度下降法求解的模型一般需要归一化——如线性回归,逻辑回归,支持向量机,神经网络。对于基于信息增益的决策树则不适用
特征编码
已经研究过了,见
高维组合特征的处理
为了提高模型的拟合能力,有时我们会构造高维特征
如这样的特征
是否点击 | 用户ID | 物品ID |
---|---|---|
1 | 1 | 1 |
0 | 1 | 2 |
0 | 2 | 2 |
1 | 2 | 1 |
经过组合,能得到
是否点击 | ID=1,类别=2 | ID=2,类别=1 | ID=1,类别=1 | ID=2,类别=2 |
---|---|---|---|---|
1 | 0 | 0 | 1 | 0 |
0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 1 |
1 | 0 | 1 | 0 | 0 |
当有\(m\)个用户,\(n\)个物品时,此时的维度变为\(m \times n\),可以说这时候的维度已经十分可观了。
此时我们可以用矩阵分解的方法:将\(R_{m \times n}\)(原来m个用户,n个物品的特征的稀疏矩阵)
分解为
\[R_{m \times n} \approx P_{m \times k}Q_{k \times n} \]这里我们发现分别得到两个\(m \times k\),\(k \times n\)的两个矩阵,可以看成此时的矩阵是把用户,物品都用\(k\)维向量表示。
求解两个低维矩阵P,Q参数的过程用到了机器学习的方法,用恢复最小误差作为目标函数,具体的求解过程你可以去搜索关键词 推荐系统的Matrix Factorization。
比如我们的模型是线性回归
对于分解前的情况
\[y = \omega x +b = \sum_i\sum_j w \cdot R_{m \times n}+b \]其中\(\omega\)的参数量为\(m \times n\)
注:这里的运算是点积运算 \(R_{m \times n}\)仅
对于分解后的情况
\[y = \omega x +b = \sum_i\sum_j(\omega_1 \cdot P_{m \times k})(\omega_2 \cdot Q_{k \times n}) + b \]此时\(\omega_1\)为\(m \times k\)个参数,\(\omega_2\)为\(k \times n\)个参数,此时的参数数量明显减少。
寻找组合特征的方法——基于决策树
对于决策树,每个节点代表一种筛选方式,对于每种从根节点到叶子结点的路径都可以看成一种组合特征。
Word2Vec模型
Word2Vec模型是最常用的词嵌入模型之一,词嵌入即将词语编码。Word2vec实际上是一种浅层神经网络模型,分别为CBOW和Skip-gram
CBOW的目标是根据上下文出现的词语来预测当前词的出现概率。
Skip-Gram是根据当前词预测上下文各词。
两者都可以表示为由输入层,映射层和输出层构成的简单神经网络。
输入层中每个单词由独热编码构成。
在映射层,将N维输入映射成K维特征向量(降维)
在输出层,将\(K\)维特征向量转化为\(N\)维,即又变成独热编码的维度,可以通过\(softmax\)函数得出每一维出现的概率。
训练神经网络,使得生成概率尽可能贴近实际概率。
在训练时由于参数很多,所以很慢,可以依据其他方法进行改进
LDA与Word2Vec的异同
LDA时利用文档中单词的共现关系关系来对单词按主题聚类,也可以理解为对"文档-单词"矩阵进行分解,得到"文档-主题"和"主题-单词"两个概率分布。
而Word2Vec是对于上下文-单词矩阵进行学习。
主题模型是一种基于概率图模型的生成式模型,其似然函数可以看成若干条件函数连乘的形式。
而词嵌入模型一般表达为神经网络的形式,通过网络参数得出单词的稠密向量表示
图像数据不足的处理方法
数据不足而产生的主要问题是过拟合,对于过拟合问题,有两类处理方法——
一是基于模型的方法,主要是采用降低过拟合风险的措施,包括简化模型,添加约束项以缩小假设空间,集成学习
二是基于数据的方法——根据一些先验知识,在保持特定信息的前提下对原始数据进行特定变换。
还可以先对图像特征进行提取,在特征空间种进行变换,如SMOTE算法
或是通过生成对抗网络生成新样本
最后是基于迁移学习的方法,利用已经在大数据集训练出的模型,最后针对目标进行fine-tune。
参考资料
《百面机器学习》第一章 特征工程
(53 封私信 / 81 条消息) 高维组合特征在处理时,如何将高维特征用低维的k维向量表示? - 知乎 (zhihu.com)