【李宏毅2020 ML/DL】P10 Classification_1 | 简单的例子告诉你使用 wx+b 以及 Sigmoid 作为激活函数的合理性
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的、自己不知道的东西。
已经有人记了笔记(很用心,强烈推荐):
https://github.com/Sakura-gh/ML-notes
本节对应笔记:https://sakura-gh.github.io/ML-notes/ML-notes-html/6_Classification.html
本节内容综述
- 背景介绍,什么是“分类”问题。以宝可梦属性到种类的映射为例。
- 分类问题不能直接使用 linear regression 模型,因为回归模型会
penalize to the examples that are "too correct"(Bishop, P186)
。 - 对于分类模型,应该在 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是一个解决方案,但是今天先不讲这个。
- 基于“盒子抽球”,从二元分类问题起,讨论一个贝叶斯/条件概率模型问题。
- 在神奇宝贝分类的例子中,进行首先基于数据进行一个高斯分布的拟合(使用
极大似然法
),这样就可以基于这个高斯分布计算出各个单个数据的采样的几率
。 - 接着,基于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类。
- 改进模型,我们可以为描述两种数据的高斯分布赋予相同的方差Σ\SigmaΣ,这样参数减少;使用
极大似然估计的话
,则使用maximinzingthelikelihoodL(μ1,μ2,Σ)maximinzing\; the\; likelihood\; L(\mu^1, \mu^2, \Sigma)maximinzingthelikelihoodL(μ1,μ2,Σ)。Σ\SigmaΣ是两个类别数据方差的加权。 - 公用方差后,准确率从 54% 提升到了 73% 。
- 总结了“几率模型”的三步走,见[小细节](#Three Steps of 几率模型)。
- 为什么用
高斯分布模型
作为几率模型?实际上,你可以选择你喜欢的、你认为合适的。 - 如果你假设各个维度都相互独立,那么你就是在使用
朴素贝叶斯分类
。 - 对于后验概率
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+lnN1N2b=-\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+lnN2N1
因此,可以将复杂的概率公式写为:
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 作为激活函数的合理性相关推荐
- 【李宏毅2020 ML/DL】P14 Tips for training DNN | 激活函数、Maxout、正则、剪枝 Dropout
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
- 李宏毅svm_李宏毅2020 ML/DL补充Structured Learning Structured SVM
李宏毅2020 ML/DL补充Structured Learning Structured SVM [李宏毅2020 ML/DL]补充:Structured Learning: Structured ...
- 【李宏毅2020 ML/DL】P1 introduction
[李宏毅2020 ML/DL]P1 introduction 本节主要介绍了 DL 的15个作业 英文大意 Regression: 回归分析 Classification: 分类 RNN: 循环神经网 ...
- 【李宏毅2020 ML/DL】P86-87 More about Domain Adaptation
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 本节内容综述 本节课由助教 Chao Brian 讲解. 首先讲解些领域适配的基础内容,包括名词.定义等. 接 ...
- 【李宏毅2020 ML/DL】P59 Unsupervised Learning - Auto-encoder
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P58 Unsupervised Learning - Neighbor Embedding | LLE, t-SNE
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...
- 【李宏毅2020 ML/DL】P15 Why Deep-
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐): https://github.com/Sakura-gh/ML-not ...
- 【李宏毅2020 ML/DL】P83 Generative Adversarial Network | Evaluation
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 这是我的李宏毅老师 GAN 系列第10篇笔记,GAN 系列: 1:Basic Idea 2:Condition ...
- 【李宏毅2020 ML/DL】P80 Generative Adversarial Network | Feature Extraction
我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 这是我的李宏毅老师 GAN 系列第7篇笔记,GAN 系列: 1:Basic Idea 2:Conditiona ...
最新文章
- 树莓派3b+目标检测: tflite 运行 mobilenet ssd
- Cervical Cancer mechanism
- c# oldb连接_C#使用ODBC与OLEDB连接数据库的方法示例
- mcq 队列_MCQ | 软件生命周期模型
- 【python】set集合基础与使用
- 窗体常用属性的演练 c#
- java 返回页面_spring-mvc返回视图jsp页面及重定向
- hive join on 条件 与 where 条件区别
- mysql create database 语法_MySQL中CREATE DATABASE语法总结
- 12. 开发工具(make,makefile)
- 【MapGIS精品教程】002:GDB本地数据库的使用
- CMYK, RGB颜色值对照表
- 局域网中文件共享方案介绍(Win10版)
- java 龙卷风_龙卷风在大约37000个请求后停止响应
- c# 金额小写转大写(财务金额)
- android studio Statistic插件不显示
- 在Unity实现Canny边缘检测
- Servlet报错500的问题
- 首页 干货教程 大数据动向 大数据应用 数据可视化 数据分析 投资并购 企业专区 注册 登录 随机森林入门攻略(内含R、Python代码)
- 牛客每日练习----一个背包问题,判断奥运年,沃老师学生的成绩
热门文章
- 微服务架构的分布式事务解决方案
- nodejs 错误问题解决
- 另一个SqlParameterCollection 中已包含 SqlParameter[解决方案]
- 算法设计与分析--01背包问题(动态规划法解决)
- 如何在熊猫数据框的列中将所有NaN值替换为零
- win11升级到一半撤销怎么办 windows11升级到一半撤销的解决方法
- 蓝牙:协议/服务复用(PSM)
- 对麦克纳姆轮辊子的理解
- python面向过程实践汉诺塔_递归汉诺塔-和递归汉诺塔相关的内容-阿里云开发者社区...
- 去除maven父依赖_如何在Maven中从父项目中排除依赖项?