m*r
2 楼
求问, 对于高度不平衡数据(highly imbalanced data),有的人说做,有的人说不做
。
公说公有理婆说婆有理;各有各的理;
我一开始信了这套理论,后来不信了,现在则是半信半疑。
请问大家在实践中是怎么处理的?
。
公说公有理婆说婆有理;各有各的理;
我一开始信了这套理论,后来不信了,现在则是半信半疑。
请问大家在实践中是怎么处理的?
j*i
3 楼
好像有很多controversy.
m*r
5 楼
这个理论我前几年为啥信了呢 ? 因为他说的是很常见的情况,我做的大部分项目,
positive case都是百分之几,百分之一很多,千分之几的也有。 我看她说的头头是道
,当时我很傻很天真,就信了。
最近几年我不信了。因为最近几年看很多推导 恶补了数学基础 (民科也要不断学习嘛
);发现正规教科书里面完全不提什么不平衡数据,推导都是‘普世价值‘,平衡也罢
不平衡也罢; 这些积分,求导都是永远成立的,不以人的意志为转移,也不以平不平
衡为转移。 更可笑的是,有的网页居然说在'平衡'的过程中, 要达到大约50%的状态
。这么说来,30%就不如40%, 40%就不如50% ? 这是闻所未闻的,至少没有理论基础。
而且, 如果平衡数据如此重要, stat 101早就应该把这一步写进data preparation了。
最近我又有点将信将疑了,因为看了一些知名网站,纷纷开始忽悠大家要做'平衡' ;
虽然文章没什么新意,更没有推导,作为民科 ,还是有责任搞清楚,大家是不是应该
平衡一下数据?
positive case都是百分之几,百分之一很多,千分之几的也有。 我看她说的头头是道
,当时我很傻很天真,就信了。
最近几年我不信了。因为最近几年看很多推导 恶补了数学基础 (民科也要不断学习嘛
);发现正规教科书里面完全不提什么不平衡数据,推导都是‘普世价值‘,平衡也罢
不平衡也罢; 这些积分,求导都是永远成立的,不以人的意志为转移,也不以平不平
衡为转移。 更可笑的是,有的网页居然说在'平衡'的过程中, 要达到大约50%的状态
。这么说来,30%就不如40%, 40%就不如50% ? 这是闻所未闻的,至少没有理论基础。
而且, 如果平衡数据如此重要, stat 101早就应该把这一步写进data preparation了。
最近我又有点将信将疑了,因为看了一些知名网站,纷纷开始忽悠大家要做'平衡' ;
虽然文章没什么新意,更没有推导,作为民科 ,还是有责任搞清楚,大家是不是应该
平衡一下数据?
l*0
7 楼
OOM了就做
w*g
8 楼
别说网页上写的,就是课本上有证明的,也不可全信。
有没有用,其实说啥都没用,得试。
我见过的,比较标准的ML套路,training和testing都是90% negative,用
cross entropy或者accuracy评价,那么balance往往有害。但是有时候不是
标准的ML套路,而是比较关心对positive样本的评分,而且评分还需要比较
高的resolution/precision,这种情况下如果positive样本过少,resolution
就会低。这时候就需要oversample positive样本来认为提高resolution。
比如要对test sample进行排序。如果model输出全都<0.001,那排出来的顺序
就不会特别准确。这时候需要牺牲accuracy,增大model输出分数范围和分辨率,
提高ranking的准确性。这种情况往往在数据检索的时候出现比较多。极端情
况就是要在海量数据里找出相关数据并排序。还有一个情况必须oversample。
就是用CNN做segmentation,而positive region又很小的时候。如果直接
train, 啥都detect不出来。
。
了。
【在 m******r 的大作中提到】
: 这个理论我前几年为啥信了呢 ? 因为他说的是很常见的情况,我做的大部分项目,
: positive case都是百分之几,百分之一很多,千分之几的也有。 我看她说的头头是道
: ,当时我很傻很天真,就信了。
: 最近几年我不信了。因为最近几年看很多推导 恶补了数学基础 (民科也要不断学习嘛
: );发现正规教科书里面完全不提什么不平衡数据,推导都是‘普世价值‘,平衡也罢
: 不平衡也罢; 这些积分,求导都是永远成立的,不以人的意志为转移,也不以平不平
: 衡为转移。 更可笑的是,有的网页居然说在'平衡'的过程中, 要达到大约50%的状态
: 。这么说来,30%就不如40%, 40%就不如50% ? 这是闻所未闻的,至少没有理论基础。
: 而且, 如果平衡数据如此重要, stat 101早就应该把这一步写进data preparation了。
: 最近我又有点将信将疑了,因为看了一些知名网站,纷纷开始忽悠大家要做'平衡' ;
有没有用,其实说啥都没用,得试。
我见过的,比较标准的ML套路,training和testing都是90% negative,用
cross entropy或者accuracy评价,那么balance往往有害。但是有时候不是
标准的ML套路,而是比较关心对positive样本的评分,而且评分还需要比较
高的resolution/precision,这种情况下如果positive样本过少,resolution
就会低。这时候就需要oversample positive样本来认为提高resolution。
比如要对test sample进行排序。如果model输出全都<0.001,那排出来的顺序
就不会特别准确。这时候需要牺牲accuracy,增大model输出分数范围和分辨率,
提高ranking的准确性。这种情况往往在数据检索的时候出现比较多。极端情
况就是要在海量数据里找出相关数据并排序。还有一个情况必须oversample。
就是用CNN做segmentation,而positive region又很小的时候。如果直接
train, 啥都detect不出来。
。
了。
【在 m******r 的大作中提到】
: 这个理论我前几年为啥信了呢 ? 因为他说的是很常见的情况,我做的大部分项目,
: positive case都是百分之几,百分之一很多,千分之几的也有。 我看她说的头头是道
: ,当时我很傻很天真,就信了。
: 最近几年我不信了。因为最近几年看很多推导 恶补了数学基础 (民科也要不断学习嘛
: );发现正规教科书里面完全不提什么不平衡数据,推导都是‘普世价值‘,平衡也罢
: 不平衡也罢; 这些积分,求导都是永远成立的,不以人的意志为转移,也不以平不平
: 衡为转移。 更可笑的是,有的网页居然说在'平衡'的过程中, 要达到大约50%的状态
: 。这么说来,30%就不如40%, 40%就不如50% ? 这是闻所未闻的,至少没有理论基础。
: 而且, 如果平衡数据如此重要, stat 101早就应该把这一步写进data preparation了。
: 最近我又有点将信将疑了,因为看了一些知名网站,纷纷开始忽悠大家要做'平衡' ;
l*s
9 楼
总结下,要不要做平衡要看分析框架。
【在 w***g 的大作中提到】
: 别说网页上写的,就是课本上有证明的,也不可全信。
: 有没有用,其实说啥都没用,得试。
: 我见过的,比较标准的ML套路,training和testing都是90% negative,用
: cross entropy或者accuracy评价,那么balance往往有害。但是有时候不是
: 标准的ML套路,而是比较关心对positive样本的评分,而且评分还需要比较
: 高的resolution/precision,这种情况下如果positive样本过少,resolution
: 就会低。这时候就需要oversample positive样本来认为提高resolution。
: 比如要对test sample进行排序。如果model输出全都<0.001,那排出来的顺序
: 就不会特别准确。这时候需要牺牲accuracy,增大model输出分数范围和分辨率,
: 提高ranking的准确性。这种情况往往在数据检索的时候出现比较多。极端情
【在 w***g 的大作中提到】
: 别说网页上写的,就是课本上有证明的,也不可全信。
: 有没有用,其实说啥都没用,得试。
: 我见过的,比较标准的ML套路,training和testing都是90% negative,用
: cross entropy或者accuracy评价,那么balance往往有害。但是有时候不是
: 标准的ML套路,而是比较关心对positive样本的评分,而且评分还需要比较
: 高的resolution/precision,这种情况下如果positive样本过少,resolution
: 就会低。这时候就需要oversample positive样本来认为提高resolution。
: 比如要对test sample进行排序。如果model输出全都<0.001,那排出来的顺序
: 就不会特别准确。这时候需要牺牲accuracy,增大model输出分数范围和分辨率,
: 提高ranking的准确性。这种情况往往在数据检索的时候出现比较多。极端情
m*r
10 楼
从这个角度解释很make sense. 很convincing.
今天我看那个https://www.analyticsvidhya.com/blog/2016/03/practical-guide-
deal-imbalanced-classification-problems/ 居然大言不惭地说:
‘’ML algorithms assume that the data set has balanced class distributions.
‘’
看了简直被气昏掉了。
【在 w***g 的大作中提到】
: 别说网页上写的,就是课本上有证明的,也不可全信。
: 有没有用,其实说啥都没用,得试。
: 我见过的,比较标准的ML套路,training和testing都是90% negative,用
: cross entropy或者accuracy评价,那么balance往往有害。但是有时候不是
: 标准的ML套路,而是比较关心对positive样本的评分,而且评分还需要比较
: 高的resolution/precision,这种情况下如果positive样本过少,resolution
: 就会低。这时候就需要oversample positive样本来认为提高resolution。
: 比如要对test sample进行排序。如果model输出全都<0.001,那排出来的顺序
: 就不会特别准确。这时候需要牺牲accuracy,增大model输出分数范围和分辨率,
: 提高ranking的准确性。这种情况往往在数据检索的时候出现比较多。极端情
今天我看那个https://www.analyticsvidhya.com/blog/2016/03/practical-guide-
deal-imbalanced-classification-problems/ 居然大言不惭地说:
‘’ML algorithms assume that the data set has balanced class distributions.
‘’
看了简直被气昏掉了。
【在 w***g 的大作中提到】
: 别说网页上写的,就是课本上有证明的,也不可全信。
: 有没有用,其实说啥都没用,得试。
: 我见过的,比较标准的ML套路,training和testing都是90% negative,用
: cross entropy或者accuracy评价,那么balance往往有害。但是有时候不是
: 标准的ML套路,而是比较关心对positive样本的评分,而且评分还需要比较
: 高的resolution/precision,这种情况下如果positive样本过少,resolution
: 就会低。这时候就需要oversample positive样本来认为提高resolution。
: 比如要对test sample进行排序。如果model输出全都<0.001,那排出来的顺序
: 就不会特别准确。这时候需要牺牲accuracy,增大model输出分数范围和分辨率,
: 提高ranking的准确性。这种情况往往在数据检索的时候出现比较多。极端情
F*n
11 楼
一个简单的rule, 如果牵涉到类似confidence interval, 别做balance, 做了也要想办
法矫正(如使用一些加权的方法,有时候还挺复杂)。如果只看classification
results (e.g., prediction), 最好做,因为可以提高效率。
一般来说,rebalance 改变的是sample的概率,对很多方法而言,这不会bias
prediction但是会bias standard errors.
【在 m******r 的大作中提到】
: 求问, 对于高度不平衡数据(highly imbalanced data),有的人说做,有的人说不做
: 。
: 公说公有理婆说婆有理;各有各的理;
: 我一开始信了这套理论,后来不信了,现在则是半信半疑。
: 请问大家在实践中是怎么处理的?
法矫正(如使用一些加权的方法,有时候还挺复杂)。如果只看classification
results (e.g., prediction), 最好做,因为可以提高效率。
一般来说,rebalance 改变的是sample的概率,对很多方法而言,这不会bias
prediction但是会bias standard errors.
【在 m******r 的大作中提到】
: 求问, 对于高度不平衡数据(highly imbalanced data),有的人说做,有的人说不做
: 。
: 公说公有理婆说婆有理;各有各的理;
: 我一开始信了这套理论,后来不信了,现在则是半信半疑。
: 请问大家在实践中是怎么处理的?
d*c
13 楼
一看就是印度人搞的网站,你也看?看看about,看看作者什么背景。
distributions.
【在 m******r 的大作中提到】
: 从这个角度解释很make sense. 很convincing.
: 今天我看那个https://www.analyticsvidhya.com/blog/2016/03/practical-guide-
: deal-imbalanced-classification-problems/ 居然大言不惭地说:
: ‘’ML algorithms assume that the data set has balanced class distributions.
: ‘’
: 看了简直被气昏掉了。
distributions.
【在 m******r 的大作中提到】
: 从这个角度解释很make sense. 很convincing.
: 今天我看那个https://www.analyticsvidhya.com/blog/2016/03/practical-guide-
: deal-imbalanced-classification-problems/ 居然大言不惭地说:
: ‘’ML algorithms assume that the data set has balanced class distributions.
: ‘’
: 看了简直被气昏掉了。
v*e
14 楼
看到你们讨论的这些,我想起了了以前学习的电子信号处理理论。古代的信号处理方法
,一般都有一个预先处理的过程叫做“equalization”,中文叫做“均衡化”的。比如
收到的信号有的很强,有的很弱,就把强的衰减,弱的放大,使得下级处理的时候输入
信号幅度差不多。这个主要原因可能是下级能够处理的信号范围有限,幅度太大会消波
失真,幅度太小就超出处理能力,所以需要均衡化。
可是后来的处理方法,一般就没有这个过程,主要原因有两个,一个是下级能够处理的
信号范围大了,一个是,信息论推导出最好的处理是“匹配滤波器”,信号强了就给
大的权重,信号弱了就给小的权重,(注意,和equalization理念完全相反),这才符
合信息论,得到最佳结果。因为信号强了信噪比就大,带的信息就多。
你们讨论的这个东西,如果下级处理不能对付大范围波动的输入,那么就需要
balancing/equalization。如果下级处理能够对付,而且对信号输入信息量进行优化,
那么就不需要“平衡”。
另外对年轻人一点不满,搞一个新东西不要老是发明新名词,把前人几百年的工作都放
在一边。那balancing,其实就是equalization吧。
,一般都有一个预先处理的过程叫做“equalization”,中文叫做“均衡化”的。比如
收到的信号有的很强,有的很弱,就把强的衰减,弱的放大,使得下级处理的时候输入
信号幅度差不多。这个主要原因可能是下级能够处理的信号范围有限,幅度太大会消波
失真,幅度太小就超出处理能力,所以需要均衡化。
可是后来的处理方法,一般就没有这个过程,主要原因有两个,一个是下级能够处理的
信号范围大了,一个是,信息论推导出最好的处理是“匹配滤波器”,信号强了就给
大的权重,信号弱了就给小的权重,(注意,和equalization理念完全相反),这才符
合信息论,得到最佳结果。因为信号强了信噪比就大,带的信息就多。
你们讨论的这个东西,如果下级处理不能对付大范围波动的输入,那么就需要
balancing/equalization。如果下级处理能够对付,而且对信号输入信息量进行优化,
那么就不需要“平衡”。
另外对年轻人一点不满,搞一个新东西不要老是发明新名词,把前人几百年的工作都放
在一边。那balancing,其实就是equalization吧。
m*r
16 楼
感谢答疑。
昨天我明白了,今天早上又忽然想到一个问题。
按照'得失论'(trade_off), 做balance以后,得到的是resolution/precision(分辨率/
精确度), 那失去的是什么? 难道是recall rate? 还是别的什么?
【在 w***g 的大作中提到】
: 别说网页上写的,就是课本上有证明的,也不可全信。
: 有没有用,其实说啥都没用,得试。
: 我见过的,比较标准的ML套路,training和testing都是90% negative,用
: cross entropy或者accuracy评价,那么balance往往有害。但是有时候不是
: 标准的ML套路,而是比较关心对positive样本的评分,而且评分还需要比较
: 高的resolution/precision,这种情况下如果positive样本过少,resolution
: 就会低。这时候就需要oversample positive样本来认为提高resolution。
: 比如要对test sample进行排序。如果model输出全都<0.001,那排出来的顺序
: 就不会特别准确。这时候需要牺牲accuracy,增大model输出分数范围和分辨率,
: 提高ranking的准确性。这种情况往往在数据检索的时候出现比较多。极端情
昨天我明白了,今天早上又忽然想到一个问题。
按照'得失论'(trade_off), 做balance以后,得到的是resolution/precision(分辨率/
精确度), 那失去的是什么? 难道是recall rate? 还是别的什么?
【在 w***g 的大作中提到】
: 别说网页上写的,就是课本上有证明的,也不可全信。
: 有没有用,其实说啥都没用,得试。
: 我见过的,比较标准的ML套路,training和testing都是90% negative,用
: cross entropy或者accuracy评价,那么balance往往有害。但是有时候不是
: 标准的ML套路,而是比较关心对positive样本的评分,而且评分还需要比较
: 高的resolution/precision,这种情况下如果positive样本过少,resolution
: 就会低。这时候就需要oversample positive样本来认为提高resolution。
: 比如要对test sample进行排序。如果model输出全都<0.001,那排出来的顺序
: 就不会特别准确。这时候需要牺牲accuracy,增大model输出分数范围和分辨率,
: 提高ranking的准确性。这种情况往往在数据检索的时候出现比较多。极端情
w*m
18 楼
smote
x*4
19 楼
equalization和balance是完全不同的概念。
【在 v*******e 的大作中提到】
: 看到你们讨论的这些,我想起了了以前学习的电子信号处理理论。古代的信号处理方法
: ,一般都有一个预先处理的过程叫做“equalization”,中文叫做“均衡化”的。比如
: 收到的信号有的很强,有的很弱,就把强的衰减,弱的放大,使得下级处理的时候输入
: 信号幅度差不多。这个主要原因可能是下级能够处理的信号范围有限,幅度太大会消波
: 失真,幅度太小就超出处理能力,所以需要均衡化。
: 可是后来的处理方法,一般就没有这个过程,主要原因有两个,一个是下级能够处理的
: 信号范围大了,一个是,信息论推导出最好的处理是“匹配滤波器”,信号强了就给
: 大的权重,信号弱了就给小的权重,(注意,和equalization理念完全相反),这才符
: 合信息论,得到最佳结果。因为信号强了信噪比就大,带的信息就多。
: 你们讨论的这个东西,如果下级处理不能对付大范围波动的输入,那么就需要
【在 v*******e 的大作中提到】
: 看到你们讨论的这些,我想起了了以前学习的电子信号处理理论。古代的信号处理方法
: ,一般都有一个预先处理的过程叫做“equalization”,中文叫做“均衡化”的。比如
: 收到的信号有的很强,有的很弱,就把强的衰减,弱的放大,使得下级处理的时候输入
: 信号幅度差不多。这个主要原因可能是下级能够处理的信号范围有限,幅度太大会消波
: 失真,幅度太小就超出处理能力,所以需要均衡化。
: 可是后来的处理方法,一般就没有这个过程,主要原因有两个,一个是下级能够处理的
: 信号范围大了,一个是,信息论推导出最好的处理是“匹配滤波器”,信号强了就给
: 大的权重,信号弱了就给小的权重,(注意,和equalization理念完全相反),这才符
: 合信息论,得到最佳结果。因为信号强了信噪比就大,带的信息就多。
: 你们讨论的这个东西,如果下级处理不能对付大范围波动的输入,那么就需要
w*g
20 楼
我文中提了,一般牺牲的就是accuracy。比如99%都是negative的,其实如果
做不准就是应该全都predict成0 accuracy最高。xgboost里经常能训练出来
全是0的model。但是那样对positive的recall就是0。Balance了以后能提高
recall,但是accuracy就会降低。
实际dataset可能会不一样。
率/
【在 m******r 的大作中提到】
: 感谢答疑。
: 昨天我明白了,今天早上又忽然想到一个问题。
: 按照'得失论'(trade_off), 做balance以后,得到的是resolution/precision(分辨率/
: 精确度), 那失去的是什么? 难道是recall rate? 还是别的什么?
做不准就是应该全都predict成0 accuracy最高。xgboost里经常能训练出来
全是0的model。但是那样对positive的recall就是0。Balance了以后能提高
recall,但是accuracy就会降低。
实际dataset可能会不一样。
率/
【在 m******r 的大作中提到】
: 感谢答疑。
: 昨天我明白了,今天早上又忽然想到一个问题。
: 按照'得失论'(trade_off), 做balance以后,得到的是resolution/precision(分辨率/
: 精确度), 那失去的是什么? 难道是recall rate? 还是别的什么?
d*n
22 楼
平衡第一点考虑的就是training和test做出来的效果差不多啊。另外就是收敛速度上的
考虑。
考虑。
E*e
24 楼
制药里边positive 的case 就是1% 或 0.1%。 这种情况就是要考虑怎么处理不平衡。
否则你得到的一些metric 是没有意义的。 比如 error rate。 无论你的model 多好,
你的error rate 总是能达到99%。 事实是你的positive case 也许没有有效的
discriminated。 样品要是很大话, 就要under sampling majority, psitive和
negative 配比接近 1:1. 但是要在最后用population 的 比例进行修正。 至于50% 还
是3%, 这些都是正常平衡的。
。
了。
【在 m******r 的大作中提到】
: 这个理论我前几年为啥信了呢 ? 因为他说的是很常见的情况,我做的大部分项目,
: positive case都是百分之几,百分之一很多,千分之几的也有。 我看她说的头头是道
: ,当时我很傻很天真,就信了。
: 最近几年我不信了。因为最近几年看很多推导 恶补了数学基础 (民科也要不断学习嘛
: );发现正规教科书里面完全不提什么不平衡数据,推导都是‘普世价值‘,平衡也罢
: 不平衡也罢; 这些积分,求导都是永远成立的,不以人的意志为转移,也不以平不平
: 衡为转移。 更可笑的是,有的网页居然说在'平衡'的过程中, 要达到大约50%的状态
: 。这么说来,30%就不如40%, 40%就不如50% ? 这是闻所未闻的,至少没有理论基础。
: 而且, 如果平衡数据如此重要, stat 101早就应该把这一步写进data preparation了。
: 最近我又有点将信将疑了,因为看了一些知名网站,纷纷开始忽悠大家要做'平衡' ;
否则你得到的一些metric 是没有意义的。 比如 error rate。 无论你的model 多好,
你的error rate 总是能达到99%。 事实是你的positive case 也许没有有效的
discriminated。 样品要是很大话, 就要under sampling majority, psitive和
negative 配比接近 1:1. 但是要在最后用population 的 比例进行修正。 至于50% 还
是3%, 这些都是正常平衡的。
。
了。
【在 m******r 的大作中提到】
: 这个理论我前几年为啥信了呢 ? 因为他说的是很常见的情况,我做的大部分项目,
: positive case都是百分之几,百分之一很多,千分之几的也有。 我看她说的头头是道
: ,当时我很傻很天真,就信了。
: 最近几年我不信了。因为最近几年看很多推导 恶补了数学基础 (民科也要不断学习嘛
: );发现正规教科书里面完全不提什么不平衡数据,推导都是‘普世价值‘,平衡也罢
: 不平衡也罢; 这些积分,求导都是永远成立的,不以人的意志为转移,也不以平不平
: 衡为转移。 更可笑的是,有的网页居然说在'平衡'的过程中, 要达到大约50%的状态
: 。这么说来,30%就不如40%, 40%就不如50% ? 这是闻所未闻的,至少没有理论基础。
: 而且, 如果平衡数据如此重要, stat 101早就应该把这一步写进data preparation了。
: 最近我又有点将信将疑了,因为看了一些知名网站,纷纷开始忽悠大家要做'平衡' ;
相关阅读
收到BIT's 4th Annual World Congress of BioSoft-2012的邀请大家看这个位置值得回去吗?(更新)人生的第一个百万ChIP-seq on H3K4me3怎样对待这样的老板?calcein-am staining请教一下Cell & Bioscience 是个什么样的期刊?问 一个lentivirus的问题看了rocketsman兄的贴,关于转行,我的感慨和困惑关于alternative splicingpaper help 包子酬谢!H1签证两年绿了?capture antibody和detection antibody必须是不同的clone吗?海龟记里老张工资写高了。。。Where to Buy Arabidopsis Promoter Array?lentivirus实验请教Breakingnews: Authorship dispute over Yamanak's 2006 iPS cell paper:))我这个凤凰生物千老 WSN的幸福生活ztbrain punches & RNA isolation 请教SFN. Neuroscience Conference 有一起参加的朋友吗