李宏毅机器学习笔记第5周_逻辑回归
文章目录
- 一、Logistic Regression
- 二、Step 1: Function Set
- 三、Step 2: Goodness of a Function
- 四、Step 3: Find the best function
- 五、Logistic Regression + Square Error
- 六、Discriminative 比较 Generative
- 七、Multi-class Classification
- 八、Limitation of Logistic Regression
一、Logistic Regression
这里的Logistic Regression是采用机器学习的三个步骤进行的,步骤如下所示。
二、Step 1: Function Set
1)Function中有两组参数,一组是w,称为权重weight,然后有常数b,称为bias。现在我们有一组输入xi,分别乘上wi,然后再加上b,就可以得到Z,Z通过Sigmoid Function,得到output值是概率probability。
2)在Logistic Regression和Linear Regression中,Logistic Regression的输出值只能是0到1之间 ,而Linear Regression的输出值是任何值。
三、Step 2: Goodness of a Function
1) 给我们一组w和b,我们就可以计算某一组w和b的x比TrainingData的概率。下图所示的L(w,x)就可以计算出x1,x2,x3,……xN的概率,而最有可能的两个参数w和b就称为w*,b*。
2)我们可以找到w*,b*=argmax(w,b)L(w,b)等价于w*,b*=argmin(w,b)-ln〖L(w,b)〗,这样可以让计算变得更加容易。我们再进行一次变换,如果x属于Class1,ŷ就为1,反之x属于Class2,ŷ就为0。这样就可以得到−lnL(w,b)的展开式。
3)下图中当x属于C1时,y^ 就为1,因此1-y^ =0。
4)通过上述步骤,就可以得到如下图所示。
5) 现在给两个Distribution p和Distribution q,计算这两个cross entropy交叉熵,也就是计算这两个Distribution接近的程度。如果这两个Distribution分布的一样,那么交叉熵为0。因此我们的目标是让这两个Distribution的分布越接近越好,这样可以使它们的交叉熵越小。交叉熵的公式如下图所示。
6)Logistic Regression与Linear Regression不同,如果x属于Class1,y^ 就为1,反之x属于Class2,y^ 就为0。而它的L(f)是cross entropy交叉熵的和。
四、Step 3: Find the best function
1)公式如下图所示
2)手推公式
3)整个过程受到三个因素影响,第一个是Learing rate,第二个是xi,第三个是ŷ-fw,b(x hat n),ŷ只能取值0或1,fw,b(x^n)是函数的输出值,两者差异越大,需要更新的量也越大。
4)Logistic Regression和Linear Regression一模一样,唯一不一样的是 Logistic Regression的target只能是0或1,f一定是介于0到1之间,而Linear Regression的target可以是任何数,f可以是任何数。
五、Logistic Regression + Square Error
1)我们采用Class 1的例子,得到它对应的两种函数的计算偏导的结果都是0,这显然是合理的。
2)我们采用Class 2的例子,得到它对应的两种函数的计算偏导的结果都是0,这显然是不合理的。
3)Cross Entropy 比较 Square Error
如下图所示,黑色的是Cross Entropy,红色的是Square Error。Cross Entropy在距离中心点(最低点)很近的位置,微分值很小,在距离中心点(最低点)很远的位置,微分值很大,这意味着参数的更新很快。Square Error在距离中心点(最低点)很近的位置,微分值很小,在距离中心点(最低点)很远的位置,微分值也很小,这意味着参数的更新很慢。
六、Discriminative 比较 Generative
1)Discriminative和Generative它们二者的Function set一模一样,但是由于我们的假设不一样,所以在相同的Function set中,我们求出来的w和b不相同。在Generative model中,假设数据来自高斯分布或者伯努利分布。
2)只考虑2种因素,两者的结果比较接近,但考虑7种因素后,Discriminative比Generative的结果更好一些。
3)如下图所示,每一笔data有两个feature,我们给两个label为1是Class 1,其余都为Class 2。现在我们给一组Testing Data,我们人为判断它为Class 1。
4)通过计算得到Testing Data属于Class 2。因为Naïve Bayes不考虑不同的dimension之间的correlation,对于Naïve Bayes来说,这两个dimension是independent所产生的。在Class 2里面之所以没有观察到Training Data,是因为sample得不够多。
Generative模型对data做了某些假设,它进行了脑补,假设data来自某个分布。通常脑补不是一件好的事情,因为data没有告诉我们,但是在data很少的情况,是可以脑补的。
5)Generative会遵循自己的假设,有时会去无视这个假设,而去遵从自己,因此在data量很小的时候很有优势,而Discriminative依靠data,随着data量增大,Discriminative Model的error会越来越小。
当data所含的noise比较多时,Generative会比Discriminative更好,因为data的label本身就有问题,所以Generative自己做了脑补去把data里面的noise给忽略掉。
七、Multi-class Classification
1)假设我有3个class,参数如下图所示。
2)max是求最大值,softmax函数会对最大值做强化,而强化的意思是会使每一个Zi的值之间的差距拉的更大。假设data来自高斯分布,而每一个Class所属的分布都使用协方差矩阵,通过推导就可以得到softmax函数。
3)通过上述操作,整理得到下图所示。
4)如下图所示,这样设置会隐性地给分类增加限制,Class1和Class2会比较近,Class1和Class3会比较远。
八、Limitation of Logistic Regression
1)提出问题:无论我们怎么选择w和b,怎么画一条线,都不能将红色点和蓝色点划分开。
2)我们可以做Feature Transformation,自己定转换的原则,我们把x1,x2转换到另外的位置上。但不是每一次都能找到好的transformation,这个需要人为来做,失去了机器学习的意义。
3)我们需要靠机器自己产生transformation,因此我们需要Cascading logistic regression models。
4)如下图所示,右上角的蓝色是通过调整w和b得到的输出,可以发现左上角的数字比右下角的数字大。右下角的绿色也是通过调整w和b得到的输出,可以发现左上角的数字比右下角的数字小,这些操作都是做到的。
5)如下图所示,通过transformation,红色的两个点变成了(0.73,0.05)和(0.05,0.73),蓝色的点变成了(0.27,0.27),因此现在我们可以找到一个线把红色的点和蓝色的点区分开来。
李宏毅机器学习笔记第5周_逻辑回归相关推荐
- 李宏毅机器学习笔记第14周_生成式对抗网络(GAN)
文章目录 一.Network as Generator 二.Why distribution? 三.Anime Face Generation 四.Discriminator 五.Basic Idea ...
- 干货|机器学习零基础?不要怕,吴恩达课程笔记第三周!逻辑回归与正则
吴恩达Coursera机器学习课系列笔记 课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础 干货|机器学习零基础?不要怕,吴恩达机器学习课程笔记2-多元线性回归 1 Logis ...
- 【机器学习笔记四】分类算法 - 逻辑回归
参考资料 [1] Spark MLlib 机器学习实践 [2] 统计学习方法 1.Logistic分布 设X是连续随机变量,X服从Logistic分布是指X具有下列分布函数和密度函数 ,. ...
- 机器学习笔记(五):逻辑回归
目录 1)Classification 2)Hypothesis Representation 3)Decision boundary 4)Cost function 5)Simplified cos ...
- 李宏毅svm_【李宏毅机器学习笔记】 18、支持向量机(Support Vector Machine,SVM)...
[李宏毅机器学习笔记]1.回归问题(Regression) [李宏毅机器学习笔记]2.error产生自哪里? [李宏毅机器学习笔记]3.gradient descent [李宏毅机器学习笔记]4.Cl ...
- 机器学习系列(1)_逻辑回归初步
转载自: 机器学习系列(1)_逻辑回归初步 - 寒小阳 - 博客频道 - CSDN.NET http://blog.csdn.net/han_xiaoyang/article/details/4912 ...
- 2021李宏毅机器学习笔记--21 Anomaly Detection
2021李宏毅机器学习笔记--21 Anomaly Detection(异常侦测) 摘要 一.问题描述 二.Anomaly异常 三.Anomaly Detection(异常侦测)做法 3.1 Bina ...
- 2021李宏毅机器学习笔记--12 attack ML models
2021李宏毅机器学习笔记--12 attack ML models 摘要 一.图像模型的攻击 1.1原理 1.2Constraint 1.3参数训练 1.4一个例子 1.5攻击方法 1.5.1FGS ...
- 2021李宏毅机器学习笔记--22 Generative Adversarial Network 01
@[TOC](2021李宏毅机器学习笔记–22 Generative Adversarial Network 01(GAN,生成式对抗网络)) 摘要 GAN是建立于神经网络的基础上的,其核心思想是&q ...
- 【李宏毅机器学习笔记】 23、循环神经网络(Recurrent Neural Network,RNN)
[李宏毅机器学习笔记]1.回归问题(Regression) [李宏毅机器学习笔记]2.error产生自哪里? [李宏毅机器学习笔记]3.gradient descent [李宏毅机器学习笔记]4.Cl ...
最新文章
- 通信模式与网络协议之间的对应关系
- [react] 说说Context有哪些属性?
- Leetcode-1155 Number of Dice Rolls With Target Sum(掷骰子的N种方法)
- OpenCV3学习(5.1)——图像变换之缩放、金字塔、仿射、透射
- Java面向对象程序设计--与C++对比说明:系列2(类机制)
- 对象数组题目 Student类
- c++语言中如何检测鼠标消息,c++ 如何检测全局鼠标按钮事件
- 学会python可以上天!20行代码获取斗鱼平台房间数据,就是这么牛逼!
- 运输问题基本解 最小元素法
- Python图像处理丨认识图像锐化和边缘提取的4个算子
- MarkDown + Typora + PicGo 实验报告模板附赠
- matlab 周期性边界,PID控制器阶跃响应的分析(基于MATLAB仿真的实验):
- matlab许可证_MATLAB校园许可证更新指南
- python--多线程爬取王者荣耀高清壁纸
- 无为而无不为和企业管理
- oj苹果和虫子c语言,用C++实现苹果和虫子问题
- F5 LTM 常用oid列表
- 典型相关分析 python_CCA典型关联分析原理与Python案例
- 18336万!华为中标昌平区政务云2022年-2025年服务项目
- 【slf4j】在Java中如何定义优雅的Log日志