词袋模型:
创建一个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已经足够用来分类了