博主,能不能写下关于SMO算法啊,详细通俗易懂点的,谢谢
re: SVM入门(八)松弛变量 jf 2009-06-30 22:39
高境界,上档次,真正理解了,谢谢。
re: SVM入门(十)将SVM用于多类分类 lyld3618 2009-06-29 11:03
一口气读完,真是太过瘾了!博主如果是老师,那么必定是位极受学生欢迎的老师。如果你不是老师,那就太可惜了。。。
期待你的更多力作!!!
太谢谢你啦~刚开始接触SVM什么都不懂。谢谢你的文章!
想请问一下,那新的待分类的文本的权重如何确定?也是和训练文本一样?重新TFIDF来计算?
re: 我在科院这两年[未登录] lg 2009-06-13 09:13
楼主还有才,能加我好友吗
qq:16182016,邮箱lg2578@qq.com
re: 又晒自己的设计[未登录] lg 2009-06-13 09:03
太牛了。全才啊
@Jasper
谢谢。
恩,我前面也发现了应该是这个原因,甚至直接把data文件设为环境变量都不行。最后把data放在eclipse的安装目录下才可以。有办法修改这默认资源路径么?
@tttt
请注意,本地的Application可以找到的资源,在Web服务器中未必找得到,所以请试着把ICTCLAS的词典文件(也就是Data文件夹)放在正确的位置才可以。
jsp传的字符串是正确的,即使直接用新建的字符串,还是会出现同样的问题。同样的使用java application 运行又是没问题。
我用这个在本地是可以使用的,可是在建立web project的时候就会出错。在这一句时SegResult sr = st.split(input);
java.lang.NullPointerException
at org.ictclas4j.bean.Dictionary.getMaxMatch(Dictionary.java:571)
at org.ictclas4j.segment.GraphGenerate.generate(GraphGenerate.java:93)
at org.ictclas4j.segment.SegTag.split(SegTag.java:63)
@radar
准确的说,计算权重是为了能给每篇文章一个"唯一"的身份,就跟计算指纹不是为了得到指纹数据本身,而是为了得到唯一性一样.我们需要一种指标,这种指标能让计算机"看到"不同的两篇文章确实不同,并且知道不同在哪里.只有能看到这种不同,计算机才能看出同类文章相似在哪里.如果有一种指标,它衡量每篇文章时结果都一样,显然程序没法在这种数据基础上学习分类的.因此形成向量表示实际是一个中间目的,终极的目的是为了让文章之间看上去彼此不同,并且这种不同有所依据.
特征选择是降维,减少文本特征的数量,去掉冗余信息量。特征权重计算的权重只是为了向量表示吗?对后面的文本分类算法起到什么作用了?
博主你好,看了你的文本特征选择的文章,学到很多东西。我尝试做了一些实验。
在用开方检验的方法进行特征选择,用LIBSVM进行分类,训练数据和测试数据的accuracy是达到90%以上。但用信息增益的方法,得到模型时,训练数据最好的结果都是90%上,但测试数据的结果却是60%左右。我所用的数据是北大分类语料和SOGOU的语料。
博主,我想问问,会有这么大差距,还是我的IG算错了?
re: SVM入门(十)将SVM用于多类分类 康桥阳光 2009-05-31 17:34
博主能不能谈谈SVM如何解决非平衡数据分类问题?期待中。。。。。。
非常好,希望在文本挖掘方面有更多的类似的介绍,谢谢!
re: SVM入门(十)将SVM用于多类分类 clear 2009-05-29 12:00
谢谢哦,深入浅出,很好呢!
看了博主的这一系列文章,感觉收获还是挺大的。只是线性分类器的求解好像还没有讲完吧? 最终是怎么转化的呢?
re: SVM入门(九)松弛变量(续) 康桥阳光 2009-05-26 16:07
能否请博主谈谈对核函数选择方面的思考,谢谢!
re: 勘误 康桥阳光 2009-05-25 11:11
博主太谦虚了!古诘云:暇不掩玉。更何况博主还这样周到与细致!谢谢博主!
re: SVM入门(九)松弛变量(续) 康桥阳光 2009-05-24 18:54
感谢博主幽默的文笔,深入浅出的学术.读来令我受益非浅!
re: 又怠慢了 康桥阳光 2009-05-24 18:02
期待着博主的高文发表!呵呵
re: SVM入门(八)松弛变量 windwalker 2009-05-10 21:50
赞,写的不错
真的,看那些晦涩的论文,我也没怎么产生过佩服的心情,但是,博主真是太强了,这才是真正的学者呢。
re: SVM入门(十)将SVM用于多类分类 lixincome 2009-05-05 18:25
如果教材写成你这样就好了。
学习就应该是这样快乐的学习。
谢谢你的文章,期期必看
期待
re: SVM入门(八)松弛变量 lixincome 2009-05-05 17:42
按你的思路继续,
这比看天书教材好多了,通俗易懂,深入浅出
re: SVM入门(一)SVM的八股简介 lixincome 2009-05-05 15:02
very good
如果说权重不是重要度,那用KNN法的时候,那些权重大的的确起到了比较大的影响作用。
@lianghao.lee
连您自己都同意了我的观点,即认为单纯使用TFIDF值来判断一个特征是否有区分度不够,而应该考虑该值在类间的分布,这个分布情况,不管您给它起什么名字,它一定不叫TFIDF,它只是以TFIDF值为基础,正如信息增益,卡方检验和互信息等方法全都是以特征的文档频率为基础一样,它们都不叫文档频率方法,只有直接依据文档频率大小排序的方法才叫做“文档频率特征选择”(而且确实有这种方法)。因为说到底,我们从文本中能观察到的量其实只有两个:词频和文档频率,所有的方法一律以这两个量为计算基础,但不能由此把所有的方法都叫做词频方法或者文档频率方法。TFIDF也是一种很基础的量(它是由词频和文档频率计算来的),同样它也带来了较词频和文档频率单独使用完全不同的效果。
如果您同意这些,您就会明白我所说的“TFIDF不能用来做特征选择”,正是指单独使用一个特征的TFIDF值来判断毫无道理,卡方检验完全基于文档频率计算,但单看文档频率也毫无道理(好吧,文档频率有那么一点道理,呵呵)。
另外,两个文档的相似度在有的分类模型里(例如支持向量机)里完全没有用处,您通过文档在空间中的分布也可以看出来,一些位于类别边界附近的文档,其实与另一个类里的文档更加相似(反而与同类的文档不那么相似),在这种模型中,我们仅通过它所处的位置来判断分类,而丝毫不受它与谁相似的影响。相信这一点您一想就能明白。当然这里所争论的乃是对分类来说文档相似度是否一定有用(对有的方法完全没用),而不是说TFIDF对判断相似是否有用,我要说,对文档相似度计算来说,TFIDF是非常有效的。
re: 文本分类入门(番外篇)特征选择与特征权重计算的区别 lianghao.lee 2009-05-01 21:32
@Jasper
呵呵~ 我并没有说TFIDF是最好的特征选择方法,可他确实是一种特征选择的途径,我只是不太同意你在最后说的:
“所以有的人就用TFIDF的得分来把特征排排序,取得分最大的几个进入系统特征集合,效果也还行(毕竟,连随机选取效果也都还行)”
因为如果您能够通过实验证明统计结果表明TFIDF特征选择与随机选取效果的期望和方差基本一致的话,您就可以说明TFIDF确实对特征提取没有作用,而其他人之前确实将TFIDF与特征选择混淆了。可是如果他的效果好于随机的话就说明他还是有一定的道理的。
呵呵~ 还有你说:而您纠结在文章向量表示时相似度判别时的“重要”。
特征提取不是分类的目的,只是想通过特征提取来降维并得到有区分度的特征词,可是这些特征词最后还是为基于相似度的分类服务的,所以可以将特征提取的作用归纳为:找到区分度重要的词,找到对相似度计算重要的词
对于区分度重要,如果通过Tfidf提取出来的特征能够很好的定义相同类别里面文本的相似,不就是能够很好的定义不同类别里面文本的区别吗?也许是博主认为做tfidf特征提取就是将tfidf值最高的词提取出来了,所以认为这样的不合理吧。如果能够很好的利用tfidf值的类内分布和类间分布来做特征提取是能够很好的得到有区分度的特征词的。
而另一方面,而正如博主所说的tfidf在相似度计算中是很“重要”的,所以用tfidf来做特征提取对于之后的分类的相似度计算是很有用的。
拙见,海涵~
我曾经也在这个问题上琢磨了好久。现在很多文章都没有在这点上说清楚,也许是我没能理解清楚。
呵呵 有这篇文章,以后一定能让好多人解惑。
@lianghao.lee
就是因为不同的人在分类的不同阶段对“重要”的定义彼此不同,所以大家会在一项指标重要还是不重要上存在分歧。注意我在谈特征选择阶段特征对类别区分度方面的“重要”,而您纠结在文章向量表示时相似度判别时的“重要”。这种混淆很常见,所以也不能怪您,如果您有兴趣继续在文本分类方面深入,相信您有一天会得到不同的理解。
re: 文本分类入门(番外篇)特征选择与特征权重计算的区别 lianghao.lee 2009-04-26 13:37
楼主,我感觉你这里的比较有问题:
你说:“我想一定是“权重“这个词误导了所有人,让大家以为TFIDF计算出的值代表的是特征的重要程度,其实完全不是。例如我们有一位男同学,他的指纹向量是:(10,3,4,20,5)你注意到他第1个位置的得分(10)比第3个位置的得分(3)高,那么能说第1个位置比第3个位置重要么?”
我想在指纹识别中这个值确实不能够说位置1就比位置3重要,那是因为你的这个从指纹特征往这个向量值映射的函数我们未知所造成的。可是在TC问题中,TFIDF值的建模就是把那些出现频率高,且区分作用大的词赋予更高的tfidf值,所以他的高是可以说明这个词更加重要的(或者是这个特征更加重要)
假如一篇文章的tfidf向量表示为(10,3,4,20,5),那么这里的“10”和“3”会带来什么效果呢?很明显,在做向量乘法计算相似度的时候显然是“10”比“3”对于整体的相似度贡献更大。因为similarity = (10,3,4,20,5) * (x1,x2,x3,x4,x5)T; 那么在不考虑x1,x2,..x5的情况下。显然10比3“贡献”大啊。
所以请博主在考虑一下,TFIDF这个在IR中如此经典的一个模型难道就真的这么一文不值?
@koala++
如果假设各个特征项是独立的,可以简单的计算每个特征的增益,然后取和。
如果假设不是独立的,就把他们的组合看成是一个新的变量,统计这个新变量可能的取值,每个取值取到的概率,重复运用信息增益的公式计算即可。
请问楼主知道 如果我要计算多个属性和起来的 信息增益 如何去做呢?
,类别C是变量,它可能的取值是C1,C2,……,Cn
这是我曾今犯的错,呵呵,楼主的文章深入浅出,非常好,我的毕设终于顺利完成了!
非常好,看了博主的文章,搞懂了很多不懂的东西,非常感谢,希望博主继续,期待下一篇。
读完舒坦。。。
多谢博主。
博主能不能讲讲关于LIBSVM的使用方面的文章啊。。。也许如何使用本身并不难,但没人给你引个路,想开始还真难啊。。。不是有句话叫万事开头难吗?
比如输入的文本格式要怎么处理成标准输入格式呢?还有具体使用过程中会遇到的一些问题。。。
不管怎么样,还是很期待你的下一篇文章^.^。学到了很多东西啊。