avatar
c*1
2
刚刚转入data science不到两个月,所知甚少,如果有大牛觉得我的问题太过白痴,请
见谅!
这几天在做一个project,有了两个发现,也算是问题,在此分享,希望版上各位同仁
大牛能够解答。
(1)用Radial SVM做classification,一开始忘了normalization(数据的scale差异极
大,有的在0-1波动,有的超过1000,的确有这个必要),赶紧perform normalization
后发现accuracy,sensitivity, kappa这些metric基本没有significant improvement (
平均就增加了0.05左右)。不知道这是为何?
(2)Andrew Ng在他的cousera lecture vedio里说如果number of training samples
is intermediate compared to the number of features (他说的范围是指前者10-10
,000,后者1-1000),radial SVM要比linear SVM好。我的data set有99个obs, 20个
features,应该属于radial SVM表现较优的那个范围。但是,10-fold cross
validation的结果却显示linear SVM的各个accuracy metrics都要优于radial SVM.
我的想法是,在model和algorithm的选择上似乎并不存在一个rule of thumb,更多时候
是需要靠不断的实验来寻找最优的algorithm。不知道这个想法对不对?
avatar
M*X
3
0.49时有点晕~
avatar
m*s
4
我也是新手,随便说下,仅供参考。
normalizaton是为了提高model training的efficiency,并不直接影响train出来的
model的performance。
第二个我觉得确实是没有非常严格准确的选择model的方法,实践中还是要用cross
validation error rate这种来比较不同的model的好坏,而且即便是这样,也是有可能
某个model的training performance好过另一个,真正用起来却并不见得,取决于
training data是否有bias这些

normalization
(
samples
10

【在 c********1 的大作中提到】
: 刚刚转入data science不到两个月,所知甚少,如果有大牛觉得我的问题太过白痴,请
: 见谅!
: 这几天在做一个project,有了两个发现,也算是问题,在此分享,希望版上各位同仁
: 大牛能够解答。
: (1)用Radial SVM做classification,一开始忘了normalization(数据的scale差异极
: 大,有的在0-1波动,有的超过1000,的确有这个必要),赶紧perform normalization
: 后发现accuracy,sensitivity, kappa这些metric基本没有significant improvement (
: 平均就增加了0.05左右)。不知道这是为何?
: (2)Andrew Ng在他的cousera lecture vedio里说如果number of training samples
: is intermediate compared to the number of features (他说的范围是指前者10-10

avatar
a*7
5
是啊。。。都是随手拍的...呵呵

【在 M**X 的大作中提到】
: 0.49时有点晕~
avatar
s*l
6
..
avatar
d*d
7
喜欢整体淡淡的忧伤的感觉。
如果女主人出现的次数再多一些,故事感会更强吧。

..

【在 a*********7 的大作中提到】
: 素材都是去波士顿旅游时候随手拍的,手持所以很多都很抖。。。原本没考虑后期的..
: 只是想借此熟悉一下剪辑的程序。设备用的索尼奶昔5N,软件先用的是imovie11,下了
: 个fcp还没开始研究。
: 轻拍....
: Youtube: http://www.youtube.com/watch?v=4lTa6kljal4&context=C32c9127ADOEgsToPDskKpsEQnHOqen7ePyn-bRmeu
: Youku: http://v.youku.com/v_show/id_XMzQzNDIxNDYw.html

avatar
w*2
8
我试着来回答一下:
(1)用Radial SVM做classification,一开始忘了normalization(数据的scale差异极
大,有的在0-1波动,有的超过1000,的确有这个必要),赶紧perform normalization
后发现accuracy,sensitivity, kappa这些metric基本没有significant improvement (
平均就增加了0.05左右)。不知道这是为何?
The kernel's in SVM makes computation in high dimension more convenient.
Depends on how it maps to the higher dimension, if it is Radial, it follows
the Gaussian distribution so there is the flavor of standardization in there
. Besides, your regularization C also controls how much weight gives to each
features. Tweak the gamma and C first and then test using Linear Kernel,
there might be some difference.
Based on my limited experience, by tuning hyper parameters, I only get maybe
2% increase in accuracy. Totally not worth the time of doing it. Even for k
-nearest neighbors, sometimes normalization doesn't really help that much.
But just to follow the standards of machine learning procedure, I still
recommend you to normalize for the following algs: SVM, Logistic, Linear,
and KNN.
avatar
w*2
9
(2)Andrew Ng在他的cousera lecture vedio里说如果number of training samples
is intermediate compared to the number of features (他说的范围是指前者10-10
,000,后者1-1000),radial SVM要比linear SVM好。我的data set有99个obs, 20个
features,应该属于radial SVM表现较优的那个范围。但是,10-fold cross
validation的结果却显示linear SVM的各个accuracy metrics都要优于radial SVM.
Your dataset is actually very small. I wouldn't consider SVM, maybe Naive
Bayes, LASSO and Ridge. Logistic needs at least 50 data points per feature (
not appropriate here).
The reason is your dataset might be close to linearly separable so there is
no need to map it to a higher dimension. If so, it is not a surprised that
LinearSVM outperforms RBF kernel. I am not sure the curse of dimensionality
has anything to do with this.
avatar
c*1
10
Your answer is very helpful! Thank you so much!

samples
10
(
is

【在 w**2 的大作中提到】
: (2)Andrew Ng在他的cousera lecture vedio里说如果number of training samples
: is intermediate compared to the number of features (他说的范围是指前者10-10
: ,000,后者1-1000),radial SVM要比linear SVM好。我的data set有99个obs, 20个
: features,应该属于radial SVM表现较优的那个范围。但是,10-fold cross
: validation的结果却显示linear SVM的各个accuracy metrics都要优于radial SVM.
: Your dataset is actually very small. I wouldn't consider SVM, maybe Naive
: Bayes, LASSO and Ridge. Logistic needs at least 50 data points per feature (
: not appropriate here).
: The reason is your dataset might be close to linearly separable so there is
: no need to map it to a higher dimension. If so, it is not a surprised that

avatar
w*2
11
我也刚刚入门不久,不会的太多了。互勉吧。
avatar
h*3
12
1) normalization是因为regularizer是||w||^2是加相同的penalty到每个维度上。如
果你的feature的值范围差别很大,同样的regularizer,对于值范围大的feature就有
更大的penalty,而值小的feature就有较小的penalty,这个显然是不公平的。
2) 选择kernel function的问题上,从来就没有定论谁更好,谁更差,都是要看具体的
数据。
你选择高斯radial kernel,其中还有个smooth的参数呢。这个参数取多少,对结果影
响也很大,你确定你取了最好的哪个smooth参数了吗?
3) 你最后的想法是没错的。很多时候就是要跑各种实验,根据具体数据选个好的model。

normalization
(
samples
10

【在 c********1 的大作中提到】
: 刚刚转入data science不到两个月,所知甚少,如果有大牛觉得我的问题太过白痴,请
: 见谅!
: 这几天在做一个project,有了两个发现,也算是问题,在此分享,希望版上各位同仁
: 大牛能够解答。
: (1)用Radial SVM做classification,一开始忘了normalization(数据的scale差异极
: 大,有的在0-1波动,有的超过1000,的确有这个必要),赶紧perform normalization
: 后发现accuracy,sensitivity, kappa这些metric基本没有significant improvement (
: 平均就增加了0.05左右)。不知道这是为何?
: (2)Andrew Ng在他的cousera lecture vedio里说如果number of training samples
: is intermediate compared to the number of features (他说的范围是指前者10-10

avatar
c*1
13
谢谢大神的回复。
1)我不太明白。w是fitted之后的系数吧,值范围大的feature为何有更大的
penalty?换句话说,值范围大的feature相对应的w(i)为何会较大?
2) You make a really good point. 我之前没有意识到sigma(就是smooth参数)的选
取。重新run了一下我的代码,发现R的train()function直接给sigma赋了一个来路不明
的constant value。I would look deep into it.

model。

【在 h********3 的大作中提到】
: 1) normalization是因为regularizer是||w||^2是加相同的penalty到每个维度上。如
: 果你的feature的值范围差别很大,同样的regularizer,对于值范围大的feature就有
: 更大的penalty,而值小的feature就有较小的penalty,这个显然是不公平的。
: 2) 选择kernel function的问题上,从来就没有定论谁更好,谁更差,都是要看具体的
: 数据。
: 你选择高斯radial kernel,其中还有个smooth的参数呢。这个参数取多少,对结果影
: 响也很大,你确定你取了最好的哪个smooth参数了吗?
: 3) 你最后的想法是没错的。很多时候就是要跑各种实验,根据具体数据选个好的model。
:
: normalization

avatar
h*3
14
1) 刚才说反了。如果一个维度上的x_i范围比较大,对应学出来的w_i的绝对值应该比
较小。因
为w_i稍微改变一点点,就足以改变整个f(x)的正负了。 如果一个维度上的x_j范围比
较小,学习过程中w_j要变化比较大,才能改变f(x)的正负。svm要最小化的||w||^2是
所有维度上的w系数的平方和,对于w_i和w_j的压制能力都是一样的。这样,w_i和w_j
在学习过程就处于不公平的赛跑了。

【在 c********1 的大作中提到】
: 谢谢大神的回复。
: 1)我不太明白。w是fitted之后的系数吧,值范围大的feature为何有更大的
: penalty?换句话说,值范围大的feature相对应的w(i)为何会较大?
: 2) You make a really good point. 我之前没有意识到sigma(就是smooth参数)的选
: 取。重新run了一下我的代码,发现R的train()function直接给sigma赋了一个来路不明
: 的constant value。I would look deep into it.
:
: model。

avatar
I*y
15
mark这个。学习
avatar
s*7
16
第二个问题
svm 用 rbf kernel 时候最好grid search + cross validation 来optimize一下gamma
参数(libsvm里面有一个比较好的参数区间),不同的参数的差别还是很大的
avatar
c*1
17
再次感谢各位前辈和大神的意见!
avatar
l*g
18
外行问一句,99个obs, 20个features真能发现什么有价值的东西?现在的科技发达到
这个地步了?
avatar
d*e
19
99obs 20features是用来学习用的toy data,不在乎能发现什么真有价值的东西。
而是帮助你理解你在学习的方法。

【在 l*********g 的大作中提到】
: 外行问一句,99个obs, 20个features真能发现什么有价值的东西?现在的科技发达到
: 这个地步了?

avatar
l*g
20
他说是工作中的project,怎么你说是学习用的toy。

【在 d******e 的大作中提到】
: 99obs 20features是用来学习用的toy data,不在乎能发现什么真有价值的东西。
: 而是帮助你理解你在学习的方法。

avatar
c*1
21
这个project涉及到的对象比较特殊,数据很难获取,所以就只有99个(后来又拿到了
100个)。不过用这99个样本的确就得到了一些比较清晰的结论,像是那些feature对
response有显著影响。

【在 l*********g 的大作中提到】
: 外行问一句,99个obs, 20个features真能发现什么有价值的东西?现在的科技发达到
: 这个地步了?

avatar
l*g
22
这些简单的东西不能从common sense中得出来么?一定要用SVM么?

【在 c********1 的大作中提到】
: 这个project涉及到的对象比较特殊,数据很难获取,所以就只有99个(后来又拿到了
: 100个)。不过用这99个样本的确就得到了一些比较清晰的结论,像是那些feature对
: response有显著影响。

avatar
c*1
23
您说的一点没错,这也是我的疑惑之一。可是我老板和客户都要求先用各种算法把数据
跑一遍看结果。我问过一些业内人士,他们都觉得,只要写代码和跑数据的时间金钱成
本不高是可以这么做的。而且很多时候所谓的common sense不一定正确。
另外更正一下,抱歉我之前没说清楚:我们使用bivariate analysis来进行feature
selection,之后再apply SVM to make prediction.

【在 l*********g 的大作中提到】
: 这些简单的东西不能从common sense中得出来么?一定要用SVM么?
avatar
l*g
24
多谢解释。我也是比较困惑。如果是验证hypothesis我也能接受。

【在 c********1 的大作中提到】
: 您说的一点没错,这也是我的疑惑之一。可是我老板和客户都要求先用各种算法把数据
: 跑一遍看结果。我问过一些业内人士,他们都觉得,只要写代码和跑数据的时间金钱成
: 本不高是可以这么做的。而且很多时候所谓的common sense不一定正确。
: 另外更正一下,抱歉我之前没说清楚:我们使用bivariate analysis来进行feature
: selection,之后再apply SVM to make prediction.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。