标签:组合 height ble 北京 计算 style mil body size
原文来自:博客园(华夏35度)http://www.cnblogs.com/zhangchaoyang 作者:Orisun
x1年龄 | x2北京 | x3上海 | x4深圳 | x5男 | x6女 | |
用户1 | 23 | 1 | 0 | 0 | 1 | 0 |
用户2 | 31 | 0 | 0 | 1 | 0 | 1 |
如上例特征X有6个维度,年龄是连续值,城市和性别用one-hot表示,假设我们用最简单的线性拟合来预测y值。
$\hat{y}=w_0+\sum_{i=1}^n{w_ix_i}$
实际中“北京的男性用户”、“上海的女性用户”这种组合特征可能是有用的,即 $x_i,x_j$( $x_i,x_j$ 都是one-hot特征)同时为1时可能是一个很有用的特征,这种组合特征是 $x_i$ 和 $x_j$ 的线性组合所无法表示的。这样一来乘积 $x_i$ 就成一个新的特征。为了不错过任何一个这种可能有用的组合特征,我们穷举所有的i,j组合,把 $x_ix_j, 1\le{i}\le{n}, i<j\le{n}$ 都加到特征里面去,即使其中某些 $x_i$ 不是one-hot特征或者某些 $x_ix_j$ 不是有用的特征,都没关系,经过大量样本的训练,模型会把那些无用的特征的系数训练为0。
由于二次项系数$w_{ij}$,我们额外引入$\frac{n^2}{2}$个参数需要训练。有没有什么办法可以减少参数?再来观察二次项系数矩阵$W_{n\times n}$,它是对称的方阵$w_{ij}=w_{ji}$,同时它是稀疏的,因为绝大部分的组合特征都是无用的,所以其系数应该为0。可以对$W_{n\times n}$进行矩阵分解$W_{n\times n}=V_{n\times k}V_{n\times k}^T$,即$w_{i,j}=<v_i,v_j>$。其中$k\ll n$,本来需要训练的n×n个参数,现在只需要训练n×k个。
$\hat{y}=w_0+\sum_{i=1}^n{w_ix_i}+\sum_i^n{\sum_{j=i+1}^n{<v_i,v_j>x_ix_j}}$
$<v_i,v_j>=\sum_{f=1}^k{v_{if}v_{jf}}$
根据x计算$\hat{y}$的时间复杂度是$O(kn^2)$
标签:组合 height ble 北京 计算 style mil body size
原文地址:https://www.cnblogs.com/cxt618/p/10606669.html