24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2961  |  回复: 20
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

rainbowguy

银虫 (正式写手)

[求助] 支持向量机参数一定要归一化么?

如题,支持向量机参数一定要归一化么?如果归一化,如有三个参数(x1,x2,x3)的样本数据共1000行,是分别对参数x1、x2、x3中每列数据进行归一化,还是对每行数据(x1,x2,x3)进行归一化?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

rainbowguy

银虫 (正式写手)

rainbowguy: 回帖置顶 2012-05-21 14:26:33
我觉得归一化对于SVM还是很重要的。自己编写了一个SVM的程序,对没有归一化前的数据进行训练,很久没有达到KKT条件,导致运算时间过长而成了死循环;对数据归一化后,就没有出现这种问题了。同时,我觉得一些参数条件的设置也非常重要,比如kkt条件在程序中不能完全限定为y*f(x)==1,这样容易运算很长时间达不到条件要求而造成死循环;而是应该有一个范围 y*f(x)>1-r && y*f(x)<1+r, 其中0 请问各位大虾都有没有遇到这样的情况?都有哪些比较好的解决方法?谢谢了
7楼2012-05-21 14:26:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 21 个回答

zhangysu

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
rainbowguy: 金币+5, 有3组参数数据,对列归一就是只对每组参数中数据归一,对行归一就是每次对3个数据(x1,x2,x3)归一。 2012-05-21 14:17:35
rainbowguy: 金币+8, ★★★很有帮助 2012-06-06 14:48:13
不用,可以直接用。
当然也可以归一化。
不过你所说的对列还是行归一化,我不是很明白你的意思,不过我觉得应该是根据列进行归一化。
3楼2012-05-21 00:00:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mlanqiang

木虫之王 (文学泰斗)

蓝博士

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
rainbowguy: 金币+5 2012-05-21 14:17:44
感觉应该可以根据列进行归一吧。
蓝精灵
4楼2012-05-21 05:45:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
rainbowguy: 金币+7 2012-05-21 14:17:51
rainbowguy: 金币+10, ★★★很有帮助 2012-06-06 14:48:00
是否要归一化主要看两点:
1.输入的定义域/输出的值域是否在(0,1)?如果是,那么必须归一化;
2.有时候不同的输入/输出参数在数值上有数量级的差别,或者出现在函数的饱和(不敏感)区域,因此可能造成数值问题。这时候归一化有益于改善数值问题。
5楼2012-05-21 06:59:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见