2020李宏毅学习笔记——7.logistic Regression

一:回顾一下子奥:

上节课的classification用的是根据宝可梦的属性值预测其类别,分类问题不能被视为回归问题,离决策边界远的点会对结果造成误差,因此采用三步法,1.假设模型 2.利用到贝叶斯公式计算P(C1|x),即P(C1)、P(C2)、P(x|C1)、P(x|C2)这四个值,P(C1)、P(C2)容易估计,要估计P(x|C1)、P(x|C2),用高斯分布产生,用最大似然的方法,使得似然函数最大的参数(μ∗,∑∗),分别是训练数据中该类数据的平均值和协方差矩阵,求得P(C1|x),测试集正确率低,改进模型,两类高斯分布的∑ 不同的话,数据太大,容易过拟合,让相等,准确度大大提高。数学推导出,分类器有先行边界。

二:logistic Regression

1.上节课学P(C1|x)=σ(z)=σ(w⋅x+b)
w,b取任意值就得到不同的function set
在这里插入图片描述
这是logistic Regression

step1时,logistic Regression 和Linear Regression在step 1(选择model)的区别是,output,由于logistic Regression做了那个啥,输出限制在0-1之间。
在这里插入图片描述
2.step2 看看Function的好坏。
最好的w和b就是最有可能产生那组参数的(最大化几率的function)
也就是最大化似然函数,
y^=1 表示C1,用y^=0 表示C2。
最大化似然函数即是最小化交叉熵。(交叉熵代表两个分布有多接近,若两个分布完全一样则交叉熵等于0。)

这样就得到了logistic Regression 和Linear Regression在step 2时的区别:一会给你讲,为啥用复杂的交叉熵而不用差平方。
在这里插入图片描述

  1. step3 找到最好的function,用梯度下降。
    参数更新公式:
    在这里插入图片描述
    需要自己调的:学习率
    来自数据的:xi
    对结果直观的理解是:模型结果与目标差距越大,参数更新幅度越大。
    step3时,logistic Regression 和Linear Regression用梯度下降更新参数方式相同

三:Logistic Regression损失函数的选取:交叉熵损失

他讲了一下,为啥Logistic Regression的损失函数用交叉熵损失而不用平方误差损失
直接看图把:
在这里插入图片描述
距离目标远时,微分很大,参数更新大
相反用square Error 目标远,微分很小,就会卡,而且微分小时不知道是距离目标远还是近。

四:Discriminative VS Generative
Discriminative 就是Logistic Regression
Generative就是前面的那个随机高斯分布
在这里插入图片描述
相同:模型相同,方法不同
不同:判别方法,通过梯度下降,直接找到w,b。
生成方法,通过假设估计N1,N2,μ1,μ2,∑ 来得到w,b 。
结论:同样的模型,同样的训练数据,采用两种方法所得结果(w,b)不同。因为生成方法对概率分布做了假设。
Discriminative model 常比Generative model表现更好

给你举个例子:
在这里插入图片描述
在这里插入图片描述
通过这张图看一下完整的贝斯算法过程。
这个实验是说,直观来讲,明显是Class 1,可是呢生成算法小于0.5

但是有时候生成模型在一些情况下相对判别模型是有优势的:
1、训练数据较少时。判别模型的表现受数据量影响较大,而生成模型受数据量影响较小。
2、label有噪声时。生成模型的假设(“脑补”)反而可以把数据中的问题忽视掉。
3、判别模型直接求后验概率,而生成模型将后验概率拆成先验和似然,而先验和似然可能来自不同来源。以语音识别(生成模型)为例,DNN只是其中一部分,还需要从大量文本(不需要语音)中计算一句话说出来的先验概率。

四:Multi-class Classification

重点:softmax
注意output 在0-1之间 和等于1
在这里插入图片描述
y海特设为:
涉及到交叉熵的计算
在这里插入图片描述
最小化交叉熵,等价于最大化似然函数,注意那个负号
在这里插入图片描述
logistics的缺点:对于线性不可分的数据没有办法分类,此时考虑在Logistic回归建模之前对特征进行转化,线性不可分的数据在特征转化后可以很好地被红色直线区分开。
解决方法:做feature transformation. (Not always easy to find a good transformation.)
希望机器自己找到 transformation:把多个Logistic Regression接起来。
在这里插入图片描述
一个Logistic Regression的input可以是其它Logistic Regression的output;一个Logistic Regression的output可以是其它Logistic Regression的input。这样,我们就得到了Neural Network,其中每个Logistic Regression叫做一个Neuron.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值