由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 高度不平衡数据,你们做所谓‘平衡’数据这个步骤吗?
相关主题
Comments about OOM killer, for fun only :)tinyurl 是怎么做到同一个long url两次得到相同的short url
C10M 练习 step 1: 10M socketsvs2013解释不了template, internal error 了, 哈哈
令人尴尬的Senior Software Engineer面试 (转载)以后web公司招人的方向是不是都是全栈程序员
根据调研以及好虫建议大牛能不能介绍一下cloud-based的文件管理的技术要点和趋势?
说scala好的进来看看如何利用正则表达式提取如下字符串的前两段?
一个关于big data 系统架构的设计问题Perl 问题 (updated)
请推荐一下C#进阶书籍?IIS7.5 大于 64KB 文件不能下载 ? (转载)
求大牛指导这道题。结果是什么?推荐一个C++ restful框架
相关话题的讨论汇总
话题: 平衡话题: 数据话题: positive话题: 处理话题: imbalanced
进入Programming版参与讨论
1 (共1页)
m******r
发帖数: 1033
1
求问, 对于高度不平衡数据(highly imbalanced data),有的人说做,有的人说不做

公说公有理婆说婆有理;各有各的理;
我一开始信了这套理论,后来不信了,现在则是半信半疑。
请问大家在实践中是怎么处理的?
m******r
发帖数: 1033
2
这个理论我前几年为啥信了呢 ? 因为他说的是很常见的情况,我做的大部分项目,
positive case都是百分之几,百分之一很多,千分之几的也有。 我看她说的头头是道
,当时我很傻很天真,就信了。
最近几年我不信了。因为最近几年看很多推导 恶补了数学基础 (民科也要不断学习嘛
);发现正规教科书里面完全不提什么不平衡数据,推导都是‘普世价值‘,平衡也罢
不平衡也罢; 这些积分,求导都是永远成立的,不以人的意志为转移,也不以平不平
衡为转移。 更可笑的是,有的网页居然说在'平衡'的过程中, 要达到大约50%的状态
。这么说来,30%就不如40%, 40%就不如50% ? 这是闻所未闻的,至少没有理论基础。
而且, 如果平衡数据如此重要, stat 101早就应该把这一步写进data preparation了。
最近我又有点将信将疑了,因为看了一些知名网站,纷纷开始忽悠大家要做'平衡' ;
虽然文章没什么新意,更没有推导,作为民科 ,还是有责任搞清楚,大家是不是应该
平衡一下数据?
l**********0
发帖数: 150
3
OOM了就做
w***g
发帖数: 5958
4
别说网页上写的,就是课本上有证明的,也不可全信。
有没有用,其实说啥都没用,得试。
我见过的,比较标准的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
发帖数: 5409
5
总结下,要不要做平衡要看分析框架。

【在 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
发帖数: 1033
6
从这个角度解释很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的准确性。这种情况往往在数据检索的时候出现比较多。极端情

F****n
发帖数: 3271
7
一个简单的rule, 如果牵涉到类似confidence interval, 别做balance, 做了也要想办
法矫正(如使用一些加权的方法,有时候还挺复杂)。如果只看classification
results (e.g., prediction), 最好做,因为可以提高效率。
一般来说,rebalance 改变的是sample的概率,对很多方法而言,这不会bias
prediction但是会bias standard errors.

【在 m******r 的大作中提到】
: 求问, 对于高度不平衡数据(highly imbalanced data),有的人说做,有的人说不做
: 。
: 公说公有理婆说婆有理;各有各的理;
: 我一开始信了这套理论,后来不信了,现在则是半信半疑。
: 请问大家在实践中是怎么处理的?

m****o
发帖数: 182
8
imbalanced learning实际不是很靠谱,但是cost sensitive learning对提高
precision还是挺有用的。

【在 m******r 的大作中提到】
: 求问, 对于高度不平衡数据(highly imbalanced data),有的人说做,有的人说不做
: 。
: 公说公有理婆说婆有理;各有各的理;
: 我一开始信了这套理论,后来不信了,现在则是半信半疑。
: 请问大家在实践中是怎么处理的?

d******c
发帖数: 2407
9
一看就是印度人搞的网站,你也看?看看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.
: ‘’
: 看了简直被气昏掉了。

v*******e
发帖数: 11604
10
看到你们讨论的这些,我想起了了以前学习的电子信号处理理论。古代的信号处理方法
,一般都有一个预先处理的过程叫做“equalization”,中文叫做“均衡化”的。比如
收到的信号有的很强,有的很弱,就把强的衰减,弱的放大,使得下级处理的时候输入
信号幅度差不多。这个主要原因可能是下级能够处理的信号范围有限,幅度太大会消波
失真,幅度太小就超出处理能力,所以需要均衡化。
可是后来的处理方法,一般就没有这个过程,主要原因有两个,一个是下级能够处理的
信号范围大了,一个是,信息论推导出最好的处理是“匹配滤波器”,信号强了就给
大的权重,信号弱了就给小的权重,(注意,和equalization理念完全相反),这才符
合信息论,得到最佳结果。因为信号强了信噪比就大,带的信息就多。
你们讨论的这个东西,如果下级处理不能对付大范围波动的输入,那么就需要
balancing/equalization。如果下级处理能够对付,而且对信号输入信息量进行优化,
那么就不需要“平衡”。
另外对年轻人一点不满,搞一个新东西不要老是发明新名词,把前人几百年的工作都放
在一边。那balancing,其实就是equalization吧。
相关主题
一个关于big data 系统架构的设计问题tinyurl 是怎么做到同一个long url两次得到相同的short url
请推荐一下C#进阶书籍?vs2013解释不了template, internal error 了, 哈哈
求大牛指导这道题。结果是什么?以后web公司招人的方向是不是都是全栈程序员
进入Programming版参与讨论
m******r
发帖数: 1033
11
确实是烙印的网站。 主要用来熟悉敌情使用。 知己知彼百战不殆。
老中的我也看。 这方面的专著是URI EE系一个中国人教授写的书,但里面就是纯希腊
文推导了,民科自认不是这块料研究这种学术专著。

【在 d******c 的大作中提到】
: 一看就是印度人搞的网站,你也看?看看about,看看作者什么背景。
:
: distributions.

m******r
发帖数: 1033
12
感谢答疑。
昨天我明白了,今天早上又忽然想到一个问题。
按照'得失论'(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的准确性。这种情况往往在数据检索的时候出现比较多。极端情

a********r
发帖数: 217
13
那是您老没做10000:1之类的imbalance,那个时候基本只能靠这些balance 办法提高准
确率和覆盖率了,否则结果惨不忍睹,例如电信欺诈中普通用户与欺诈者的比例。

【在 m******r 的大作中提到】
: 求问, 对于高度不平衡数据(highly imbalanced data),有的人说做,有的人说不做
: 。
: 公说公有理婆说婆有理;各有各的理;
: 我一开始信了这套理论,后来不信了,现在则是半信半疑。
: 请问大家在实践中是怎么处理的?

w********m
发帖数: 1137
14
smote
x***4
发帖数: 1815
15
equalization和balance是完全不同的概念。

【在 v*******e 的大作中提到】
: 看到你们讨论的这些,我想起了了以前学习的电子信号处理理论。古代的信号处理方法
: ,一般都有一个预先处理的过程叫做“equalization”,中文叫做“均衡化”的。比如
: 收到的信号有的很强,有的很弱,就把强的衰减,弱的放大,使得下级处理的时候输入
: 信号幅度差不多。这个主要原因可能是下级能够处理的信号范围有限,幅度太大会消波
: 失真,幅度太小就超出处理能力,所以需要均衡化。
: 可是后来的处理方法,一般就没有这个过程,主要原因有两个,一个是下级能够处理的
: 信号范围大了,一个是,信息论推导出最好的处理是“匹配滤波器”,信号强了就给
: 大的权重,信号弱了就给小的权重,(注意,和equalization理念完全相反),这才符
: 合信息论,得到最佳结果。因为信号强了信噪比就大,带的信息就多。
: 你们讨论的这个东西,如果下级处理不能对付大范围波动的输入,那么就需要

w***g
发帖数: 5958
16
我文中提了,一般牺牲的就是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? 还是别的什么?

m******r
发帖数: 1033
17
醍醐灌顶啊.

【在 w***g 的大作中提到】
: 我文中提了,一般牺牲的就是accuracy。比如99%都是negative的,其实如果
: 做不准就是应该全都predict成0 accuracy最高。xgboost里经常能训练出来
: 全是0的model。但是那样对positive的recall就是0。Balance了以后能提高
: recall,但是accuracy就会降低。
: 实际dataset可能会不一样。
:
: 率/

d****n
发帖数: 12461
18
平衡第一点考虑的就是training和test做出来的效果差不多啊。另外就是收敛速度上的
考虑。
L****8
发帖数: 3938
19
这种全0的啥意义都没有 比如说用于诊断疾病 图像分割

【在 w***g 的大作中提到】
: 我文中提了,一般牺牲的就是accuracy。比如99%都是negative的,其实如果
: 做不准就是应该全都predict成0 accuracy最高。xgboost里经常能训练出来
: 全是0的model。但是那样对positive的recall就是0。Balance了以后能提高
: recall,但是accuracy就会降低。
: 实际dataset可能会不一样。
:
: 率/

E**********e
发帖数: 1736
20
制药里边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了。
: 最近我又有点将信将疑了,因为看了一些知名网站,纷纷开始忽悠大家要做'平衡' ;

n******7
发帖数: 12463
21
有一些指标对data的分布不是很敏感
比如MCC,F-score, BER 等

率/

【在 m******r 的大作中提到】
: 感谢答疑。
: 昨天我明白了,今天早上又忽然想到一个问题。
: 按照'得失论'(trade_off), 做balance以后,得到的是resolution/precision(分辨率/
: 精确度), 那失去的是什么? 难道是recall rate? 还是别的什么?

1 (共1页)
进入Programming版参与讨论
相关主题
推荐一个C++ restful框架说scala好的进来看看
double转换int的问题一个关于big data 系统架构的设计问题
弱问mcc和mex的区别请推荐一下C#进阶书籍?
Is there anyone familiar with NTP Time Synchronization?求大牛指导这道题。结果是什么?
Comments about OOM killer, for fun only :)tinyurl 是怎么做到同一个long url两次得到相同的short url
C10M 练习 step 1: 10M socketsvs2013解释不了template, internal error 了, 哈哈
令人尴尬的Senior Software Engineer面试 (转载)以后web公司招人的方向是不是都是全栈程序员
根据调研以及好虫建议大牛能不能介绍一下cloud-based的文件管理的技术要点和趋势?
相关话题的讨论汇总
话题: 平衡话题: 数据话题: positive话题: 处理话题: imbalanced