IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 机器学习-白板推导学习笔记-4线性分类2 -> 正文阅读

[人工智能]机器学习-白板推导学习笔记-4线性分类2

本篇文章是根据视频(?link.)所作的学习笔记,旨在对机器学习的相关知识更好的理解和巩固。本人基础较弱,推导中看不懂的公式可能会细究,如果有理解不当之处也欢迎指出。

本篇主要介绍线性分类中的软分类模型(硬分类模型见上篇),用概率的方法进行分类。包括概率判别模型中的逻辑回归,概率生成模型中的GDA和朴素贝叶斯。

概率判别模型:根据样本数据学习出一个模型,然后对待分类数据进行概率计算,结果与0.5进行比较即可分类。

概率生成模型:根据两类样本数据学习出两个模型,然后将待分类数据带入到两个模型中,比较结果的大小进行分类。

·?数据介绍

D={(x_{1},y_{1}),(x_{2},y_{2}),...,(x_{N},y_{N})}

X=(x_{1},x_{2},...,x_{N})^{T}=\begin{bmatrix} x_{11} & x_{12} &... &x_{1p} \\ x_{21}& x_{22} &... &x_{2p} \\ ... & ... & ...& ...\\ x_{N1}& x_{N2}& ...& x_{Np} \end{bmatrix}_{N\times p}

Y=\begin{bmatrix} y_{1}\\ y_{2}\\ ...\\ y_{N} \end{bmatrix}_{N\times 1}

y_{i}\epsilon\left \{ 0,1 \right \},且y=1时记为C1类,对应样本数量为N1;y=0时记为C2类,对应样本数量为N2。

概率判别模型之逻辑回归(Logistic Regression)

逻辑回归模型主要是通过一个sigmoid激活函数\sigma (\omega ^{T}+b)来实现线性分类的。

sigmoid函数:\sigma (z)=\frac{1}{1+e^{-z}}

分析该函数:\left\{\begin{matrix} z\rightarrow +\infty , & \sigma (z)\rightarrow 1\\ z\rightarrow 0, & \sigma (z)\rightarrow \frac{1}{2}\\ z\rightarrow -\infty , & \sigma (z)\rightarrow 0 \end{matrix}\right.,图像如下:

软分类得到的是一个[0,1]的概率值p(y|x)。得到该表达式之前,先介绍一下数据属于C1,C2类的概率表达:

\left\{\begin{matrix} P_{1}=P(Y=1|X)=\sigma (\omega ^{T}X+b)=\frac{1}{1+e^{-\omega ^{T}X+b}} ,& X\epsilon C_{1},Y=1\\ P_{0}=P(Y=0|X)=\sigma (\omega ^{T}X+b)=\frac{e^{-\omega ^{T}X+b}}{1+e^{-\omega ^{T}X+b}} ,& X\epsilon C_{2},Y=0 \end{matrix}\right.

构造{\color{Red} P(Y|X)=P_{1}^{Y}P_{0}^{1-Y}},这个构造还是很巧妙的,Y=1时,刚好是P1;Y=0时,刚好是P0;P0+P1=1,由于sigmoid函数以1/2为划分,所以当P(Y|X)结果大于0.5时则为C1类,否则为C2类。

求参数\theta :\left \{ \omega ,b \right \}:

\hat{\theta }=argmaxLog P(Y|X)\\ =argmax \sum_{i=1}^{N}Log P(y_{i}|x_{i})\\ =argmax \sum_{i=1}^{N}Log P_{1}^{y_{i}}P_{0}^{1-y_{i}}\\ =argmax \sum_{i=1}^{N} [ y_{i}Log P_{1}+(1-y_{i})LogP_{0} ]

\psi (X,\omega )=P_{1}=\frac{1}{1+e^{-\omega ^{T}X+b}}

则??\hat{\theta }=argmax {\color{Red} \sum_{i=1}^{N} [ y_{i}Log \psi (X,\omega )+(1-y_{i})Log(1-\psi (X,\omega ))) ]}

末尾的红色部分加上负号也叫做二分类问题中的交叉熵损失函数(cross entropy):

L(\theta )=-\sum_{i=1}^{N} [ y_{i}Log \psi (X,\omega )+(1-y_{i})Log(1-\psi (X,\omega ))) ]

\therefore \hat{\theta }=argminL(\theta )

逻辑回归的推导到这里就戛然而止啦!精彩在后面~

概率生成模型之GDA

由之前的学习我们知道:

P(Y|X)\propto P(X|Y)P(Y)

\hat{y}=argmaxP(Y|X)=argmaxP(X|Y)P(Y)

先假设先验数据服从伯努利分布Y\sim Bernoulli(\phi )\left\{\begin{matrix} P(Y)=\phi, &Y=1 \\ P(Y)=1-\phi & Y=0 \end{matrix}\right.

先验概率{\color{Red} P(Y)=\phi ^{y}(1-\phi )^{1-y}}

并假设\left\{\begin{matrix} X|Y=1\sim N(\mu _{1},\Sigma )\\ X|Y=0\sim N(\mu _{2},\Sigma ) \end{matrix}\right.,同方差,不同均值

似然概率{\color{Red} P(X|Y)=N(\mu _{1},\Sigma )^{y}\cdot N(\mu _{2},\Sigma )^{1-y}}

有了先验概率和似然概率,可得出目标函数表达式:

J(\theta )=LogP(X|Y)P(Y)\\ =\sum_{i=1}^{N}Log[P(x_{i}|y_{i})P(y_{i})]\\ =\sum_{i=1}^{N}Log[N(\mu _{1},\Sigma )^{y_{i}}\cdot N(\mu _{2},\Sigma )^{1-y_{i}}\cdot \phi ^{y_{i}}(1-\phi )^{1-y_{i}}]\\ =\sum_{i=1}^{N}[y_{i}LogN(\mu _{1},\Sigma )+(1-y_{i})LogN(\mu _{2},\Sigma )+Log\phi ^{y_{i}}(1-\phi )^{1-y_{i}}]

为了方便下面的推导,把[]内部的三项分分别记为J1,J2,J3,即:

J_{1}=\sum_{i=1}^{N}y_{i}LogN(\mu _{1},\Sigma )J_{2}=\sum_{i=1}^{N}y_{i}LogN(\mu _{2},\Sigma )J_{3}=\sum_{i=1}^{N}Log\phi ^{y_{i}}(1-\phi )^{1-y_{i}}

其中,\theta :\left \{ \mu _{1},\mu _{2},\Sigma ,\phi \right \}\hat{\theta }=argmaxJ(\theta ),一个一个来求:

1)求参数\phi,只与J3有关。

J_{3}=\sum_{i=1}^{N}{y_{i}Log\phi }+(1-y_{i})Log(1-\phi )

\frac{\partial J_{3}}{\partial \phi }=\sum_{i=1}^{N}[y_{i}\cdot \frac{1}{\phi }+(1-y_{i})\cdot \frac{1}{1-\phi }\cdot (-1))]=0\\

\sum_{i=1}^{N}y_{i}\cdot \frac{1}{\phi }=\sum_{i=1}^{N}(1-y_{i})\cdot \frac{1}{1-\phi }\\

\sum_{i=1}^{N}y_{i}(1-\phi )=\sum_{i=1}^{N}(1-y_{i})\phi \\

\sum_{i=1}^{N}(y_{i}-\phi )=0\\

\phi =\frac{1}{N} \sum_{i=1}^{N}y_{i}=\frac{N_{1}}{N}

\phi对应的是Y=1 时的概率,所以分子为N1;Y=0时的先验概率对应1-\phi=N2/N

2)求参数\mu _{1},\mu _{2},与J1,J2项有关,形式相同,求出一个,另一个同理。

J_{1}=\sum_{i=1}^{N}y_{i}LogN(\mu _{i},\Sigma )\\ =\sum_{i=1}^{N}y_{i}Log[\frac{1}{(2\pi )^{\frac{p}{2}}\left | \Sigma \right |^{\frac{1}{2}}}exp(-\frac{1}{2}(x_{i}-\mu _{1})^{T}\Sigma ^{-1}(x_{i}-\mu _{1}))]\\ =\sum_{i=1}^{N}[C+y_{i}(-\frac{1}{2}(x_{i}^{T}\Sigma ^{-1}-\mu _{1}^{T}\Sigma ^{-1})(x_{i}-\mu _{1}))]\\ =\sum_{i=1}^{N}[C+y_{i}(-\frac{1}{2}(x_{i}^{T}\Sigma ^{-1}x_{i}-2x_{i}^{T}\Sigma ^{-1}\mu _{1}+\mu _{1}^{T}\Sigma ^{-1}\mu _{1}]

\frac{\partial J_{1}}{\partial \mu _{1}}=\sum_{i=1}^{N}[y_{i}(-\frac{1}{2}(2x_{i}^{T}\Sigma ^{-1}+2\Sigma ^{-1}\mu _{1}]=0

\sum_{i=1}^{N}y_{i}x_{i}^{T}\Sigma ^{-1}=\sum_{i=1}^{N}y_{i}\Sigma ^{-1}\mu _{1}

两边同时乘以\Sigma,得??\sum_{i=1}^{N}y_{i}x_{i}^{T}=\sum_{i=1}^{N}y_{i}\mu _{1}

\mu _{1}=\frac{\sum_{i=1}^{N}y_{i}x_{i}^{T}}{\sum_{i=1}^{N}y_{i}}=\frac{\sum_{i=1}^{N}y_{i}x_{i}^{T}}{N_{1}},同理,\mu _{2}=\frac{\sum_{i=1}^{N}y_{i}x_{i}^{T}}{\sum_{i=1}^{N}y_{i}}=\frac{\sum_{i=1}^{N}y_{i}x_{i}^{T}}{N_{2}}

3)求参数\Sigma,与J1+J2有关,先看?\sum_{i=1}^{N}LogN(\mu ,\Sigma )的化简结果,再带入J1,J2

\sum_{i=1}^{N}LogN(\mu ,\Sigma )=\sum_{i=1}^{N}Log[\frac{1}{(2\pi )^{\frac{p}{2}}\left | \Sigma \right |^{\frac{1}{2}}}exp(-\frac{1}{2}(x_{i}-\mu )^{T}\Sigma ^{-1}(x_{i}-\mu))]\\ =\sum_{i=1}^{N}[Log\frac{1}{(2\pi )^{\frac{p}{2}}}+Log{|\Sigma |^{-\frac{1}{2}}-\frac{1}{2}(x_{i}-\mu )^{T}\Sigma ^{-1}(x_{i}-\mu)]\\

=C-\frac{1}{2}NLog|\Sigma |-\frac{1}{2}\sum_{i=1}^{N}(x_{i}-\mu )^{T}\Sigma ^{-1}(x_{i}-\mu)\\

=C-\frac{1}{2}NLog|\Sigma |-\frac{1}{2}\sum_{i=1}^{N}(x_{i}-\mu )^{T}\Sigma ^{-1}(x_{i}-\mu)

其中,(x_{i}-\mu )^{T}\Sigma ^{-1}(x_{i}-\mu))为一实数,实数与自身的迹tr()相同

\therefore\: =C-\frac{1}{2}NLog|\Sigma |-\frac{1}{2}tr(\sum_{i=1}^{N}(x_{i}-\mu )^{T}\Sigma ^{-1}(x_{i}-\mu))

引入一个迹的性质:tr(AB)=tr(BA),里面的元素满足交换律

\therefore\: =C-\frac{1}{2}NLog|\Sigma |-\frac{1}{2}tr(\sum_{i=1}^{N}(x_{i}-\mu)(x_{i}-\mu )^{T}\Sigma ^{-1})

注意了,里面?\sum_{i=1}^{N}(x_{i}-\mu)(x_{i}-\mu )^{T}这一项跟方差S有点像,等于NS

\therefore\: =C-\frac{1}{2}NLog|\Sigma |-\frac{1}{2}Ntr(S\Sigma ^{-1})

此时,就可以得出J1+J2的表达式了

J_{1}+J_{2}=\sum_{i=1}^{N}y_{i}LogN(\mu _{1},\Sigma )+\sum_{i=1}^{N}y_{i}LogN(\mu _{2},\Sigma )\\ =\sum_{x_{i}\epsilon C_{1}}LogN(\mu _{1},\Sigma )+\sum_{x_{i}\epsilon C_{2}}LogN(\mu _{2},\Sigma )\\ =-\frac{1}{2}N_{1}Log|\Sigma |-\frac{1}{2}N_{1}tr(S_{1}\Sigma ^{-1})-\frac{1}{2}N_{2}Log|\Sigma |-\frac{1}{2}N_{2}tr(S_{2}\Sigma ^{-1})+C\\ \\=-\frac{1}{2}NLog|\Sigma |-\frac{1}{2}N_{1}tr(S_{1}\Sigma ^{-1})-\frac{1}{2}N_{2}tr(S_{2}\Sigma ^{-1})+C

这里加入一些求导的性质:行列式求导\frac{\partial |A|}{\partial A}=|A|\cdot A^ {-1},迹的求导\frac{\partial tr(AB))}{\partial A}=B^{T}A^{'}

\frac{\partial J_{1}+J_{2}}{\partial \Sigma }\\ \\=-\frac{1}{2}N\frac{1}{|\Sigma |}\cdot |\Sigma |\cdot |\Sigma |^{-1}-\frac{1}{2}N_{1}S_{1}^{T}(-1)\Sigma ^{-2}-\frac{1}{2}N_{1}S_{2}^{T}(-1)\Sigma ^{-2}\\ \\ =-\frac{1}{2}(N|\Sigma |^{-1}-N_{1}S_{1}\Sigma ^{-2}-N_{2}S_{2}\Sigma ^{-2})=0

N|\Sigma |^{-1}=(N_{1}S_{1}+N_{2}S_{2})\Sigma ^{-2}

N|\Sigma |=N_{1}S_{1}+N_{2}S_{2}

\Sigma =\frac{1}{N}(N_{1}S_{1}+N_{2}S_{2})

终于推导完啦!撒花!!!这个也太长了。。。

概率生成模型之朴素贝叶斯

up主说这个是最简单的,“朴素”可不就约等于简单嘛

之所以朴素是因为作了一个条件独立性假设,即每个数据的特征(属性)之间都是相互独立的,直接连乘就可以啦。?P(X|Y)=\prod_{i=1}^{N}\prod_{j=1}^{p}P(x_{ij}|y_{i})

咱就是说今天下班啦!吃年夜饭去啦!各位新年快乐,虎年如虎~

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-02-01 20:36:39  更:2022-02-01 20:39:21 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 20:47:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码