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

03 高维组合特征的处理

知识点

  • 组合特征

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

分析与解答

为了提高复杂关系的拟合能力,在特征工程中经常会把一阶离散特征两两组 合,构成高阶组合特征。以广告点击预估问题为例,原始数据有语言和类型两种 离散特征,表1.2是语言和类型对点击的影响。为了提高拟合能力,语言和类型可 以组成二阶特征,表1.3是语言和类型的组合特征对点击的影响。
在这里插入图片描述
在这里插入图片描述
以逻辑回归为例,假设数据的特征向量为X=(x1,x2,…,xk),则有,
在这里插入图片描述
其中<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的 组合特征对点击的影响。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
若用户的数量为m、物品的数量为n,那么需要学习的参数的规模为m×n。在 互联网环境下,用户数量和物品数量都可以达到千万量级,几乎无法学习m×n规模 的参数。在这种情况下,一种行之有效的方法是将用户和物品分别用k维的低维向 量表示(k<<m,k<<n),
在这里插入图片描述

其中 , 在这里插入图片描述 分别表示xi和xj对应的低维向量。在表1.5的推荐问题 中,需要学习的参数的规模变为m×k+n×k。熟悉推荐算法的同学很快可以看出来, 这其实等价于矩阵分解。所以,这里也提供了另一个理解推荐系统中矩阵分解的 思路。

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

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

在这里插入图片描述

在这里插入图片描述
给大家推荐一个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于城口

点赞
收藏

评论区

加载中...

相关推荐

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

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )