机器学习主要类型(一):监督学习 Supervised Learning
1.1 分类
1.1.1 二分类(类别标签y∈{-1,+1}或{0,1})
1.1.2 多分类(分类的类别数C大于2,通常需要多个线性判别函数)
1.1.3类别不平衡问题class-imbalance
一般的分类学习方法都有一个共同的基本假设:不同类别的训练样例数目相当。但如果不同类别的训练样例数目差别很大,则会对学习过程造成困扰。
解决? → 一个基本策略:“再缩放rescaling”:
分类器是基于进行决策,因此需对其预测值进行调整,使之实际是在执行,故令
再缩放也是“代价敏感学习cost-sensitive learning”的基础,在代价敏感学习中将上式的用代替,其中cost+是将正例误分为反例的代价,cost-是将反例误分为正例的代价
1.2 回归
1.2.1 对数几率回归Logistic Regression(LR)
处理二分类问题的线性模型 y∈{0,1}
采用交叉熵作为损失函数,并使用梯度下降法来对参数进行优化
→比较随机梯度下降、批量梯度下降、牛顿法:
1.2.2 Softmax Regression(Logistic回归在多分类问题上的推广)
类比二分类问题即可
1.3 分类模型
1.3.1 Logistic回归(如上)
1.3.2 Softmax回归(如上)
Softmax函数:归一化指数函数,是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来
1.3.3感知器Perceptron
一种广泛使用的线性分类器,错误驱动的在线学习算法,每次分错一个样本时就用这个样本来更新权重
存在不足:(1)在数据集线性可分时,感知器虽然可以找到一个超平面把两类数据分开,但并不能保证其泛化能力(2)感知器对样本顺序比较敏感,每次迭代的顺序不一致时,找到的分割超平面也往往不一致(3)如果训练集不是线性可分的,就永远不会收敛
改进:感知器→投票感知器→参数平均感知器
扩展到多分类:广义的感知器
1.3.4支持向量机Support Vector Machine,SVM
经典的二分类算法,其找到的分割超平面具有更好的鲁棒性
间隔γ为整个数据集D中所有样本到分割超平面的最短距离,γ越大,其分割超平面对两个数据及的划分越稳定→支持向量机的目标是寻找一个超平面(w*,b*)使得γ最大
→数据集中所有满足的样本点,都成为支持向量
1.3.4.1异或问题
→利用核函数:
(即xi与xj在特征空间的内积等于它们在原始样本空间中通过函数k(·,·)计算的结果)
1.3.4.2软间隔支持向量机soft margin
现实任务中很难确定合适的核函数使得训练样本在特征空间中线性可分
→缓解该问题:允许支持向量机在一些样本上出错——“软间隔”
1.3.4.3支持向量回归Support Vector Regression,SVR
1.3.4.4核方法kernel methods
若不考虑偏移项b,无论SVM还是SVR,学得的模型总能表示成核函数k(x,xi)的线性组合;不仅如此,有个更一般的结论,为“表示定理representer theorem”:
→核方法:基于核函数的学习方法
最常见的是通过“核化”(即引入核函数)将线性学习器拓展为非线性学习器
核函数直接决定了支持向量机与核方法的最终性能,但核函数的选择是个未决问题
1.4几种常见的线性模型对比
参考书目:
周志华.《机器学习》
邱锡鹏.《神经网络与深度学习》