百科问答小站 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.



  

相关话题

  有没有根据一张人物的立绘正面像,自动生成同风格各侧面角度像并自动衍生表情的软件啊? 
  为什么我用相同的模型,数据,超参,随机种子,在两台服务器会得到不同的结果? 
  如何计算一组三维空间角度数据的方差(或者说离散程度)? 
  你见过最差的算法工程师能差到什么程度? 
  应届硕士毕业生如何拿到知名互联网公司算法岗(机器学习、数据挖掘、深度学习) offer? 
  Apple 在设备端对儿童色情图片检测,你怎么看这项功能? 
  迁移学习入门,新手该如何下手? 
  要研究深度学习的可解释性(Interpretability),应从哪几个方面着手? 
  南京大学LAMDA(周志华)组的实力如何? 
  什么是反事实分析呀? 

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





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利