目录
Step2 小结:Minimize the Cross Entropy~
Discriminative 判别模型 & Generative 生成模型
那么我们便可将 Logestic Regression Cascade 级联起来
感谢B站up主搬运的课程:
【李宏毅2020机器学习深度学习(完整版)国语】 https://www.bilibili.com/video/BV1JE411g7XF/?share_source=copy_web&vd_source=262e561fe1b31fc2fea4d09d310b466d
书接上回
李宏毅2020机器学习 【学习笔记】 P10Classification__bh的博客-CSDN博客
Step1:
所以,我们 Classification 问题的 Function Set 就是
将 Function Set 可视化:
该操作称为 Logistic Regression 逻辑回归
因为通过了 sigmoid function ,所以输出在0到1之间~
Step2: Goodness of a Function
我们指定 为 数据生成为 类的概率,所以此时 为
生成这组数据的概率为( 类的概率为 )
欲寻找最佳参数 、
取一下对数,变成 argmin 简化计算
经过对数操作, 原本为连乘式,现可写成累加式
……
但这样的表达式无法合并用 简写~
处理的方式便是在每种概率前面加个用于选择的数,起到以表达式选择的作用
(加上个 δ 函数也是一样的道理)
统一了表达形式~
got
会发现实际上这是交叉熵的表达式~
Step2 小结:Minimize the Cross Entropy~
Step3:Find the best function
还是用我们的老朋友 Gradient Descent ~
会发现 Logistic regression 和 Linear regression 的式子其实是一样的~
区别是 只能是0或1,而 是 函数,取值位于0到1之间~
Discriminative 判别模型 & Generative 生成模型
如上将 进行数学变式,转生为 函数作为 function set ,再以每个样本属于各自类的概率连乘作为 Loss function 的方法称为 Discriminative 判别模型;
而前面的将 以贝叶斯公式展开,以样本数量比计算 、 ,以样本的 Maximum Likehood ( Likehood 认为是从该分布中抽出样本的概率连乘) 估计出分布,以此得到 、 ,并将不同类的 Covariance Martrix 设置为 shared 的方法称为 Generative 生成模型。
其实,归根结底,两种模型最后是一样的
Discriminative 判别模型最后通过 Gradient Descent 直接得到参数 、 ;
Generative 生成模型通过种种假设,先计算均值向量、协方差矩阵再通过 、 的定义式求得 、 。
所以,虽然都是算 、 ,但最后得到的 、 不会是同一组~
Generative Model 的缺点
以 Naive 贝叶斯作为假设,其并不考虑各 feature 之间的 corelation ,以此看来 是可能产生11的,只是样本不够多而已(此即 Generative 的“脑补”)~
判断结果认为11来自 反而是错误的~
Generative Model 的优点
- “脑补”的特性,需要的数据可以少些; Discriminative Model 则只通过数据推断~
- “脑补”的特性,如果 Training Data 是 noisy 的(噪声 noise 指的是错误的label),假设也可以减少噪声的影响~
- 在 Generative Model 中,概率 被拆成了先验概率( 、 )和各个类的抽样概率( 、 )来计算,这两者的计算样本可以是不同的来源~
Multi-class Classification
前面是二分类,我们将一个类概率 = ,另一个类就是1减去它。
多分类问题的操作如下(图示是分类时,不是训练时)
三个类各自训练好了各自的参数 vector 和 scalar
我们将要拿来分类的特征 输入,通过 Softmax 函数,通过该函数后将打分限制在了0到1之间(归一化处理),且强化了大的值。
算出的 即是属于 类的概率 =
训练时我们也将各概率的 Cross Entropy 作为 Loss Function
的值: 是 的,那么 、 、
接下来的任务就是 Minimize the Cross Entropy 了
Logistic Regression 的局限性
看回二分类问题,我们假设了 ,其中 又等于
我们预测时就是以0.5为界,即概率大的一方为预测结果
即决策边界为 ,看回 sigmoid 函数,亦即决策边界为 ,所以边界的形状就是一条直线。
那么其局限性随之而来,如果我们有如上图的样本点,那么我们用直线的决策边界无论如何都无法将他们分开(蓝色为一类,红色为一类)
Feature Transformation 特征转换
比如将特征一改为到(0,0)点的距离,特征2改为到(1,1)点的距离,这样处理后会发现可以用线分开了!
但是,我们往往是很难直接就这样找到一种合适的 Transformation 的,我们想让机器自己找一个合适的 Transformation ~
那么我们便可将 Logestic Regression Cascade 级联起来
我们可以通过调整参数,让第一层的输出值向我们想要的方向发展
如上,我们选择的方式是: 让左上角的值偏大(在单个的 Logistic Regression 里这个结果就是概率,但显然这样分不开,所以作为暂存结果), 则让右下角的值偏大
我们再将 、 作为特征输入,作 Logistic Regression ,便可以发现可以成功地分开了~
Neural Network 神经网络
像上面这种级联的做法事实上就是神经网络的思想,亦即 Deep Learning