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

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

本节对应笔记:https://sakura-gh.github.io/ML-notes/ML-notes-html/6_Classification.html

本节内容综述

  1. 背景介绍,什么是“分类”问题。以宝可梦属性到种类的映射为例。
  2. 分类问题不能直接使用 linear regression 模型,因为回归模型会 penalize to the examples that are "too correct"(Bishop, P186)
  3. 对于分类模型,应该在 f(x)f(x)f(x) 内置去呗类别的函数,并且损失函数设为 L(f)=∑nδ(f(xn)≠y^n)L(f) = \sum_n \delta (f(x^n) \neq \hat{y}^n)L(f)=∑n​δ(f(xn)​=y^​n),但是没办法微分。SVM是一个解决方案,但是今天先不讲这个。
  4. 基于“盒子抽球”,从二元分类问题起,讨论一个贝叶斯/条件概率模型问题。
  5. 在神奇宝贝分类的例子中,进行首先基于数据进行一个高斯分布的拟合(使用极大似然法),这样就可以基于这个高斯分布计算出各个单个数据的采样的几率
  6. 接着,基于P(C1∣x)=P(x∣C1)P(C1)P(x∣C1)P(C1)+P(x∣C2)P(C2)P(C_1|x) = \frac{P(x|C_1)P(C_1)}{P(x|C_1)P(C_1) + P(x|C_2)P(C_2)}P(C1​∣x)=P(x∣C1​)P(C1​)+P(x∣C2​)P(C2​)P(x∣C1​)P(C1​)​这个公式,可以进行分类的预测。如果P(C1∣x)>0.5P(C_1|x)>0.5P(C1​∣x)>0.5,则判断为C1C_1C1​类。
  7. 改进模型,我们可以为描述两种数据的高斯分布赋予相同的方差Σ\SigmaΣ,这样参数减少;使用极大似然估计的话,则使用maximinzingthelikelihoodL(μ1,μ2,Σ)maximinzing\; the\; likelihood\; L(\mu^1, \mu^2, \Sigma)maximinzingthelikelihoodL(μ1,μ2,Σ)。Σ\SigmaΣ是两个类别数据方差的加权。
  8. 公用方差后,准确率从 54% 提升到了 73% 。
  9. 总结了“几率模型”的三步走,见[小细节](#Three Steps of 几率模型)。
  10. 为什么用 高斯分布模型 作为几率模型?实际上,你可以选择你喜欢的、你认为合适的。
  11. 如果你假设各个维度都相互独立,那么你就是在使用朴素贝叶斯分类
  12. 对于后验概率 posterior probability 进行了推导,将其与 Sigmoid 函数进行了联系。很巧妙,见[小细节](#Posterior Probability & Sigmoid Function)。我们将得出使用 wx+b 以及 Sigmoid 作为激活函数的合理性,很巧妙。

小细节

regression 的方法不适于 classification

如上图,如果使用 regression 的模型来进行分类的话,对于一些远大于1的点,分类器则会去接近它们,进而产生偏差。这是因为在 regression 中,我们要求蓝色的点越接近 1 越好,而非“大于1就可以了”。

因此不可以使用简单的 regression 模型来做分类。

Three Steps of 几率模型

Posterior Probability & Sigmoid Function

有了如上声明,我们推导一下 zzz 的具体内容:

  • 数学证明具体略;
  • 思路为对z=lnAB=lnA+lnBz=lnAB=lnA + lnBz=lnAB=lnA+lnB,并约因数,并展开;
  • 整理结束后,基于 ∑1=∑2\sum_1 = \sum_2∑1​=∑2​ 进行大幅度简化;
  • 进行整理,最后得到如下公式。

z=wTx+bz = w^T x + bz=wTx+b

其中,

  • wT=(μ1−μ2)T∑−1xw^T = (\mu^1 - \mu^2)^T \sum^{-1}xwT=(μ1−μ2)T∑−1x
  • b=−12(μ1)T(Σ1)−1μ1+12(μ2)T(Σ2)−1μ2+ln⁡N1N2b=-\frac{1}{2}\left(\mu^{1}\right)^{T}\left(\Sigma^{1}\right)^{-1} \mu^{1}+\frac{1}{2}\left(\mu^{2}\right)^{T}\left(\Sigma^{2}\right)^{-1} \mu^{2}+\ln \frac{N_{1}}{N_{2}}b=−21​(μ1)T(Σ1)−1μ1+21​(μ2)T(Σ2)−1μ2+lnN2​N1​​

因此,可以将复杂的概率公式写为:

P(C1∣x)=σ(w⋅x+b)P(C_1|x) = \sigma(w \cdot x + b)P(C1​∣x)=σ(w⋅x+b)

我们得出了:

  • 一元线性函数的合理性;
  • 使用 Sigmoid 作为激活函数的合理性。

【李宏毅2020 ML/DL】P10 Classification_1 | 简单的例子告诉你使用 wx+b 以及 Sigmoid 作为激活函数的合理性相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  8. 【李宏毅2020 ML/DL】P83 Generative Adversarial Network | Evaluation

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 这是我的李宏毅老师 GAN 系列第10篇笔记,GAN 系列: 1:Basic Idea 2:Condition ...

  9. 【李宏毅2020 ML/DL】P80 Generative Adversarial Network | Feature Extraction

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 这是我的李宏毅老师 GAN 系列第7篇笔记,GAN 系列: 1:Basic Idea 2:Conditiona ...

最新文章

  1. 树莓派3b+目标检测: tflite 运行 mobilenet ssd
  2. Cervical Cancer mechanism
  3. c# oldb连接_C#使用ODBC与OLEDB连接数据库的方法示例
  4. mcq 队列_MCQ | 软件生命周期模型
  5. 【python】set集合基础与使用
  6. 窗体常用属性的演练 c#
  7. java 返回页面_spring-mvc返回视图jsp页面及重定向
  8. hive join on 条件 与 where 条件区别
  9. mysql create database 语法_MySQL中CREATE DATABASE语法总结
  10. 12. 开发工具(make,makefile)
  11. 【MapGIS精品教程】002:GDB本地数据库的使用
  12. CMYK, RGB颜色值对照表
  13. 局域网中文件共享方案介绍(Win10版)
  14. java 龙卷风_龙卷风在大约37000个请求后停止响应
  15. c# 金额小写转大写(财务金额)
  16. android studio Statistic插件不显示
  17. 在Unity实现Canny边缘检测
  18. Servlet报错500的问题
  19. 首页 干货教程 大数据动向 大数据应用 数据可视化 数据分析 投资并购 企业专区 注册 登录 随机森林入门攻略(内含R、Python代码)
  20. 牛客每日练习----一个背包问题,判断奥运年,沃老师学生的成绩

热门文章

  1. 微服务架构的分布式事务解决方案
  2. nodejs 错误问题解决
  3. 另一个SqlParameterCollection 中已包含 SqlParameter[解决方案]
  4. 算法设计与分析--01背包问题(动态规划法解决)
  5. 如何在熊猫数据框的列中将所有NaN值替换为零
  6. win11升级到一半撤销怎么办 windows11升级到一半撤销的解决方法
  7. 蓝牙:协议/服务复用(PSM)
  8. 对麦克纳姆轮辊子的理解
  9. python面向过程实践汉诺塔_递归汉诺塔-和递归汉诺塔相关的内容-阿里云开发者社区...
  10. 去除maven父依赖_如何在Maven中从父项目中排除依赖项?