李宏毅2020机器学习 【学习笔记】 P11Logistic Regression

目录

书接上回

Step1:

Step2: Goodness of a Function

Step2 小结:Minimize the Cross Entropy~

Step3:Find the best function

Discriminative 判别模型 & Generative 生成模型

Generative Model 的缺点

Generative Model 的优点

Multi-class Classification

Logistic Regression 的局限性

Feature Transformation 特征转换

那么我们便可将 Logestic Regression Cascade 级联起来

Neural Network 神经网络


感谢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

我们指定 P_{w,b}(C_1|x) 为 f_{w,b}(x) 数据生成为 C_1 类的概率,所以此时 f_{w,b}(x) 为 \sigma(z)

生成这组数据的概率为( C_2 类的概率为 1-f_{w,b}(x) )

欲寻找最佳参数 w^* 、 b^*

 

 取一下对数,变成 argmin 简化计算

经过对数操作, L 原本为连乘式,现可写成累加式

-lnf_{w,b}(x^1)-lnf_{w,b}(x^2)-ln(1-f_{w,b}(x^3)) ……

但这样的表达式无法合并用 \sum 简写~

处理的方式便是在每种概率前面加个用于选择的数,起到以表达式选择的作用

(加上个 δ 函数也是一样的道理)


 
统一了表达形式~

 got

 会发现实际上这是交叉熵的表达式~

Step2 小结:Minimize the Cross Entropy~

Step3:Find the best function

 还是用我们的老朋友 Gradient Descent ~

会发现 Logistic regression 和 Linear regression 的式子其实是一样的~

区别是 \hat{y^n} 只能是0或1,而 f_{w,b}(x^n) 是 sigmoid 函数,取值位于0到1之间~

Discriminative 判别模型 & Generative 生成模型

如上将 P(C_1|x) 进行数学变式,转生为 sigmoid 函数作为 function set ,再以每个样本属于各自类的概率连乘作为 Loss function 的方法称为 Discriminative 判别模型;

而前面的将 P(C_1|x) 以贝叶斯公式展开,以样本数量比计算 P(C_1) 、 P(C_2) ,以样本的 Maximum Likehood ( Likehood 认为是从该分布中抽出样本的概率连乘) 估计出分布,以此得到 P(x|C_1) 、 P(x|C_2) ,并将不同类的 Covariance Martrix 设置为 shared 的方法称为 Generative 生成模型。

其实,归根结底,两种模型最后是一样的

Discriminative 判别模型最后通过 Gradient Descent 直接得到参数 w 、 b ;

Generative 生成模型通过种种假设,先计算均值向量、协方差矩阵再通过 w 、 b 的定义式求得 w 、 b 。

所以,虽然都是算 w 、 b ,但最后得到的 w 、 b 不会是同一组~

Generative Model 的缺点

以 Naive 贝叶斯作为假设,其并不考虑各 feature 之间的 corelation ,以此看来 C_2 是可能产生11的,只是样本不够多而已(此即 Generative 的“脑补”)~

判断结果认为11来自 C_2 反而是错误的~

Generative Model 的优点

  • “脑补”的特性,需要的数据可以少些; Discriminative Model 则只通过数据推断~
  • “脑补”的特性,如果 Training Data 是 noisy 的(噪声 noise 指的是错误的label),假设也可以减少噪声的影响~
  • 在 Generative Model 中,概率 P(C_1|x) 被拆成了先验概率( P(C_1) 、 P(C_2) )和各个类的抽样概率( P(x|C_1) 、 P(x|C_2) )来计算,这两者的计算样本可以是不同的来源~

Multi-class Classification

前面是二分类,我们将一个类概率 P(C_1|x) = \sigma (z) ,另一个类就是1减去它。

多分类问题的操作如下(图示是分类时,不是训练时)

三个类各自训练好了各自的参数 w^n vector 和 b^n scalar

 我们将要拿来分类的特征 x 输入,通过 Softmax 函数,通过该函数后将打分限制在了0到1之间(归一化处理),且强化了大的值。

算出的 y_n 即是属于 C_n 类的概率 P(C_n|x) = y_n 

训练时我们也将各概率的 Cross Entropy 作为 Loss Function

L=\sum_{n}C(y_n,\hat{y_n})=-\sum_{i=1}^{3}y_nln\hat{y_n} 

\hat{y} 的值: x 是 C_2 的,那么 \hat{y_1}=0 、 \hat{y_2}=1 、 \hat{y_3}=0

接下来的任务就是 Minimize the Cross Entropy 了

Logistic Regression 的局限性

看回二分类问题,我们假设了 y=P(C_1|x)=\sigma (z) ,其中 z 又等于 w^T x+b

我们预测时就是以0.5为界,即概率大的一方为预测结果

即决策边界为 \sigma (z)=0.5 ,看回 sigmoid 函数,亦即决策边界为 w^T x+b = 0 ,所以边界的形状就是一条直线

那么其局限性随之而来,如果我们有如上图的样本点,那么我们用直线的决策边界无论如何都无法将他们分开(蓝色为一类,红色为一类)

Feature Transformation 特征转换

比如将特征一改为到(0,0)点的距离,特征2改为到(1,1)点的距离,这样处理后会发现可以用线分开了!

但是,我们往往是很难直接就这样找到一种合适的 Transformation 的,我们想让机器自己找一个合适的 Transformation ~

那么我们便可将 Logestic Regression Cascade 级联起来

我们可以通过调整参数,让第一层的输出值向我们想要的方向发展

如上,我们选择的方式是: x_1^{'} 让左上角的值偏大(在单个的 Logistic Regression 里这个结果就是概率,但显然这样分不开,所以作为暂存结果), x_2' 则让右下角的值偏大

我们再将 x_1^{'} 、 x_2' 作为特征输入,作 Logistic Regression ,便可以发现可以成功地分开了~

Neural Network 神经网络

像上面这种级联的做法事实上就是神经网络的思想,亦即 Deep Learning

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值