文章目录

  • 一、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周_逻辑回归相关推荐

  1. 李宏毅机器学习笔记第14周_生成式对抗网络(GAN)

    文章目录 一.Network as Generator 二.Why distribution? 三.Anime Face Generation 四.Discriminator 五.Basic Idea ...

  2. 干货|机器学习零基础?不要怕,吴恩达课程笔记第三周!逻辑回归与正则

    吴恩达Coursera机器学习课系列笔记 课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础 干货|机器学习零基础?不要怕,吴恩达机器学习课程笔记2-多元线性回归 1 Logis ...

  3. 【机器学习笔记四】分类算法 - 逻辑回归

    参考资料 [1]    Spark MLlib 机器学习实践 [2]    统计学习方法 1.Logistic分布 设X是连续随机变量,X服从Logistic分布是指X具有下列分布函数和密度函数 ,. ...

  4. 机器学习笔记(五):逻辑回归

    目录 1)Classification 2)Hypothesis Representation 3)Decision boundary 4)Cost function 5)Simplified cos ...

  5. 李宏毅svm_【李宏毅机器学习笔记】 18、支持向量机(Support Vector Machine,SVM)...

    [李宏毅机器学习笔记]1.回归问题(Regression) [李宏毅机器学习笔记]2.error产生自哪里? [李宏毅机器学习笔记]3.gradient descent [李宏毅机器学习笔记]4.Cl ...

  6. 机器学习系列(1)_逻辑回归初步

    转载自: 机器学习系列(1)_逻辑回归初步 - 寒小阳 - 博客频道 - CSDN.NET http://blog.csdn.net/han_xiaoyang/article/details/4912 ...

  7. 2021李宏毅机器学习笔记--21 Anomaly Detection

    2021李宏毅机器学习笔记--21 Anomaly Detection(异常侦测) 摘要 一.问题描述 二.Anomaly异常 三.Anomaly Detection(异常侦测)做法 3.1 Bina ...

  8. 2021李宏毅机器学习笔记--12 attack ML models

    2021李宏毅机器学习笔记--12 attack ML models 摘要 一.图像模型的攻击 1.1原理 1.2Constraint 1.3参数训练 1.4一个例子 1.5攻击方法 1.5.1FGS ...

  9. 2021李宏毅机器学习笔记--22 Generative Adversarial Network 01

    @[TOC](2021李宏毅机器学习笔记–22 Generative Adversarial Network 01(GAN,生成式对抗网络)) 摘要 GAN是建立于神经网络的基础上的,其核心思想是&q ...

  10. 【李宏毅机器学习笔记】 23、循环神经网络(Recurrent Neural Network,RNN)

    [李宏毅机器学习笔记]1.回归问题(Regression) [李宏毅机器学习笔记]2.error产生自哪里? [李宏毅机器学习笔记]3.gradient descent [李宏毅机器学习笔记]4.Cl ...

最新文章

  1. 通信模式与网络协议之间的对应关系
  2. [react] 说说Context有哪些属性?
  3. Leetcode-1155 Number of Dice Rolls With Target Sum(掷骰子的N种方法)
  4. OpenCV3学习(5.1)——图像变换之缩放、金字塔、仿射、透射
  5. Java面向对象程序设计--与C++对比说明:系列2(类机制)
  6. 对象数组题目 Student类
  7. c++语言中如何检测鼠标消息,c++ 如何检测全局鼠标按钮事件
  8. 学会python可以上天!20行代码获取斗鱼平台房间数据,就是这么牛逼!
  9. 运输问题基本解 最小元素法
  10. Python图像处理丨认识图像锐化和边缘提取的4个算子
  11. MarkDown + Typora + PicGo 实验报告模板附赠
  12. matlab 周期性边界,PID控制器阶跃响应的分析(基于MATLAB仿真的实验):
  13. matlab许可证_MATLAB校园许可证更新指南
  14. python--多线程爬取王者荣耀高清壁纸
  15. 无为而无不为和企业管理
  16. oj苹果和虫子c语言,用C++实现苹果和虫子问题
  17. F5 LTM 常用oid列表
  18. 典型相关分析 python_CCA典型关联分析原理与Python案例
  19. 18336万!华为中标昌平区政务云2022年-2025年服务项目
  20. 【slf4j】在Java中如何定义优雅的Log日志

热门文章

  1. java 解析dataset_C# DataSet用法的详细解析|C#教程
  2. LOIC网站压力测试工具
  3. 存储过程和存储函数的区别
  4. 线性代数1.51.5Cramer法则/克莱姆法则
  5. 【机器学习】K-means算法Python实现教程
  6. excel 个人日常记账——统计报表
  7. 黑马程序员, html css javascript 前端笔记 pink老师教程
  8. 1、MyBatis下载地址以及简介
  9. AppScan报错--发生内部错误
  10. 7.72GB ARCGIS ERDAS ENVI干货教程网盘下载