噪音影响,而且也会影响分类模型效率。网页的特征包含着不同层面的特征,包括内容的特征,网站的特征,url的特征等等,比如一些关键词会集中出现在某些网站上,则这样的关键词就具有很强的区分能力,再如url上也会有一些关键词如forum,novel等等出现,从这些关键词我们就可以窥探网页的类别。 特征提取的任务就是对无规律的网页提取出适合分类的特征信息,模型根据对这些特征的学习得到分类参数,这样就可以对随即的网页进行分类。良好的特征对网页分类将会有很大的正面影响,根据不同类型的页面,也要根据不同策略提取出相应特征,不能一概而论。
特征提取在网页分类中的位置如下:
上层应用:机器学习、网页分类、
页面是否作弊等等
页面基础特征
特征提取参数
特征提取模块
页面解析模块
URL/PACK/HTML
图3-2 模块关系图
3.3 模型训练概述
SVM模型是一种有监督的学习算法,基于对训练数据的学习得到模型参数,进而对随机页面进行分类的工作。
模型训练首先要获得训练数据,训练数据就是一些网页样本,但是原始的网页并不能直接来作为训练集合,因为原始网页具有复杂无规律的信息,我们需要根据原始网页提取有用的特征,如内容特征,网站特征,url特征等等。由于网页信息的庞大,过多的特征等于提升了训练样本的维度,这对训练模型来说有很大的负面影响,我们还需要降低训练数据的温度,这就包括一些特征筛选的方法比如特征频率(TF)、文档频率(DF)、信息增益(IG)、互信息(MI)、卡方拟和检验(CHI)以及期望交叉熵(ECE),通过这些方法降低训练数据的维度,同时去除那些
7
信息含量较低的特征,尽量保留具有区分度的特征集合。良好的特征直接影响到分类的质量,所以特征提取和筛选是非常重要的一步。
通过一次训练并不能保证模型的良好性,这有几方面的原因,一来训练数据自身存在偏差,比如会存在标记错误的现象,二来训练数据的正负例比例不协调,导致模型无法学习到好的参数,还有一种情况就是训练数据覆盖的种类太少,对某型特殊页面不能很好分类。对于这些情况,我们需要反复迭代训练数据,通过添加语料,调整正负例比例,完善训练语料覆盖面等等,让训练数据力争达到覆盖全面、无差错的效果。
3.4 结果评估
通过训练数据得到的模型最终需要对测试集进行测试来得到最终效果,网页分类是二分类问题,样本点会被标记为正例或负例,分类模型也会将样本分类为正例或负例,这样就会产生四种组合,如下:
表 3-1 数据评估
被分类为正例 被分类为负例
实际正例 A C 实际负例 B D 我们用召回率和准确率还评估模型的分类效果,这里我们只考虑正例的分类效果:
召回率R?准确率P?A A?CA A?B 召回率和准确率是相互影响的评价指标,我们往往需要根据具体需求考虑一种折中的情况。
3.5 小结
本章主要对网页分类的整体流程进行了概述,由于网页分类涉及到多个模块的工作,所以这样可以增加读者对整体框架的把握。在此基础上,下面会对SVM模型进行简单的介绍以及对特征提取方法做出介绍,并对模型预处理的一些步骤进行一些讲解。
8
第4章 SVM简介
支持向量机(support vector machine, SVM)是一种有监督的机器学习方法,依靠小样本学习后的模型参数进行分类,它已经成为了一种备受关注的分类计数,这种技术具有坚实的统计学理论基础,并且在手写识别、文本分类等等问题中展示了很好的实际效果。另外,SVM可以避免维数灾难,很好的解决高维数据的分类问题。支持向量机有一个独特特点,它使用训练集的一个子集来表示边界,该子集叫做支持向量(support vector)。支持向量机的基本思想是找到一个最大边缘超平面,并以此来对数据进行分类
4.1 最大边缘超平面
下图显示了一个数据集,它包含两类数据,其中方块代表一类,圆圈代表一类,并且这个数据集是可分的,也就是说可以找到一个超平面,使得所有的方块位于超平面一侧,圆圈位于另一侧。这样的超平面可能存在无数个,且他们的训练误差都等于零,但是我们并不能保证在未知的测试数据上,它们都会取得同样好的效果。
b21 B2 b22
B2的边缘 B1 b11
B1的边缘 b12
图 4-1 决策边界的边缘
我们观察两个决策边界B1和B2,如图3.1所示。这两个边界都能准确无误的
9
将训练样本划分到各自的类别中,每个决策边界Bi都对应一对超平面,记为
bi1和bi2,其中bi1是这样得到的:平行向左移动一个和决策面平行的超平面,直到触到最近的训练样本为止;类似的,bi2是向右移动触到最近的训练样本得到的超平面。这两个超平面之间的距离成为分类器的边缘。从图4-1可以看到,B1的边缘显著大于B2的边缘,其中B1就是训练样本的最大边缘超平面。
4.2 线性支持向量机
线性SVM是这样一个分了器,它可以寻找最大边缘超平面,因此它也常常被称为最大边缘分类器。 4.2.1 线性分类器的边缘
考虑一个包含N个训练样本的二元分类问题,每个样本可以表示成一个二元
组(xi,yi)(i?1,2,……,N),其中xi?(xi1,xi2,……,xid)T,对应于第i个样本的属性集。我们令yi?{?1,1}表示它的类别标号,一个线性分类器的决策边界可以写成如下形式:
w?x?b?0
其中w和b是模型参数
wx+b=0
wx+b=1 wx+b=-1 图4-2 SVM的决策边界和边缘
10
任何位于决策面上方的样本点xs,我们可以证明:
w?xs?b?k (4-1)
其中k?0,同理,对于决策面下方的样本点xc,我们可以证明:
w?xc?b?k' (4-2)
其中k'?0
我们令所有方块的类别标号为1,所有圆圈的类别标号为-1,则对于一个新
来的测试样本z,可以用下面方法判断其类别标号y
?1如果w?z?b?0y????1如果w?z?b?0
考虑那些里决策边界最近的样本点,由于方块位于决策面的上方,因此对于
某个正值k,它必然满足公式(4-1);而对于某个负值k',下方的样本点必然满足公式(4-2),调整决策面的参数w和b,两个平行的超平面bi1和bi2可以表示如下:
bi1:w?x?b?1bi2:w?x?b??1
决策边界的边缘由这两个超平面之间的距离给定。设x1和x2分别是bi1和bi2上的点,带入公式并相减得到
w?(x1?x2)?2 即w?d?2 所以d?2 w4.2.2 线性SVM模型
SVM的训练就是从训练样例中估计决策边界的参数w和b,选择的参数必须满足一下条件:
11
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新资格考试认证网页分类 (3)全文阅读和word下载服务。
相关推荐: