原始数据、和间接数据对模型训练效率有不同的影响么?

2021-05-17 11:02:18 +08:00
 huzhikuizainali
假设某电子商务网站希望“优质”商品排在搜索结果前面。人工选取了“好”“中”“差”三组商品各 1000 个。同时将他们的后台数据提取出来。
原始数据,包括每个商品以下数据:
1 、曝光量 2 、点击量 3 、访问独立用户数 4 、加购物车量 5 、收藏量 6 、订购量 7 、好评量 8 、中评量 9 、差评量…………

间接数据,包括每个商品以下数据(假设上帝已经帮我选出了所有)
1 、点击率=点击量 /曝光量 2 、加购率=加购物车量 /访问独立用户数 3 、收藏率=收藏量 /访问独立用户数 4 、好评率=好评量 /评价总数 5 、差评率=差评量 /评价总数 …………

那么给模型喂训练数据时,原始数据、间接数据 哪个对模型训练最有效。有效性:可以这样评价、同样的训练数据量训练出的模型。哪个实际运行后对好坏商品的区分度最高。或者对好坏商品区分度一样的模型。哪个用的训练集最少,训练时间最短。

以上比较,假设没有数据集的遗漏。因为原始数据集和间接数据集后面都有省略号。且排序都按照数据有效性排序。即对训练最有效的数据排在前面。例如原始数据集,假设曝光量时最有效的数据。间接数据认为点击率是最有效数据。

直觉上觉得间接数据集应该更有效?如果这种直觉是正确的。请问有什么背后的理论依据么?比如数学层面的。或者机器学习理论或神经网络理论层面的。
1449 次点击
所在节点    机器学习
24 条回复
liprais
2021-05-17 11:31:12 +08:00
没看懂你想干啥
longbye0
2021-05-17 11:41:53 +08:00
衍生特征会更好些,特征维度增加了,当然你可以两个都试。
huzhikuizainali
2021-05-17 12:48:31 +08:00
@longbye0 不懂就问:衍生特征会更好些---------是什么意思?
huzhikuizainali
2021-05-17 12:48:54 +08:00
@liprais 哪里没看懂,我进一步补充。
longbye0
2021-05-17 13:28:16 +08:00
@huzhikuizainali 就你说的原始数据 x1,x2,构造出的衍生特征,比如 x1/x2
huzhikuizainali
2021-05-17 14:14:03 +08:00
@longbye0 明白了。这属于数学理论或机器学习理论或数据挖掘理论的哪个分支? 或者在上述哪个理论中能找到支持的依据?
princelai
2021-05-17 15:13:36 +08:00
应该是你说的间接数据效果更好,通常特征都是原始特征+交叉特征,你的间接数据就属于人为选择的交叉特征。而且为什么不把原始数据和间接数据一起放入模型,让模型自己选择哪个有用哪个没用呢?
greengreengo
2021-05-17 15:17:21 +08:00
额,理论层面先不说,但是这两种数据同时用或者对比用几次,经验层面可以有结论。我直觉上觉得衍生特征不一定好用,这完全取决于你衍生的方式是否能更好的反应 标签 y 。但实际工作中衍生特征很多时候都是重要特征。理论没研究过
FrancisQiu
2021-05-17 16:30:34 +08:00
原始数据一般还是需要预处理的,保证尺度不变性
CopenhagenCat
2021-05-17 16:57:51 +08:00
把所有特征全加进去训练一下不就好了,看看训练后的模型对每个特征重要性的排序,心里就有数了

这个量级的数据,几分钟就能训练好吧,多测试几次比在这问有用多了

原始特征和衍生特征,谁更重要得看具体数据场景,好像没有定论谁更重要
huzhikuizainali
2021-05-17 17:46:43 +08:00
@princelai 谢谢回复。我对你说的“ 通常特征都是原始特征+交叉特征” 这个特征觉得既陌生又熟悉。看过一些视频。提取特征值什么的好像涉及到线性代数的知识(我记得不太准确)。而在这里“原始数据变成了原始特征。间接数据变成了交叉特征。怎么这么简单?那还用线性代数干什么呢?究竟应该怎么理解“特征”还请指教
huzhikuizainali
2021-05-17 17:49:49 +08:00
@CopenhagenCat 谢谢你的回复。“没有定论”也是一个很重要的结论:)
关于“ 原始特征和衍生特征,谁更重要得看具体数据场景”有没有涉及这个问题的书或者文章,视频推荐?对数学要求不高的更好。
huzhikuizainali
2021-05-17 17:52:21 +08:00
@princelai 单纯以结果判断优劣会不会陷入过拟合的困境?不过也许过拟合跟这个没关系?
我是不是不应该用人的逻辑去推测机器学习的逻辑?
princelai
2021-05-17 17:53:03 +08:00
@huzhikuizainali #11 我觉得是你记错了,如果是特征降维 /SVD 这些可能会用到矩阵特征值,你的这个特征和那个不是一个东西,原始数据处理要么是增加特征,可以是交叉 /衍生出来的,要么是标准化 /归一化,剩下线性和非线性的拟合部分交给模型去做。
huzhikuizainali
2021-05-17 17:58:38 +08:00
@princelai 谢谢指教。多谢
princelai
2021-05-17 17:59:38 +08:00
@huzhikuizainali #13 当然不是单纯用结果去判断,你要根据你的训练误差,测试误差,去判断你的特征和模型的好坏,所以让你把所有特征都放进去,让模型自己 train 出来,误差也分为多种,回归和分类的,AUC,RMSE,MAPE,交叉熵。如果是做特征选择,那通常是方差算出来的,比如 chi2,一般会根据你选择的函数结果也不同。
limitlessun
2021-05-18 12:29:52 +08:00
在比较简单的机器学习模型中是肯定有影响的,Kaggle 的房价预测里有一个例子,原始数据包含了房屋面积和上次出售价格,如果人为地添加单位面积价格=出售价格 /面积这一特征,模型的准确率会提高很多。
神经网络不太确定,对于 LZ 定义的纯数值计算得到的"间接数据"个人倾向于没有影响,因为神经网络理论上可以逼近任何函数,所以"间接数据"应该可以被学习到。
神经网络一般用于图像、视频和文本,会采用数据增强的形式,例如随机裁剪或添加噪声,如果把这也看做一种形式的"间接数据",那么它们可以增强网络的泛化能力,减小过拟合的影响。
huzhikuizainali
2021-05-18 12:43:03 +08:00
@limitlessun 谢谢回复。请问“因为神经网络理论上可以逼近任何函数,所以"间接数据"应该可以被学习到。”---------这会以大量增加训练数据量为代价么?比如获得同样质量的模型需要增加指数级的训练数据量。
limitlessun
2021-05-18 14:47:10 +08:00
@huzhikuizainali 我不太明白你的问题,你是指 dataset 中的样本数量还是说训练的迭代次数?神经网络有很多种不同的结构,没法一概而论
huzhikuizainali
2021-05-18 20:51:35 +08:00
@limitlessun 我的意思。A,全部用原始数据,B,全部用间接数据 C,原始数据+间接数据混用。会不会出现 A 方案需要 30000 条数据才能训练好模型。而 B 方案数据用 15000 条数据就可以训练好模型? C 方案用 10000 条数据就可以训练好模型。

或者,并不存在以上必然结论。有可能 A 方案需要的数据量最少。要试了才知道?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/777367

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX