1.3什么是组合特征?如何处理高维组合特征?

Wesley13
• 阅读 638

03 高维组合特征的处理

知识点

  • 组合特征

问题 什么是组合特征?如何处理高维组合特征?

分析与解答

为了提高复杂关系的拟合能力,在特征工程中经常会把一阶离散特征两两组 合,构成高阶组合特征。以广告点击预估问题为例,原始数据有语言和类型两种 离散特征,表1.2是语言和类型对点击的影响。为了提高拟合能力,语言和类型可 以组成二阶特征,表1.3是语言和类型的组合特征对点击的影响。
1.3什么是组合特征?如何处理高维组合特征?
1.3什么是组合特征?如何处理高维组合特征?
以逻辑回归为例,假设数据的特征向量为X=(x1,x2,…,xk),则有,
1.3什么是组合特征?如何处理高维组合特征?
其中<xi, xj>表示xi和xj的组合特征,wij的维度等于|xi|·|xj|,|xi|和|xj|分别代表第i个特征 和第j个特征不同取值的个数。在表1.3的广告点击预测问题中,w的维度是 2×2=4(语言取值为中文或英文两种、类型的取值为电影或电视剧两种)。这种特 征组合看起来是没有任何问题的,但当引入ID类型的特征时,问题就出现了。以 推荐问题为例,表1.4是用户ID和物品ID对点击的影响,表1.5是用户ID和物品ID的 组合特征对点击的影响。
1.3什么是组合特征?如何处理高维组合特征?
1.3什么是组合特征?如何处理高维组合特征?
1.3什么是组合特征?如何处理高维组合特征?
若用户的数量为m、物品的数量为n,那么需要学习的参数的规模为m×n。在 互联网环境下,用户数量和物品数量都可以达到千万量级,几乎无法学习m×n规模 的参数。在这种情况下,一种行之有效的方法是将用户和物品分别用k维的低维向 量表示(k<<m,k<<n),
1.3什么是组合特征?如何处理高维组合特征?

其中 , 1.3什么是组合特征?如何处理高维组合特征? 分别表示xi和xj对应的低维向量。在表1.5的推荐问题 中,需要学习的参数的规模变为m×k+n×k。熟悉推荐算法的同学很快可以看出来, 这其实等价于矩阵分解。所以,这里也提供了另一个理解推荐系统中矩阵分解的 思路。

_另外博主收藏这些年来看过或者听过的一些不错的常用的上千本书籍_,没准你想找的书就在这里呢,包含了互联网行业大多数书籍和面试经验题目等等。有人工智能系列(常用深度学习框架TensorFlow、pytorch、keras。NLP、机器学习,深度学习等等),大数据系列(Spark,Hadoop,Scala,kafka等),程序员必修系列(C、C++、java、数据结构、linux,设计模式、数据库等等)以下是部分截图

_更多文章见本原创微信公众号「五角钱的程序员」,我们一起成长,一起学习。一直纯真着,善良着,温情地热爱生活。关注回复【电子书】即可领取哦_。

1.3什么是组合特征?如何处理高维组合特征?

1.3什么是组合特征?如何处理高维组合特征?
给大家推荐一个Github,上面非常非常多的干货:https://github.com/XiangLinPro/IT\_book

When you wake up in the morning, set a goal that today you must be better than yesterday. Do it everyday, grow better!
早上醒来时,给自己定个目标今天一定要比昨天好!每天坚持,一定会大有收获!

2020.6.15于城口

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
黎明之道 黎明之道
3年前
天池比赛数据挖掘心电图特征工程
Task3特征工程3.1学习目标学习时间序列数据的特征预处理方法学习时间序列特征处理工具Tsfresh(TimeSeriesFresh)的使用3.2内容介绍数据预处理时间序列数据格式处理加入时间步特征time特征工程时间序列特征构造特征筛选使用tsfresh进行时间序列特征处理
Wesley13 Wesley13
3年前
JAVA面向对象
一、java面向对象的特征?答:java面向对象的特征:封装、继承、多态、抽象。如果问java面向对象的三大特征是什么?那就是封装、继承、多态,但说到面向对象,还有一个很主要的特征就是抽象。1、封装a)铺垫:Java把真实世界中某些具有共同特征的实体抽象成Java中的类,类的实例就是一个对象,而对象和真实世界的实体是一一
Stella981 Stella981
3年前
Spark OneHotEncoder
1、概念独热编码(OneHotEncoding) 将表示为标签索引的分类特征映射到二进制向量,该向量最多具有一个单一的单值,该单值表示所有特征值集合中特定特征值的存在。此编码允许期望连续特征(例如逻辑回归)的算法使用分类特征。对于字符串类型的输入数据,通常首先使用StringIndexer
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这