机器学习之线性分类器

词袋模型:

创建一个8维向量

缺点:把文本中的语序等信息丢了

线性分类:

a:投票法,f1将w1作为正类,w2、w3作为负类

b:两两之间分类

c:评分分类

区别在于用的损失函数不同,导致模型不同

 交叉熵:

熵:

熵是信息论中的一个概念

发生x的概率越大,所含信息越少

取log是因为要满足自信息的可加性

括号中就是x和x‘的联合概率

概率越大,信息量越小,熵越小,编码越短

交叉熵:

当p的分布未知时,设q为概率分布

根据以上定义可知:交叉熵是用来衡量两个分布之间的差异的

KL散度:

最小化KL散度其实就是最小化两个分布的交叉熵

而pr(y|x)是one-hot向量

所以最小化交叉熵就是求对数似然的最大值

Logistic回归:

又称对数几率回归或对立回归

加了判别函数,输出是0和1

但是这个判别函数导数都为0,无法用数学方法进行优化

因此我们需要把分类问题转化成概率问题(离散转化成连续)

此时,我们的判别函数的值域是属于实数集

我们需要一个函数将其转化为0~1之间,便有了激活函数

用交叉熵算两个条件分布的差异

最终结果将类别概率分开

 因此我们并不需要交叉熵完全趋近于0和1,只需要将两类分开即可

Softmax回归:

解决多分类问题,是Logistic回归在多分类问题上的拓展

用softmax函数将k个标量转化为k个取值的分布

疑惑:sigmoid与softmax

sigmoid也是将x压缩到0~1之间,和softmax的区别在哪呢?

(1)在实际应用中,一般将softmax用于多类分类的使用之中,而将sigmoid用于多标签分类之中。sigmoid函数,我们可以当作成它是对一个类别的“建模”,将该类别建模完成,另一个相对的类别就直接通过1减去得到。而softmax函数,是对两个类别建模,同样的,得到两个类别的概率之和是1

(2)softmax求出的概率不是相互独立,而是有关的。而sigmoid求出的概率之间互不影响,只和Xi大小有关。

(3)虽然都将输出激活到0-1,但softmax更离散,sigmoid更加均衡。在网络学习不到东西时,softmax通常会全部学习到一个类别上,全1。而sigmoid一般导致所有预测都是0.5。

概率最大的地方对应的自信息越小

思考:

Q:如果softmax做二分类,那么和logistic回归的区别在哪?

A:

博客链接:logistic回归(二分类)和Softmax回归的关系、logistic回归(多分类)和Softmax的关系-CSDN博客

感知机:

损失函数:

更新原理:

y为正负1,所以后一项 ≥ 0,所以会一直 ≥ 上一次的结果,从而保证从<0更新为 > 0

与Logistic的更新比较:

Logistic的更新是通过比较预测值与真实值之间的差异大小实现的

感知机的更新是只要未分对类就更新,少了差别大小的判断

根据每个点不断调整

只要数据集是线性可分的,就能保证在有限次数内找到将其分开的权重

求上界:

递归套用公式展开,第三项 ≤ 0是因为更新时它就是<0的,第二项的R是训练集中最大的特征向量的模

求下界:

假设w*是最优权重,也就是将所有类分正确了

约定它大于一个很小的数 r

思考:

Q:如何将感知机算法扩展到多分类问题?

A:感知机算法是一种用于二分类问题的模型,如果要将其扩展到多分类问题,可以使用软间隔算法。软间隔算法的基本思想是,对于多分类问题,不再使用硬间隔,而是使用一个很小的正数作为间隔,这样就可以得到一个概率分布,表示样本属于每个类别的概率。然后,可以使用交叉熵作为损失函数,来训练模型。

支持向量机:

感知机可以将两类分开,但是无法区分哪条分界线或者面最好

优化目标:选择间隔最大的决策边界

距离的推导:

因为含γ的式子极难优化,所以人为限制 ||w|| = 1/γ,将优化目标变为当所有支持向量评分大于等于1时(本身相当于带了绝对值,不需要考虑-1),找到最小的w,也就找到了最大的γ

软间隔:

这里的Slack点明显不满足SVM的分类

为了能够容忍部分不满足约束的样本,可以引入松弛变量

我们希望ξn越小越好。当0<ξn<1时,说明虽然距离小于间隔,但是分对了类;当ξn>1,说明分错类了

软间隔的优化目标中:1/2是为了w求导后消去系数;C是系数,C越小ξn就可以越大,对样本容忍度越高;反之同理

第一行两边同÷C,右边那个绿色的式子的意思是当样本分对类的时候,ξn为0;未分对类则算距离当作ξn

这里看到Hinge损失和感知器损失很像,但是根据式子我们可以看出,感知机对分对类的样本不会进行调整,而支持向量机中如果样本分对类但是间隔小于1,它仍然会对分对类的样本进行惩罚

小结:

不同损失函数对比:

因为y是+1或-1所以可以加进去。根据图像可以发现,平方损失在0~1之间的优化是没问题的,但是在1的右边 1-yf(x;w) 递增,代表损失越大,也就是离决策边界越远本来应该越正确,但平方损失会认为它越错误从而进行惩罚

红色标出的是Logistic函数本身的一个性质。根据图像可以发现,Logistic回归的损失是一直减小的,但是当yf(x;w)大于0时仍在减小,这个是不必要的,只要分对类了就行,无需继续惩罚

根据图像可以发现,感知机的损失函数是符合标准的,分对类就行

与感知机的损失函数相比就是多加了一个1,也就是向右平移了1。根据图像可以发现,软间隔支持向量机对靠近边界的点依然有惩罚

如何用线性分类器处理非线性可分问题:

将x换成一个基函数φ(x),φ(x)是非线性的,但是f(φ(x))在这个空间里是线性可分的

例如图中的φ1的意义是:在红色点中选一个点,计算所有点到该点的距离。φ2可以任意取函数,因为φ1已经足够用来分类了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值