我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。

已经有人记了笔记(很用心,强烈推荐):
https://github.com/Sakura-gh/ML-notes

本节对应笔记:https://sakura-gh.github.io/ML-notes/ML-notes-html/7_Logistic-Regression.html

本节内容综述

  1. 接着上节课的内容,基于高斯的线性函数外包Sigmoid函数Logistic Regression
  2. 优化目标从 w∗,b∗=argmax⁡w,bL(w,b)w^*,b^* = arg \max_{w,b}L(w,b)w∗,b∗=argmaxw,b​L(w,b) 可以变为 w∗,b∗=argmin⁡w,b−ln⁡L(w,b)w^*,b^* = arg \min_{w,b}-\ln L(w,b)w∗,b∗=argminw,b​−lnL(w,b)。基于此,引入交叉熵概念。
  3. 如何优化?同样,对参数取偏微分,进行了精彩的推导,有−ln⁡L(w,b)∂wi=∑n−(y^n−fw,b(xn))xin\frac{-\ln L(w,b)}{\partial w_i}=\sum_n -(\hat{y}^n-f_{w,b}(x^n))x_i^n∂wi​−lnL(w,b)​=∑n​−(y^​n−fw,b​(xn))xin​;惊人的是,Logistic regression 与 Linear regression 的迭代式是相同的。
  4. 接着,老师讲了为什么 Logistic regression 不能用 Square Error。因为在 Square Error 的分布中,即便离目标很远,其梯度也很平缓。见[小细节](#Cross Entropy v.s. Square Error)。
  5. 判别式与生成式(Discriminative v.s. Generative),其所用的式子其实本质上是相同的。见[小细节](#Discriminative v.s. Generative)。但其结果是不同的,因为后者基于概率模型,假设多一些。但实际上,前者(Discriminative)表现一般会更好
  6. 多分类问题。我们使用 softmax 函数。见[小细节](#Multi-class Classification)。
  7. 其实,逻辑回归有很强的限制性。比如,无法处理异或的四个数据。解决方案有:Feature Transformation (比如计算其到某几个点的距离);此外,可以使用神经网络进行特征处理。见小细节。

小细节

引入交叉熵概念

对于逻辑回归的优化目标,我们进行如下变换。

如上,将类别的目标值用0/1表示。

我们的目标函数正好是两个伯努利分布的交叉熵

交叉熵可以理解为两个分布的接近程度。

Cross Entropy v.s. Square Error

Discriminative v.s. Generative

在两个模型中,其结果是不同的,因为假设不同的:

  • 在 Discriminative 中,我们使用梯度下降寻找参数最优值 w 与 b ,并且没有做任何实质性假设
  • 在 Generative 中,我们对概率分布做了实质性假设,比如是否是高斯分布、是否独立(可以使用朴素贝叶斯等等)。

一般来讲,Discriminative表现会更好。

举个例子,对于如下训练数据(典型的不平衡的数据):

对于[1,1][1,1][1,1]的训练数据,我们人类自然认为其属于类别1的概率更大,但是根据朴素贝叶斯计算得出,其属于类别2的概率更大,这是错误的。朴素贝叶斯计算过程如下。

因为多了一些假设,贝叶斯帮助了我们进行“脑补”。造成了偏差。

但是有时,使用 Generative 也有好处。比如语音辨识中常使用,因为假设是合理的。

Multi-class Classification

优化目标则为交叉熵。

由特征转换引入神经网络的概念

之前提到了,单个 softmax 不能处理异或的数据。但是我们可以将输入的特征进行特征转换,从而可以使用线性分类。

但是,如何做自动的特征提取呢?多设几个回归模型,拼在一起。你会发现,这就是神经元及神经网络。

【李宏毅2020 ML/DL】P11 Logistic Regression | 由逻辑回归中的特征转换巧妙引出“神经网络”的概念相关推荐

  1. 【李宏毅2020 ML/DL】P3 Regression - Case Study

    资源: Bilibili BV1JE411g7XF http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML20.html Machine Learning 202 ...

  2. 【李宏毅2020 ML/DL】P1 introduction

    [李宏毅2020 ML/DL]P1 introduction 本节主要介绍了 DL 的15个作业 英文大意 Regression: 回归分析 Classification: 分类 RNN: 循环神经网 ...

  3. 【李宏毅2020 ML/DL】P86-87 More about Domain Adaptation

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 Chao Brian 讲解. 首先讲解些领域适配的基础内容,包括名词.定义等. 接 ...

  4. 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  5. 【李宏毅2020 ML/DL】P58 Unsupervised Learning - Neighbor Embedding | LLE, t-SNE

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  6. 【李宏毅2020 ML/DL】P15 Why Deep-

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...

  7. 【李宏毅2020 ML/DL】P14 Tips for training DNN | 激活函数、Maxout、正则、剪枝 Dropout

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...

  8. 李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM

    李宏毅2020 ML/DL补充Structured Learning Structured SVM [李宏毅2020 ML/DL]补充:Structured Learning: Structured ...

  9. Logistic Regression(逻辑回归)原理及公式推导

    Logistic Regression(逻辑回归)原理及公式推导 Logistic Regression(逻辑回归)是机器学习中一个非常非常常见的模型,在实际生产环境中也常常被使用,是一种经典的分类模 ...

最新文章

  1. jenkins 配置使用
  2. Oracle存储过程编译卡死的解决方法
  3. ubuntu 符号连接的层数过多_Linux符号连接的层数过多解决
  4. Java 多文件上传
  5. python 定义字符串变量_Python变量和字符串详解
  6. 高性能WEB开发(11) - flush让页面分块,逐步呈现
  7. js获取本月或指定月份的最后一天
  8. 使用MSYS2编译64位gvim
  9. 使用Emacs执行外部shell命令
  10. 第三季-第9课-库函数方式文件编程
  11. 3dmax渲染大图高清最详细参数来了
  12. PHP工程师接私单操作流程
  13. 【docker】虚拟化和docker容器概念
  14. 【养生之道】男人养生的秘诀
  15. 一文搞懂单向散列函数
  16. 动态代理IP有什么用?
  17. Mysql数据库管理工具简介
  18. 《Cortex-CM3权威指南》——Cortex-CM3基础
  19. 个人成长:简单写写《乔布斯传》读后感
  20. java 经纬度 电子围栏_电子围栏判断 java 版本

热门文章

  1. [Unity3D]无缝场景切换解决方案(1) - 简单场景切换
  2. 关于iOS6应用中第三方类库不支持armv7s的问题解决
  3. [转]Vs解决方案的目录结构设置和管理
  4. 【vue开发问题-解决方法】(一)在style中设置background-image时路径问题
  5. 【java】javac命令在win10不可用,提示javac不是内部或外部命令,也不是可运行的程序【解决方法】
  6. python __file__ is not defined 解决方法
  7. vs关于“当前不会命中断点 还没有为该文档加载任何符号”的解决方法
  8. ios系统微信浏览器、safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法
  9. 解决Kubelet Pod启动CreatePodSandbox或RunPodSandbox异常方法
  10. 华硕主板怎么开启tpm2.0