学习打卡内容:
从基础概率推导贝叶斯公式,朴素贝叶斯公式(1)学习先验概率(2)学习后验概率(3)学习LR和linear regreeesion之间的区别(4)推导sigmoid function公式(5)答案:
模型假设:
我们假设特征之间 相互条件独立 。换句话来说就是特征向量中一个特征的取值并不影响其他特征的取值。所谓 独立(independence) 指的是统计意义上的独立,即一个特征或者单词出现的可能性与它和其他单词相邻没有关系,比如说,“我们”中的“我”和“们”出现的概率与这两个字相邻没有任何关系。这个假设正是朴素贝叶斯分类器中 朴素(naive) 一词的含义。朴素贝叶斯分类器中的另一个假设是,每个特征同等重要。
模型思想:
通过数据调整先验分布,得到每个样本属于每个类的条件概率,预测值为最大的条件概率所代表的的类。
模型公式: P ( c ∣ x ) = P ( c ) P ( x ∣ c ) P ( x ) = P ( c ) P ( x ) ∏ i = 1 d P ( x i ∣ c ) P(c | \boldsymbol{x})=\frac{P(c) P(\boldsymbol{x} | c)}{P(\boldsymbol{x})}=\frac{P(c)}{P(\boldsymbol{x})} \prod_{i=1}^{d} P\left(x_{i} | c\right) P(c∣x)=P(x)P(c)P(x∣c)=P(x)P(c)i=1∏dP(xi∣c)
h n b ( x ) = arg max c ∈ Y P ( c ) ∏ i = 1 d P ( x i ∣ c ) h_{n b}(\boldsymbol{x})=\underset{c \in \mathcal{Y}}{\arg \max } P(c) \prod_{i=1}^{d} P\left(x_{i} | c\right) hnb(x)=c∈YargmaxP(c)i=1∏dP(xi∣c)
P ( c ) = ∣ D c ∣ ∣ D ∣ P(c)=\frac{\left|D_{\mathrm{c}}\right|}{|D|} P(c)=∣D∣∣Dc∣
P ( x i ∣ c ) = ∣ D c , x i ∣ ∣ D c ∣ P\left(x_{i} | c\right)=\frac{\left|D_{c, x_{i}}\right|}{\left|D_{c}\right|} P(xi∣c)=∣Dc∣∣Dc,xi∣
假定 p ( x i ∣ c ) ∼ N ( μ c , i , σ c , i 2 ) p\left(x_{i} | c\right) \sim \mathcal{N}\left(\mu_{c, i}, \sigma_{c, i}^{2}\right) p(xi∣c)∼N(μc,i,σc,i2) p ( x i ∣ c ) = 1 2 π σ c , i exp ( − ( x i − μ c , i ) 2 2 σ c , i 2 ) p\left(x_{i} | c\right)=\frac{1}{\sqrt{2 \pi} \sigma_{c, i}} \exp \left(-\frac{\left(x_{i}-\mu_{c, i}\right)^{2}}{2 \sigma_{c, i}^{2}}\right) p(xi∣c)=2π σc,i1exp(−2σc,i2(xi−μc,i)2)
优化方法:
按步骤计算。
优缺点
优点: 在数据较少的情况下仍然有效,可以处理多类别问题。 缺点: 对于输入数据的准备方式较为敏感。 适用数据类型: 标称型数据。
在朴素贝叶斯的例子中,贝叶斯定理: P ( c ∣ x ) = P ( c ) P ( x ∣ c ) P ( x ) = P ( c ) P ( x ) ∏ i = 1 d P ( x i ∣ c ) P(c | \boldsymbol{x})=\frac{P(c) P(\boldsymbol{x} | c)}{P(\boldsymbol{x})}=\frac{P(c)}{P(\boldsymbol{x})} \prod_{i=1}^{d} P\left(x_{i} | c\right) P(c∣x)=P(x)P(c)P(x∣c)=P(x)P(c)i=1∏dP(xi∣c) 其中, P ( c ) P(c) P(c)是类先验概率;是样本 x x x 对于类标记 c c c的类条件概率(class-chonditional probability),或称为“似然”(likelihood); P ( x ) P(x) P(x)适用于归一化“证据”的因子。对给定样本 x x x,证据因子 P ( x ) P(x) P(x)与类标记无关,因此估计 P ( c ∣ x ) P(c|x) P(c∣x)的问题转化为如何基于训练数据 D D D来估计先验 P ( c ) P(c) P(c)和似然 P ( x ∣ c ) P(x|c) P(x∣c)。
由于朴素贝叶斯假假设属性间条件独立,所以似然函数表示为每个属性的似然函数乘积。
先验(A priori;又译:先天)在拉丁文中指“来自先前的东西”,或稍稍引申指“在经验之前”。近代西方传统中,认为先验指无需经验或先于经验获得的知识。它通常与后验知识相比较,后验意指“在经验之后”,需要经验。这一区分来自于中世纪逻辑所区分的两种论证,从原因到结果的论证称为“先验的”,而从结果到原因的论证称为“后验的”。
先验概率是指根据以往经验和分析得到的概率,如全概率公式 中的 ,它往往作为“由因求果”问题中的“因”出现。后验概率是指在得到“结果”的信息后重新修正的概率,是“执果寻因”问题中的“因” 。后验概率是基于新的信息,修正原来的先验概率后所获得的更接近实际情况的概率估计。先验概率和后验概率是相对的。如果以后还有新的信息引入,更新了现在所谓的后验概率,得到了新的概率值,那么这个新的概率值被称为后验概率。
后验概率是指通过调查或其它方式获取新的附加信息,利用贝叶斯公式对先验概率进行修正,而后得到的概率。
先验概率和后验概率的区别:
先验概率不是根据有关自然状态的全部资料测定的,而只是利用现有的材料(主要是历史资料)计算的;后验概率使用了有关自然状态更加全面的资料,既有先验概率资料,也有补充资料;
先验概率的计算比较简单,没有使用贝叶斯公式;而后验概率的计算,要使用贝叶斯公式,而且在利用样本资料计算逻辑概率时,还要使用理论概率分布,需要更多的数理统计知识。
虽然带着回归两字,但是它解决的是分类问题,而不是预测一段连续的值。
根据线性回归模型我们只能预测连续的值,然而对于分类问题,拿二分类举例,我们需要输出0或1,我们可以预测:
当 h θ ( x ) > = 0.5 {h_\theta}\left( x \right)>=0.5 hθ(x)>=0.5时,预测 y = 1 y=1 y=1 ;当 h θ ( x ) < 0.5 {h_\theta}\left( x \right)<0.5 hθ(x)<0.5时,预测 y = 0 y=0 y=0 。
虽然上述描述看起来可以解决问题,但是这种模型当y>1时,模型也会因此改变,这时以0.5作为阈值就不合适了,说明线性模型并不适合解决这样的问题。以下图为例:
训练集添加有很多的距离远大于1的数据后,分界线从绿色偏移到紫色。而事实上原先的绿色分界线的效果反而比紫色的效果好。
这时,我们引入一个新的模型,该模型的输出变量范围始终在0和1之间。 h θ ( x ) = g ( θ T X ) h_\theta \left( x \right)=g\left(\theta^{T}X \right) hθ(x)=g(θTX) 其中: X X X 代表特征向量 g g g 代表逻辑函数(logistic function)或称为S形函数(Sigmoid function),公式为: g ( z ) = 1 1 + e − z g\left( z \right)=\frac{1}{1+{{e}^{-z}}} g(z)=1+e−z1。
python代码实现:
import numpy as np def sigmoid(z): return 1 / (1 + np.exp(-z))该函数的图像为:
h θ ( x ) h_\theta \left( x \right) hθ(x)的作用是,对于给定的输入变量,根据选择的参数计算输出变量=1的可能性(estimated probablity),即
h θ ( x ) = P ( y = 1 ∣ x ; θ ) h_\theta \left( x \right)=P\left( y=1|x;\theta \right) hθ(x)=P(y=1∣x;θ)
例如,如果对于给定的 x x x,通过已经确定的参数计算得出 h θ ( x ) = 0.7 h_\theta \left( x \right)=0.7 hθ(x)=0.7,则表示有70%的几率 y y y为正向类,相应地 y y y为负向类的几率为1-0.7=0.3。