精通数据科学笔记 监督学习

支持向量机: 进行线性或近似线性数据的分类

核函数:将低维数据映射到高维,解决低维数据非线性问题

决策树:模仿决策过程,常用作组合模型中特征提取

随机森林:相互独立的多个决策树组合,提升模型效果

GBTs:以最优方式提升模型预测结果


支持向量机

在支持向量机模型里,一个数据点与分离直线的距离表示模型对这个点的预测置信度,离得越近,模型越没把握。

对于线性可分数据,支持向量机有不错的分类效果,但大部分数据都是非线性可分,这时需要加入损失项,支持向量机可抽象表示成这样的一个优化问题

min\frac{1}{2}\left \| \omega \right \|^{2}+C\sum _{i}\xi _{i}

y_{i}(\omega \cdot X_{i}+c)\geqslant 1-\xi _{i}; \xi _{i}\geq 0

将这个优化问题转换成不带约束条件的形式

min_{\omega ,c}\frac{1}{2}\left \| \omega \right \|^{2}+C\sum _{i}max(0,1-y_{i}(\omega \cdot X_{i}+c))

其中,LL=\sum _{i}max(0,1-y_{i}(\omega \cdot X_{i}+c))是模型的预测损失,称为hinge loss,是由一个线性损失函数外套一个非线性变换构成的,这个非线性部分就是线性整流函数,即ReLU。\frac{1}{2}\left \| \omega \right \|^{2}是模型的惩罚项,避免出现过拟合问题。C是超参数,较小的C值表示模型将注重类别中心的数据,称为soft margin;较大的C值表示模型注重靠近超平面的“异常点”数据,称为hard margin。

支持向量机与逻辑回归的区别在于:支持向量机使用超平面附近的数据,而逻辑回归使用全部数据。


核函数

不需要知道空间变换的具体形式,将低维空间的数据映射到高维,减少计算量,解决非线性低维数据问题。

常用的核函数有:

线性核:K(X_{i},X_{j})=X_{i}\cdot X_{j}

多项式核:K(X_{i},X_{j})=(gamma(X_{i}\cdot X_{j})+coef0)^{degree}

sigmoid核:K(X_{i}, X_{j})=tanh(gamma(X_{i}\cdot X_{j})+coef0)

拉普拉斯核:K(X_{i}, X_{j})=exp(-gamma\left \| X_{i}-X_{j} \right \|_{1})

高斯核(RBF):K(X_{i}, X_{j})=exp(-gamma\left \| X_{i}-X_{j} \right \|_{2})

核函数对线性变换不稳定,本质是内积运算对线性变换不稳定。


拉格朗日对偶

工程中,经常将最优化问题转换成对偶问题进行求解,支持向量机的对偶问题如下

参数估计公式

max_{\alpha }\sum _{i}\alpha _{i}-\frac{1}{2}\sum _{i,j}y_{i}y_{j}\alpha _{i}\alpha _{j}(X_{i}\cdot X_{j})

s.t. 0\leqslant \alpha _{i}\leqslant C

\sum _{i}\alpha _{i}y_{i}=0,\forall i

预测公式:

\hat{y_{j}}=sign(\sum _{i}\hat{\alpha _{i}}y_{i}(X_{i}\cdot X_{j})+\hat{c})


决策树

决策树的模型有许多,这里讨论CART(classification and regression trees),通过构造二叉树来解决分类和回归问题。

节点的不纯度:该指标的取值区间为[0,1],用于衡量节点上数据类别的单一程度,数值越接近0,表示数据类别越单一。常用的指标有:

Gini:\sum _{i}p_{mi}(1-p_{mi})

Cross entropy:-\sum _{i}p_{mi}\ln p_{mi}

Misclassification:1-max_{i}p_{mi}

代码实现

from sklearn.tree import DecisionTreeClassifier

model=DecisionTreeClassifier(criterion="gini", max_depth=2)
model.fit(data[["x1","x2"]],data["y"])

前剪枝:在决策树生成过程中,通过一些阈值限制决策树的生长

后剪枝:在决策树生成之后,将其中节点不纯度下降不明显的子树减掉


随机森林

由n个决策树组成,模型的预测结果等于各决策树结果的某种“加权平均”

对于分类问题:最终结果等于在决策树预测结果中出现次数最多的类别

对于回归问题:最终结果等于决策树预测结果的平均值

引入决策树随机性的3个方面:

  • 对每个决策树,从原始训练集中随机选取训练该决策树的数据
  • 在划分节点时,并不遍历全部自变量,而是随机挑选其中的一部分作为候选自变量
  • 在选择自变量的划分阈值时,并不求得最优的解,而是随机构成一个候选阈值集合,并从中选取效果最优的(子节点不纯度之和最低)

random forest embedding将原本低维度的原始数据映射到高维空间,常配合其他监督式学习模型一起用


GBTs

假设训练数据为\left \{ X_{i},y_{i} \right \},模型算法如下

(1) 定义模型在数据点i的损失函数为L(\hat{y_{i}},y_{i})

(2) 定义初始模型F_{0}=\sum_{i=1}^{n}y_{i}/n,即被预测值的平均值

(3) 根据损失函数梯度,得到新的训练数据\left \{ X_{i},-\frac{\partial L}{\partial \hat{y_{i}}}(F_{0}(X_{i}),y_{i}) \right \},并用新的数据得到决策树模型h_{1}

(4) 更新模型得到F_{1}=F_{0}+\gamma _{1}h_{1},其中参数\gamma _{1}不是参数不是超参数,表示模型更新的力度

(5) 不断重复(3)和(4),得到迭代公式F_{k}=F_{k-1}+\gamma _{k}h_{k},其中训练数据为\left \{ X_{i},-\frac{\partial L}{\partial \hat{y_{i}}}(F_{k-1}(X_{i}),y_{i}) \right \},\gamma _{k}=argmin_{\gamma }\sum_{i=1}^{n}L(F_{k-1}+\gamma h_{k},y_{i})

GBTs通过修正已有模型的错误来提升预测效果,理论基础是梯度下降。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值