《Python大规模机器学习》—2.4.3 ​其他基本变换

举报
华章计算机 发表于 2019/06/12 22:37:07 2019/06/12
【摘要】 本节书摘来自华章计算机《Python大规模机器学习》一书中的第2章,第2.4.3节,作者是[荷]巴斯蒂安·贾丁(Bastiaan Sjardin)[意]卢卡·马萨罗(Luca Massaron)[意]阿尔贝托·博斯凯蒂(Alberto Boschetti)王贵财 刘春明 译。

2.4.3    其他基本变换

正如我们从数据存储中得出的示例,除了将分类特征转换为数字特征之外,还可以用另一种转换让学习算法提高其预测能力。可以通过函数(使用平方根、对数或其他转换函数)或通过

操作特征组,将转换应用于特征。

在下一章中,将给出有关多项式展开和随机kitchen-sink方法的详细示例。在本章中,我们将预测如何通过嵌套迭代创建二次特征。二次特征通常在创建多项式展开时创建,其目的是拦截预测特征之间的相互作用;这会以意想不到的方式影响目标变量中的响应。

为了直观地阐明为什么二次特征在对目标响应建模中很重要,让我们用两种药物对病人的影响为例进行说明。事实上,每种药物都可能或多或少对所治疗的疾病有作用。这两种药物是由不同成分组成的,当病人一起服用时,这两种药物的药效会相互抵消。在这种情况下,虽然两种药物都有效,但由于它们的负面作用,它们在一起并不起作用。

在这种意义上,不仅仅在医学中,在大量的各种特征中都会发现特征间的相互作用,而关键是要找出最重要的特征,以使我们的模型能更好地预测其目标。如果我们不知道问题的某些特征会相互作用,则唯一的选择是系统地测试它们,并使我们的模型保留那些更好的特征。

在下面的简单示例中,有一个名为v的向量作为我们假想的例子,它在内存中流化以便被学习,之后,转换为另一个向量vv,其中v的原始特征伴随着其乘积交互作用的结果(每个特征与其他所有特征相乘一次)。鉴于特征数量较多,学习算法使用vv向量代替原始v向量作为输入,以便更好地拟合数据:

 image.png

随着示例数据流入学习算法,可以动态生成

类似的甚至更复杂的转换,由于成批数据很小(有时简化为单个示例),因此如此少量示例的特征数量很容易在内存中展开。下一章中,我们将探讨更多的这类转变示例,以及它们与学习流程的成功集成。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。