1
liprais 2021-05-17 11:31:12 +08:00
没看懂你想干啥
|
2
longbye0 2021-05-17 11:41:53 +08:00 via iPhone
衍生特征会更好些,特征维度增加了,当然你可以两个都试。
|
3
huzhikuizainali OP @longbye0 不懂就问:衍生特征会更好些---------是什么意思?
|
4
huzhikuizainali OP @liprais 哪里没看懂,我进一步补充。
|
5
longbye0 2021-05-17 13:28:16 +08:00
@huzhikuizainali 就你说的原始数据 x1,x2,构造出的衍生特征,比如 x1/x2
|
6
huzhikuizainali OP @longbye0 明白了。这属于数学理论或机器学习理论或数据挖掘理论的哪个分支? 或者在上述哪个理论中能找到支持的依据?
|
7
princelai 2021-05-17 15:13:36 +08:00
应该是你说的间接数据效果更好,通常特征都是原始特征+交叉特征,你的间接数据就属于人为选择的交叉特征。而且为什么不把原始数据和间接数据一起放入模型,让模型自己选择哪个有用哪个没用呢?
|
8
greengreengo 2021-05-17 15:17:21 +08:00
额,理论层面先不说,但是这两种数据同时用或者对比用几次,经验层面可以有结论。我直觉上觉得衍生特征不一定好用,这完全取决于你衍生的方式是否能更好的反应 标签 y 。但实际工作中衍生特征很多时候都是重要特征。理论没研究过
|
9
FrancisQiu 2021-05-17 16:30:34 +08:00
原始数据一般还是需要预处理的,保证尺度不变性
|
10
CopenhagenCat 2021-05-17 16:57:51 +08:00
把所有特征全加进去训练一下不就好了,看看训练后的模型对每个特征重要性的排序,心里就有数了
这个量级的数据,几分钟就能训练好吧,多测试几次比在这问有用多了 原始特征和衍生特征,谁更重要得看具体数据场景,好像没有定论谁更重要 |
11
huzhikuizainali OP @princelai 谢谢回复。我对你说的“ 通常特征都是原始特征+交叉特征” 这个特征觉得既陌生又熟悉。看过一些视频。提取特征值什么的好像涉及到线性代数的知识(我记得不太准确)。而在这里“原始数据变成了原始特征。间接数据变成了交叉特征。怎么这么简单?那还用线性代数干什么呢?究竟应该怎么理解“特征”还请指教
|
12
huzhikuizainali OP @CopenhagenCat 谢谢你的回复。“没有定论”也是一个很重要的结论:)
关于“ 原始特征和衍生特征,谁更重要得看具体数据场景”有没有涉及这个问题的书或者文章,视频推荐?对数学要求不高的更好。 |
13
huzhikuizainali OP @princelai 单纯以结果判断优劣会不会陷入过拟合的困境?不过也许过拟合跟这个没关系?
我是不是不应该用人的逻辑去推测机器学习的逻辑? |
14
princelai 2021-05-17 17:53:03 +08:00
@huzhikuizainali #11 我觉得是你记错了,如果是特征降维 /SVD 这些可能会用到矩阵特征值,你的这个特征和那个不是一个东西,原始数据处理要么是增加特征,可以是交叉 /衍生出来的,要么是标准化 /归一化,剩下线性和非线性的拟合部分交给模型去做。
|
15
huzhikuizainali OP @princelai 谢谢指教。多谢
|
16
princelai 2021-05-17 17:59:38 +08:00
@huzhikuizainali #13 当然不是单纯用结果去判断,你要根据你的训练误差,测试误差,去判断你的特征和模型的好坏,所以让你把所有特征都放进去,让模型自己 train 出来,误差也分为多种,回归和分类的,AUC,RMSE,MAPE,交叉熵。如果是做特征选择,那通常是方差算出来的,比如 chi2,一般会根据你选择的函数结果也不同。
|
17
limitlessun 2021-05-18 12:29:52 +08:00
在比较简单的机器学习模型中是肯定有影响的,Kaggle 的房价预测里有一个例子,原始数据包含了房屋面积和上次出售价格,如果人为地添加单位面积价格=出售价格 /面积这一特征,模型的准确率会提高很多。
神经网络不太确定,对于 LZ 定义的纯数值计算得到的"间接数据"个人倾向于没有影响,因为神经网络理论上可以逼近任何函数,所以"间接数据"应该可以被学习到。 神经网络一般用于图像、视频和文本,会采用数据增强的形式,例如随机裁剪或添加噪声,如果把这也看做一种形式的"间接数据",那么它们可以增强网络的泛化能力,减小过拟合的影响。 |
18
huzhikuizainali OP @limitlessun 谢谢回复。请问“因为神经网络理论上可以逼近任何函数,所以"间接数据"应该可以被学习到。”---------这会以大量增加训练数据量为代价么?比如获得同样质量的模型需要增加指数级的训练数据量。
|
19
limitlessun 2021-05-18 14:47:10 +08:00 via iPhone
@huzhikuizainali 我不太明白你的问题,你是指 dataset 中的样本数量还是说训练的迭代次数?神经网络有很多种不同的结构,没法一概而论
|
20
huzhikuizainali OP @limitlessun 我的意思。A,全部用原始数据,B,全部用间接数据 C,原始数据+间接数据混用。会不会出现 A 方案需要 30000 条数据才能训练好模型。而 B 方案数据用 15000 条数据就可以训练好模型? C 方案用 10000 条数据就可以训练好模型。
或者,并不存在以上必然结论。有可能 A 方案需要的数据量最少。要试了才知道? |
21
limitlessun 2021-05-18 22:29:43 +08:00 via iPhone
@huzhikuizainali 这个问题太广泛了,机器学习+深度学习的方法和模型那么多种,肯定不能一概而论,另外所谓的“间接数据”也没有一个明确定义。
你主楼中数值计算得到的“间接数据”,这方面我不太熟悉,我的看法是其中部分会起正作用,另外一部分可能没有作用或者起到负作用。同时要注意引入新的特征相当于增加了特征的维度,而高维度的输入可能导致学习难度加大。这一块你可以搜搜“kaggle magic feature”。 如果是我举例的神经网络中对图像做的数据增强,那么绝大多数情况都是每个 epoch 对 sample 进行随机数据增强,相当于人为引入了一些噪音,从而提高了模型的泛化能力。 个人理解是,假设你引入的间接数据都是有用的,并且假设你增加的数据量都是 clean 的,那么两者都会提高模型的泛化能力,一般做 ablation study 都是只改变一个条件,你同时改变两者去比较意义不大。 我建议你针对具体问题去搜一些 paper,数据处理相关应该是偏机器学习领域的,我确实了解的不多。 |
22
huzhikuizainali OP @limitlessun 谢谢你的回复。很有帮助。
|
23
heavenToothpaste 2021-06-07 00:59:15 +08:00
通过你的描述我认为,原始数据和间接数据其实是指的特征维度的不同的关系,可以通过分析数据的特征之间的关系来解答你的问题:
1.当某个维度特征是其他维度特征的线性组合的时候,在特征空间上这个维度特征是和其他特征线性相关的,也就意味着他并没有扩展特征空间,这种特征对于数据来说是可以替代的,对于大多数学习算法来说,都是可以被很好地学习的,而其数据本身如果只是单纯由已知的数据进行计算得到的话,那么其对于一般不会提升模型性能。(意味着其是冗余的);但是如果该数据是并非来自已知的数据,那么就可以为模型提供新的信息,这个信息来自于已知特征维度之间的线性或者非线性组合关系。 2.如果某个维度特征和其他维度特征是非线性的,甚至高度非线性的,又或者是独立于其他维度特征的,那么就会带来新的信息,这时候是对于模型来说是有好处的,有可能能够提升模型的性能。 我认为可以参考像是核方法一类的理论,都是将数据投射到更高的维度上,使得线性可分的可能性更大,从而让模型更容易找到答案。 |
24
huzhikuizainali OP @heavenToothpaste
谢谢你的回复。刚看了卷积神经网络的一个小视频。不知道理解的对不对:卷积层实际上就是一个“过滤器” ,即“当某个维度特征是其他维度特征的线性组合的时候,”卷积层就把这个维度“优化掉”。这样就大大减轻了后面的神经网络层处理这些“冗余”维度数据的“压力”。达到同样的识别准确率只需要比较少的神经网络层。或者是需要的训练集更少。 -------------------不知道这样的理解是否恰当? |