百科问答小站 logo
百科问答小站 font logo



如何将某个分布作为机器学习的特征? 第1页

  

user avatar   wenmiau 网友的相关建议: 
      

实际上这是非常常用的做法,比如我们要采用用户的历史行为数据作为特征,这类特征中有大量计数性的,并且时间不稳定。如果我们仅仅采用某个时间窗口内的数据,那数据噪声就会显得特别大,在最终模型中的数据贡献因此被削弱。

简单方法:

  1. 使用数据直方图作为特征。直方图也就是将数据分布范围划分为有限的区间,然后对区间内的数据进行计数。这样,每个区间可以单独作为一个新的特征,每个区间内的计数就是这个新特征的值。这种做法会导致特征数量大量增加,也会导致模型的训练变得不稳定,更难以收敛。
  2. 简化直方图特征。比如特征的均值、方差、最小值、最大值、中值等,或者人工划分更少的区间进行离散化。比如某个计数类特征,通常这类特征是非常长尾的[1],那么可以使用对数变换进行处理:
       -- sql cast(log(1+ coalesce(x,0))*10 as bigint) as x     

这种方法不会增加特征的数量,模型训练因此会相对更容易。但离散化的办法需要对数据分布具有深刻的理解,不然对模型结果的贡献可能是负面的。

复杂方法

在机器学习里面,有很多成熟方法可以快速提取数据的分布或者分布差异。比如KL散度(Kullback-Leibler Divergence)[2][3] . 假如我们有一个目标分布,使用KL散度计算样本数据分布跟目标分布之间的差异[3]可以作为一个新的特征。

既然KL散度可以这样处理,那么自然地,其他关于分布的度量,包括Wasserstein Distance等也可以这样处理[4][5].

实际上,缩小生成数据和训练样本数据直接的分布差异是我们在GAN中最根本的一个目标[6]:

, 因此在GAN中我们经常需要计算分布和分布差异。而分布,经过一定的处理,可以变成人可以理解的具有语义意义的“特征”[7]。隐空间去纠缠(Disentangling Latent Space)[8][9][10]便是一种这样的方法。

通过隐空间去纠缠(正交化等),我们可以让隐空间向量的每个维度具有特定的意义。这样,我们让数据过一遍模型,得到隐空间向量,就可以作为一种关于数据分布的特征。这类方法计算量大,但仅仅在训练中或者数据预处理时候需要进行计算,在做模型推理时候不需要,因此并不会增加模型推理开销。实际上,这类方法目前已经在人脸换脸的应用中广泛使用了。

参考

  1. ^ Zhu, X., Anguelov, D., & Ramanan, D. (2014). Capturing long-tail distributions of object subcategories. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 915-922).
  2. ^ Kullback, S., & Leibler, R. A. (1951). On information and sufficiency. e Annals of Mathematical Statistics, 22 (1): 79–86.
  3. ^ a b Hershey, J. R., & Olsen, P. A. (2007, April). Approximating the Kullback Leibler divergence between Gaussian mixture models. In 2007 IEEE International Conference on Acoustics, Speech and Signal Processing-ICASSP'07 (Vol. 4, pp. IV-317). IEEE.
  4. ^ Peyré, G., & Cuturi, M. (2019). Computational optimal transport: With applications to data science. Foundations and Trends® in Machine Learning, 11(5-6), 355-607.
  5. ^ Arjovsky, M., Chintala, S., & Bottou, L. (2017, July). Wasserstein generative adversarial networks. In International conference on machine learning (pp. 214-223). PMLR.
  6. ^ Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., ... & Bengio, Y. (2014). Generative adversarial nets. Advances in neural information processing systems, 27.
  7. ^ Huang, E., & Gupta, S. (2020). Style is a Distribution of Features. arXiv preprint arXiv:2007.13010.
  8. ^ Shen, Y., Gu, J., Tang, X., & Zhou, B. (2020). Interpreting the latent space of gans for semantic face editing. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 9243-9252).
  9. ^ Zheng, Z., & Sun, L. (2019). Disentangling latent space for vae by label relevant/irrelevant dimensions. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 12192-12201).
  10. ^ Liu, K., Cao, G., Zhou, F., Liu, B., Duan, J., & Qiu, G. (2020). Disentangling Latent Space for Unsupervised Semantic Face Editing. arXiv preprint arXiv:2011.02638.



  

相关话题

  如何评价第一局比赛 AlphaGo 战胜李世石? 
  去哪找数据?怎么挖掘? 
  如何解释探索性因素分析? 
  如何评价基于游戏毁灭战士(Doom)的AI死亡竞赛大赛结果? 
  现在的人工智能是否走上了数学的极端? 
  如何评价贾扬清离职 Facebook? 
  word2vec有什么应用? 
  深度学习中Attention与全连接层的区别何在? 
  请解释下variational inference? 
  人工智能就业前景越来越严峻了,你还在坚持吗? 

前一个讨论
2021年你读了哪些觉得比较好的计算机书籍?
下一个讨论
Facebook 的人工智能实验室 (FAIR) 有哪些厉害的大牛和技术积累?





© 2024-05-15 - tinynew.org. All Rights Reserved.
© 2024-05-15 - tinynew.org. 保留所有权利