感知机模型理解

统计学习方法学习笔记

感知机模型

感知机模型是线性二分类模型,输出Y取二值-1,+1

y = sign(w*x+b)

分类超平面 w*x+b = 0,超平面因为输入是多维特征

loss:

1.误分类点的个数:不好,不可导,不易优化
2.误分类点的到超平面的距离,常用
3.感知机模型loss可计算至0,线性平面将两类完全分开

学习过程

1.梯度下降,每次只随机选取一个误分类点
2.对loss求导,简单线性求导:
    w = w+learning_rate * yx
      yx为对x的偏导
    b = b + learning_rate * y
      y为loss对b求导

loss原则:大于零,连续可导

注意

为了得到唯一超平面,需对分离超平面增加约束条件,即线性支持向量机?
训练集不可分时,感知基学习算法不收敛,迭代结果会发生震荡
误分类点数k
k <= (R/γ)^ 2
其中:R是样本最大值L2范数
γ是比样本到超平面最短距离还近的一个点
所以样本距离超平面越近,迭代次数越多

感知机算法另一种形式:对偶形式

计算过程与感知机模型类似,另一种形式
∵ w = w+learning_ratenixi
b = b+learning_rate*yi
替换w,b即得到感知机的对偶形式。

  对偶形式学习时计算Gram矩阵,即 xi 与 xj 的内积(所有向量内积)

感知机扩展学习方法

包括口袋算法、表决感知机、带边缘感知机等。

每日一学

AUC函数计算:

由model得到二分类的y_pred,提取为“1”的列预测结果计算AUC
利用sklearn中的metrics
```python
from sklearn import metrics
y_pred_model = model.predict(x_test_scaled)
print(type(y_pred))
y_pred = y_pred_model[:,1]
aucs = []
fpr,tpr,thresholds = metrics.roc_curve(y_test,y_pred,pos_label=1)
print(fpr,'\n','\n',tpr,'\n','\n',thresholds)
aucs.append(metrics.auc(fpr,tpr))
print(np.around(np.average(aucs),decimals=5)*100,'%')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值