高阶分类:核方法和SVM -- Advanced Classification:Kernel Methods and SVMs
介绍线性分类器和核方法的概念,并介绍一种最为高阶的分类器,同时也是目前仍然处于活跃状态的一个研究领域-支持向量机(SVMs)
本章中出现的数据集所涉及的几乎都是关于如何为约会网站的用户寻找配对。
选用这样的数据集来为大家示范前述几种分类器的缺陷,以及怎样对数据集进行调整才能更好地适应前述这些算法。
将一个复杂数据集扔给一个算法,然后希望它能学会如何进行精确的分类,这几乎是不可能的。
选择正确的算法,然后对数据进行适当地预处理,这是要获得满分的分类结果所必须的。
通过对本章中出现的数据集所做的调整,能为日后调整其他数据集提供有益的启示。
结尾处,学习到如何构造一个包含真实人员信息的数据集,用来预测具备某些性格特征的人们是否可能成为好朋友。
婚介数据集 -- Matchmaker Dataset
数据中的难点 -- Difficulties with the Data
决策树分类器 -- Decision Tree Classifier
基本的线性分类 -- Basic Linear Classification
分类特性 -- Categorical Features
是/否问题 -- Yes/No Questions
兴趣列表 -- Lists of Interests
利用Yahoo! Maps来确定距离 -- Determining Distances Using Yahoo! Maps
获取Yahoo!的应用密钥 -- Getting a Yahoo! Apllication Key
使用Geocoding API -- Using the Geocoding API
计算距离 -- Calculating the Distance
构造新的数据集 -- Creating the New Dataset
对数据进行缩放处理 -- Scaling the Data
理解核方法 -- Understanding Kernel Methods
核技法 -- The Kernel Trick
支持向量机 -- Support-Vector Machines
分界线附近的坐标点称为支持向量。寻找支持向量,并利用支持向量来寻找分界线的算法便是支持向量机
使用LIBSVM -- Using LIBSVM
获取LIBSVM -- Getting LIBSVM
一个Python会话的例子 -- A Sample Session
将SVM用于婚介数据集 -- Applying SVM to the Matchmaker Dataset
基于Facebook的匹配 -- Matching on Facebook
获得开发者密钥 -- Getting a Developer Key
建立会话 -- Creating a Session
下载好友数据 -- Download Friend Data
构造匹配数据集 -- Building a Match Dataset
构造SVM模型 -- Creating an SVM Model
Exercises
- 优化分界线 我们是否可以利用第5章中学到的优化方法,而不是仅用求均值的方法来选择分界线呢?你会选用什么样的成本函数呢?