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 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 李航统计学习方法 Chapter4 朴素贝叶斯法 -> 正文阅读

[人工智能]李航统计学习方法 Chapter4 朴素贝叶斯法

如果想了解更多的知识,可以去我的机器学习之路 The Road To Machine Learning通道

第4章 朴素贝叶斯法

1.朴素贝叶斯法是典型的生成学习方法。生成方法由训练数据学习联合概率分布
P ( X , Y ) P(X,Y) P(X,Y),然后求得后验概率分布 P ( Y ∣ X ) P(Y|X) P(YX)。具体来说,利用训练数据学习 P ( X ∣ Y ) P(X|Y) P(XY) P ( Y ) P(Y) P(Y)的估计,得到联合概率分布:
P ( X , Y ) = P ( Y ) P ( X ∣ Y ) P(X,Y)=P(Y)P(X|Y) P(X,Y)P(Y)P(XY)
概率估计方法可以是极大似然估计或贝叶斯估计。

2.朴素贝叶斯法的基本假设是条件独立性,

P ( X = x ∣ Y = c k ) = P ( X ( 1 ) = x ( 1 ) , ? ? , X ( n ) = x ( n ) ∣ Y = c k ) = ∏ j = 1 n P ( X ( j ) = x ( j ) ∣ Y = c k ) \begin{aligned} P(X&=x | Y=c_{k} )=P\left(X^{(1)}=x^{(1)}, \cdots, X^{(n)}=x^{(n)} | Y=c_{k}\right) \\ &=\prod_{j=1}^{n} P\left(X^{(j)}=x^{(j)} | Y=c_{k}\right) \end{aligned} P(X?=xY=ck?)=P(X(1)=x(1),?,X(n)=x(n)Y=ck?)=j=1n?P(X(j)=x(j)Y=ck?)?

这是一个较强的假设。由于这一假设,模型包含的条件概率的数量大为减少,朴素贝叶斯法的学习与预测大为简化。因而朴素贝叶斯法高效,且易于实现。其缺点是分类的性能不一定很高。

3.朴素贝叶斯法利用贝叶斯定理与学到的联合概率模型进行分类预测。

P ( Y ∣ X ) = P ( X , Y ) P ( X ) = P ( Y ) P ( X ∣ Y ) ∑ Y P ( Y ) P ( X ∣ Y ) P(Y | X)=\frac{P(X, Y)}{P(X)}=\frac{P(Y) P(X | Y)}{\sum_{Y} P(Y) P(X | Y)} P(YX)=P(X)P(X,Y)?=Y?P(Y)P(XY)P(Y)P(XY)?
将输入 x x x分到后验概率最大的类 y y y

y = arg ? max ? c k P ( Y = c k ) ∏ j = 1 n P ( X j = x ( j ) ∣ Y = c k ) y=\arg \max _{c_{k}} P\left(Y=c_{k}\right) \prod_{j=1}^{n} P\left(X_{j}=x^{(j)} | Y=c_{k}\right) y=argck?max?P(Y=ck?)j=1n?P(Xj?=x(j)Y=ck?)
后验概率最大等价于0-1损失函数时的期望风险最小化。

模型:

  • 高斯模型
  • 多项式模型
  • 伯努利模型

朴素贝叶斯法与贝叶斯估计(Bayesian estimation)是不同的概念。

后验概率最大化的含义

朴素贝叶斯将实例分到后验概率最大的类中,等价于期望风险最小化。假设我们选择了 0 ? 1 0-1 0?1损失函数
L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) (1) L(Y,f(X))=\begin{cases} 1, & Y \neq f(X)\\ 0, & Y = f(X) \end{cases} \tag{1} L(Y,f(X))={1,0,?Y?=f(X)Y=f(X)?(1)
对于我们的期望风险函数,我们可以对齐取条件期望,可以得到
R e x p ( f ) = E X ∑ k = 1 K [ L ( c k , f ( X ) ) ] P ( c k ∣ X ) R_{exp}(f)=E_X\sum^K_{k=1}[L(c_k,f(X))]P(c_k|X) Rexp?(f)=EX?k=1K?[L(ck?,f(X))]P(ck?X)
然后为了使期望风险最小化,我们可以对每一个 X = x X=x X=x逐个极小化,可以得到
f ( x ) = a r g m i n y ∈ Y ∑ k = 1 K [ L ( c k , f ( X ) ) ] P ( c k ∣ X ) = a r g m i n y ∈ Y ∑ k = 1 K P ( y ≠ c k ∣ X = x ) = a r g m i n y ∈ Y ( 1 ? P ( y = c k ∣ X = x ) ) = a r g m a x y ∈ Y P ( y = c k ∣ X = x ) \begin{aligned} f(x) &= argmin_{y \in Y}\sum^K_{k=1}[L(c_k,f(X))]P(c_k|X)\\ &= argmin_{y \in Y}\sum^K_{k=1}P(y \neq c_k|X=x)\\ &= argmin_{y \in Y}(1-P(y=c_k|X=x))\\ &= argmax_{y \in Y}P(y=c_k|X=x) \end{aligned} f(x)?=argminyY?k=1K?[L(ck?,f(X))]P(ck?X)=argminyY?k=1K?P(y?=ck?X=x)=argminyY?(1?P(y=ck?X=x))=argmaxyY?P(y=ck?X=x)?
这样我们就可以得到期望风险最小化等价于后验概率最大化准则

极大似然估计

为了估计状态变量的条件分布,利用贝叶斯法则,有
P ( X ∣ Y ) ? ? p o s t e r i o r = P ( Y ∣ X ) ? l i k e l i h o o d P ( X ) ? p r i o r P ( Y ) ? ? e v i d e n c e = P ( Y ∣ X ) ? l i k e l i h o o d P ( X ) ? p r i o r ∑ x P ( Y ∣ X ) P ( X ) ? e v i d e n c e \underbrace{P(X|Y)}*{posterior}=\frac{\overbrace{P(Y|X)}^{likelihood}\overbrace{P(X)}^{prior}}{\underbrace{P(Y)}*{evidence}}=\frac{\overbrace{P(Y|X)}^{likelihood}\overbrace{P(X)}^{prior}}{\underbrace{\sum\limits_x P(Y|X)P(X)}_{evidence}} P(XY)??posterior= P(Y)??evidenceP(YX) ?likelihood?P(X) ?prior??=evidence x?P(YX)P(X)??P(YX) ?likelihood?P(X) ?prior??
其中 P ( X ∣ Y ) P(X|Y) P(XY)为给定 Y Y Y X X X的后验概率(Posterior), P ( Y ∣ X ) P(Y|X) P(YX)称为似然(Likelyhood), P ( X ) P(X) P(X)称为先验(Prior)。

  • 后验概率最大化的含义

    朴素贝叶斯法将实例分到后验概率最大的类中, 这等价于期望风险最小化

贝叶斯估计

对于x的某个特征的取值没有在先验中出现的情况 ,如果用极大似然估计就会出现所要估计的概率值为0的情况。这样会影响后验概率的计算结果,使分类产生偏差

为了解决这一问题,我们就采用贝叶斯估计
P λ ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x i j = a j l , y j = c k ) + λ ∑ i = 1 N I ( y j = c k ) + S j λ P_{\lambda}(X^{(j)}=a_{jl}|Y=c_k)=\frac{\sum\limits_{i=1}^NI(x_i^{j}=a_{jl},y_j=c_k)+\lambda}{\sum\limits_{i=1}^NI(y_j=c_k)+S_j\lambda} Pλ?(X(j)=ajl?Y=ck?)=i=1N?I(yj?=ck?)+Sj?λi=1N?I(xij?=ajl?,yj?=ck?)+λ?
其中我们的 λ ≥ 0 \lambda \ge 0 λ0,等价于在随机变量的各个取值的频数上赋予一个整数 λ > 0 \lambda > 0 λ>0,其实就是为了覆盖样本全空间

  • λ = 0 \lambda=0 λ=0时,就是极大似然估计

  • λ = 1 \lambda=1 λ=1时,这被称为拉普拉斯平滑 ( L a p l a c i a n s m o o t h i n g ) (Laplacian smoothing) (Laplaciansmoothing)

GaussianNB 高斯朴素贝叶斯

特征的可能性被假设为高斯

概率密度函数:
P ( x i ∣ y k ) = 1 2 π σ y k 2 e x p ( ? ( x i ? μ y k ) 2 2 σ y k 2 ) P(x_i | y_k)=\frac{1}{\sqrt{2\pi\sigma^2_{yk}}}exp(-\frac{(x_i-\mu_{yk})^2}{2\sigma^2_{yk}}) P(xi?yk?)=2πσyk2? ?1?exp(?2σyk2?(xi??μyk?)2?)
数学期望(mean): μ \mu μ

方差: σ 2 = ∑ ( X ? μ ) 2 N \sigma^2=\frac{\sum(X-\mu)^2}{N} σ2=N(X?μ)2?

高斯模型

接着我们利用朴素贝叶斯的方法来解决iris分类问题

首先对我们的数据进行处理,取出前100个数据进行分类,并且分为训练集和测试集,测试集占30%

import numpy as np
import pandas as pd

from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
import math

def create_data():
    iris = load_iris()
    df = pd.DataFrame(iris.data, columns=iris.feature_names)
    df['label'] = iris.target
    df.columns = ['sepal length', 'sepal width', 'petal length', 'petal width', 'label']
    data = np.array(df.iloc[:100, :])
    # print(data)
    return data[:,:-1], data[:,-1]

X, y = create_data()
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)

接着可以用我们朴素贝叶斯的方法来解决这个分类问题

class NaiveBayes:
    def __init__(self):
        self.model = None

    # 数学期望
    @staticmethod
    def mean(x):
        return sum(x)/float(len(x))

    # 标准差
    def std(self,x):
        avg = self.mean(x)
        return math.sqrt(sum(math.pow(x_i-avg,2) for x_i in x)/float(len(x)))

    # 概率密度函数
    def gaussian_prob(self,x,mean,std):
        exp = math.pow(math.e, -1*(math.pow(x - mean,2))/(2*std))
        return (1/(math.sqrt(2*math.pi*std)))*exp

    # 计算训练的均值和方差
    def mean_and_std(self,x):
        mean_and_std=[(self.mean(i),self.std(i)) for i in zip(*x)]
        return mean_and_std

    # 分类别求出数学期望和标准差
    def fit(self,x,y):
        labels = list(set(y))
        data = {label:[] for label in labels}
        for f,label in zip(x,y):
            data[label].append(f)
        self.model = {label:self.mean_and_std(value) for label,value in data.items()}
        print("GaussianNB train Done!")


    # 计算概率
    def prob(self,data):
        probabillity = {}
        for label,value in self.model.items():
            probabillity[label] = 1
            for i in range(len(value)):
                mean,std = value[i]
                probabillity[label] *= self.gaussian_prob(data[i],mean,std)
        return probabillity

    # 类别
    def predict(self,x_test):
        #print(self.prob(x_test))
        label = sorted(self.prob(x_test).items(),key=lambda x:x[-1])[-1][0]
        return label

    def score(self,x_test,y_test):
        right = 0
        for x,y in zip(x_test,y_test):
            label = self.predict(x)
            if  label == y:
                right+=1
        return right / float(len(x_test))

model = NaiveBayes()
model.fit(X_train,y_train)
#print(model.model)
print(model.predict([4.4,3.2,1.3,0.2]))
print("在测试集中的准确率:")
print(str(100*(model.score(X_test, y_test)))+"%")
GaussianNB train Done!
0.0
在测试集中的准确率:
100.0%

在编写程序的时候,我们有一些小技巧,第一个技巧是使用 zip ()函数,它将从每个提供的参数中聚合元素。我们使用 * 操作符将数据集传递给 zip ()函数,该操作符将数据集(即列表列表)分离到每一行的单独列表中。函数的作用是: 遍历每一行的每一个元素,并从数据集中返回一列数字,一个聪明的小把戏

scikit-learn实现

除此之外,我们可以利用scikit-learn实现我们的模型,除了高斯模型,还有伯努利模型,多项式模型等等

# scikit-learn 实现

from sklearn.naive_bayes import  GaussianNB  # 高斯模型
from sklearn.naive_bayes import BernoulliNB # 伯努利模型
from sklearn.naive_bayes import MultinomialNB # 多项式模型

clf = GaussianNB()
# clf = BernoulliNB()
# clf = MultinomialNB()

clf.fit(X_train,y_train)
print(clf.predict([[4.4,3.2,1.3,0.2]]))

例4.1

我们同样可以用高斯模型来解决我们的例题4.1

import numpy as np

# SML分别对应为123

X = np.array([[1, 1], [1, 2], [1, 2], [1, 1], [1, 1], [2, 1], [2, 2], [2, 2], [2, 3], [2, 3], [3, 3], [3,2], [3,2], [3, 3], [3, 3]])
Y = np.array([-1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1])
from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
#拟合数据
clf.fit(X, Y)

print(clf.predict([[2, 1]]))
print(clf.predict_proba([[2,1]]))
[-1]
[[0.74566865 0.25433135]]

我们可以看到我们的结果是-1,并且这里给出了 { ? 1 , 1 } \{-1,1\} {?1,1}的概率,大约是0.75和0.25。

第4章朴素贝叶斯法-习题

习题4.1

??用极大似然估计法推出朴素贝叶斯法中的概率估计公式(4.8)及公式 (4.9)。

解答:
**第1步:**证明公式(4.8): P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) N \displaystyle P(Y=c_k) = \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k)}{N} P(Y=ck?)=Ni=1N?I(yi?=ck?)?
由于朴素贝叶斯法假设 Y Y Y是定义在输出空间 Y \mathcal{Y} Y上的随机变量,因此可以定义 P ( Y = c k ) P(Y=c_k) P(Y=ck?)概率为 p p p
m = ∑ i = 1 N I ( y i = c k ) \displaystyle m=\sum_{i=1}^NI(y_i=c_k) m=i=1N?I(yi?=ck?),得出似然函数:
L ( p ) = f D ( y 1 , y 2 , ? ? , y n ∣ θ ) = ( N m ) p m ( 1 ? p ) ( N ? m ) L(p)=f_D(y_1,y_2,\cdots,y_n|\theta)=\binom{N}{m}p^m(1-p)^{(N-m)} L(p)=fD?(y1?,y2?,?,yn?θ)=(mN?)pm(1?p)(N?m)
使用微分求极值,两边同时对 p p p求微分:
0 = ( N m ) [ m p ( m ? 1 ) ( 1 ? p ) ( N ? m ) ? ( N ? m ) p m ( 1 ? p ) ( N ? m ? 1 ) ] = ( N m ) [ p ( m ? 1 ) ( 1 ? p ) ( N ? m ? 1 ) ( m ? N p ) ] \begin{aligned} 0 &= \binom{N}{m}\left[mp^{(m-1)}(1-p)^{(N-m)}-(N-m)p^m(1-p)^{(N-m-1)}\right] \\ & = \binom{N}{m}\left[p^{(m-1)}(1-p)^{(N-m-1)}(m-Np)\right] \end{aligned} 0?=(mN?)[mp(m?1)(1?p)(N?m)?(N?m)pm(1?p)(N?m?1)]=(mN?)[p(m?1)(1?p)(N?m?1)(m?Np)]?
可求解得到 p = 0 , p = 1 , p = m N \displaystyle p=0,p=1,p=\frac{m}{N} p=0,p=1,p=Nm?
显然 P ( Y = c k ) = p = m N = ∑ i = 1 N I ( y i = c k ) N \displaystyle P(Y=c_k)=p=\frac{m}{N}=\frac{\displaystyle \sum_{i=1}^N I(y_i=c_k)}{N} P(Y=ck?)=p=Nm?=Ni=1N?I(yi?=ck?)?,公式(4.8)得证。


**第2步:**证明公式(4.9): P ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) ∑ i = 1 N I ( y i = c k ) \displaystyle P(X^{(j)}=a_{jl}|Y=c_k) = \frac{\displaystyle \sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)}{\displaystyle \sum_{i=1}^N I(y_i=c_k)} P(X(j)=ajl?Y=ck?)=i=1N?I(yi?=ck?)i=1N?I(xi(j)?=ajl?,yi?=ck?)?
P ( X ( j ) = a j l ∣ Y = c k ) = p P(X^{(j)}=a_{jl}|Y=c_k)=p P(X(j)=ajl?Y=ck?)=p,令 m = ∑ i = 1 N I ( y i = c k ) , q = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) \displaystyle m=\sum_{i=1}^N I(y_i=c_k), q=\sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k) m=i=1N?I(yi?=ck?),q=i=1N?I(xi(j)?=ajl?,yi?=ck?),得出似然函数:
L ( p ) = ( m q ) p q ( i ? p ) m ? q L(p)=\binom{m}{q}p^q(i-p)^{m-q} L(p)=(qm?)pq(i?p)m?q
使用微分求极值,两边同时对 p p p求微分:
0 = ( m q ) [ q p ( q ? 1 ) ( 1 ? p ) ( m ? q ) ? ( m ? q ) p q ( 1 ? p ) ( m ? q ? 1 ) ] = ( m q ) [ p ( q ? 1 ) ( 1 ? p ) ( m ? q ? 1 ) ( q ? m p ) ] \begin{aligned} 0 &= \binom{m}{q}\left[qp^{(q-1)}(1-p)^{(m-q)}-(m-q)p^q(1-p)^{(m-q-1)}\right] \\ & = \binom{m}{q}\left[p^{(q-1)}(1-p)^{(m-q-1)}(q-mp)\right] \end{aligned} 0?=(qm?)[qp(q?1)(1?p)(m?q)?(m?q)pq(1?p)(m?q?1)]=(qm?)[p(q?1)(1?p)(m?q?1)(q?mp)]?
可求解得到 p = 0 , p = 1 , p = q m \displaystyle p=0,p=1,p=\frac{q}{m} p=0,p=1,p=mq?
显然 P ( X ( j ) = a j l ∣ Y = c k ) = p = q m = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) ∑ i = 1 N I ( y i = c k ) \displaystyle P(X^{(j)}=a_{jl}|Y=c_k)=p=\frac{q}{m}=\frac{\displaystyle \sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k)}{\displaystyle \sum_{i=1}^N I(y_i=c_k)} P(X(j)=ajl?Y=ck?)=p=mq?=i=1N?I(yi?=ck?)i=1N?I(xi(j)?=ajl?,yi?=ck?)?,公式(4.9)得证。

习题4.2

??用贝叶斯估计法推出朴素贝叶斯法中的慨率估计公式(4.10)及公式(4.11)

贝叶斯估计和传统的极大似然估计的区别就是,参数值是固定的还是也当做随机变量。传统的极大似然估计,把参数 θ \theta θ当做固定的一个值,不变的,只是目前还不知道,通过最大化 L L L求出 θ \theta θ;贝叶斯估计认为参数 θ \theta θ也是随机变量,它也服从一个分布(β分布)

解答:
**第1步:**证明公式(4.11): P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) + λ N + K λ \displaystyle P(Y=c_k) = \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k) + \lambda}{N+K \lambda} P(Y=ck?)=N+Kλi=1N?I(yi?=ck?)+λ?

加入先验概率,在没有任何信息的情况下,可以假设先验概率为均匀概率(即每个事件的概率是相同的)。
可得 p = 1 K ? p K ? 1 = 0 ( 1 ) \displaystyle p=\frac{1}{K} \Leftrightarrow pK-1=0\quad(1) p=K1??pK?1=0(1)
根据习题4.1得出先验概率的极大似然估计是 p N ? ∑ i = 1 N I ( y i = c k ) = 0 ( 2 ) \displaystyle pN - \sum_{i=1}^N I(y_i=c_k) = 0\quad(2) pN?i=1N?I(yi?=ck?)=0(2)
存在参数 λ \lambda λ使得 ( 1 ) ? λ + ( 2 ) = 0 (1) \cdot \lambda + (2) = 0 (1)?λ+(2)=0
所以有
λ ( p K ? 1 ) + p N ? ∑ i = 1 N I ( y i = c k ) = 0 \lambda(pK-1) + pN - \sum_{i=1}^N I(y_i=c_k) = 0 λ(pK?1)+pN?i=1N?I(yi?=ck?)=0
可得 P ( Y = c k ) = ∑ i = 1 N I ( y i = c k ) + λ N + K λ \displaystyle P(Y=c_k) = \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k) + \lambda}{N+K \lambda} P(Y=ck?)=N+Kλi=1N?I(yi?=ck?)+λ?,公式(4.11)得证。


**第2步:**证明公式(4.10): P λ ( X ( j ) = a j l ∣ Y = c k ) = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) + λ ∑ i = 1 N I ( y i = c k ) + S j λ \displaystyle P_{\lambda}(X^{(j)}=a_{jl} | Y = c_k) = \frac{\displaystyle \sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k) + \lambda}{\displaystyle \sum_{i=1}^N I(y_i=c_k) + S_j \lambda} Pλ?(X(j)=ajl?Y=ck?)=i=1N?I(yi?=ck?)+Sj?λi=1N?I(xi(j)?=ajl?,yi?=ck?)+λ?
根据第1步,可同理得到
P ( Y = c k , x ( j ) = a j l ) = ∑ i = 1 N I ( y i = c k , x i ( j ) = a j l ) + λ N + K S j λ P(Y=c_k, x^{(j)}=a_{j l})=\frac{\displaystyle \sum_{i=1}^N I(y_i=c_k, x_i^{(j)}=a_{jl})+\lambda}{N+K S_j \lambda} P(Y=ck?,x(j)=ajl?)=N+KSj?λi=1N?I(yi?=ck?,xi(j)?=ajl?)+λ?

P ( x ( j ) = a j l ∣ Y = c k ) = P ( Y = c k , x ( j ) = a j l ) P ( y i = c k ) = ∑ i = 1 N I ( y i = c k , x i ( j ) = a j l ) + λ N + K S j λ ∑ i = 1 N I ( y i = c k ) + λ N + K λ = ( λ 可 以 任 意 取 值 , 于 是 取 λ = S j λ ) = ∑ i = 1 N I ( y i = c k , x i ( j ) = a j l ) + λ N + K S j λ ∑ i = 1 N I ( y i = c k ) + λ N + K S j λ = ∑ i = 1 N I ( y i = c k , x i ( j ) = a j l ) + λ ∑ i = 1 N I ( y i = c k ) + λ ( 其 中 λ = S j λ ) = ∑ i = 1 N I ( x i ( j ) = a j l , y i = c k ) + λ ∑ i = 1 N I ( y i = c k ) + S j λ \begin{aligned} P(x^{(j)}=a_{jl} | Y=c_k) &= \frac{P(Y=c_k, x^{(j)}=a_{j l})}{P(y_i=c_k)} \\ &= \frac{\displaystyle \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k, x_i^{(j)}=a_{jl})+\lambda}{N+K S_j \lambda}}{\displaystyle \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k) + \lambda}{N+K \lambda}} \\ &= (\lambda可以任意取值,于是取\lambda = S_j \lambda) \\ &= \frac{\displaystyle \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k, x_i^{(j)}=a_{jl})+\lambda}{N+K S_j \lambda}}{\displaystyle \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k) + \lambda}{N+K S_j \lambda}} \\ &= \frac{\displaystyle \sum_{i=1}^N I(y_i=c_k, x_i^{(j)}=a_{jl})+\lambda}{\displaystyle \sum_{i=1}^N I(y_i=c_k) + \lambda} (其中\lambda = S_j \lambda)\\ &= \frac{\displaystyle \sum_{i=1}^N I(x_i^{(j)}=a_{jl},y_i=c_k) + \lambda}{\displaystyle \sum_{i=1}^N I(y_i=c_k) + S_j \lambda} \end{aligned} P(x(j)=ajl?Y=ck?)?=P(yi?=ck?)P(Y=ck?,x(j)=ajl?)?=N+Kλi=1N?I(yi?=ck?)+λ?N+KSj?λi=1N?I(yi?=ck?,xi(j)?=ajl?)+λ??=(λλ=Sj?λ)=N+KSj?λi=1N?I(yi?=ck?)+λ?N+KSj?λi=1N?I(yi?=ck?,xi(j)?=ajl?)+λ??=i=1N?I(yi?=ck?)+λi=1N?I(yi?=ck?,xi(j)?=ajl?)+λ?(λ=Sj?λ)=i=1N?I(yi?=ck?)+Sj?λi=1N?I(xi(j)?=ajl?,yi?=ck?)+λ??

公式(4.11)得证。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 23:04:00  更:2021-07-14 23:04:14 
 
开发: 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年4日历 -2024/4/28 11:45:58-

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