ai(四) 分类

张开发
2026/5/6 13:36:06 15 分钟阅读

分享文章

ai(四) 分类
4 分类概率生成模型分类概念分类找一个f u n c t i o n functionfunction函数输入对象x xx特征 输出是该对象在n nn个类别中对应的类别。回归模型vs概率模型回归模型如果把分类当作回归硬解1.二分类举一个二分类的例子输入神奇宝贝的特征x xx判断属于类别1或者类别2。用回归处理类别1→ \rightarrow→y yy预测值为1类别2→ \rightarrow→y yy预测值为-1训练模型接近1的当作类别1接近-1的当作类别2.这样处理二分类出现的问题当数据比较集中时候如左图模型准确度较高。如果数据比较分散如右图绿色线是理想的b w 1 x 1 w 2 x 2 0 bw_1x_1w_2x_20bw1​x1​w2​x2​0的位置但是由于回归模型的判断模型好坏的机制会导致模型训练的时候为了减少error而将函数进行偏移如图中紫色的线2.多分类问题如果用回归问题解决多分类问题会导致不同类别间存在某种关系但实际这个关系是不存在的。所以分类问题不能通过回归解决。理想模型二分类问题为例模型定义f ( g ( x ) ) f(g(x))f(g(x))损失函数定义在训练集上面测试错误的次数。优化模型的方法SVM,Perceptron感知机后面介绍。概率生成模型(generative model)简称生成模型。先验概率P ( C 1 ) P(C_1)P(C1​): 所有类别中选到C 1 C_1C1​类别的概率P ( C 2 ) : P(C_2):P(C2​):所有类别中选到C 2 C_2C2​类别的概率条件概率:P ( x ∣ C 1 ) P(x|C_1)P(x∣C1​):抽到类别C 1 C_1C1​中的x xx的概率P ( x ∣ C 2 ) P(x|C_2)P(x∣C2​):抽到类别C 2 C_2C2​中的x xx的概率后验概率P ( C 1 ∣ x ) P(C_1|x)P(C1​∣x):抽到x xx是属于C 1 C_1C1​类别的概率P ( C 2 ∣ x ) P(C_2|x)P(C2​∣x):抽到x xx是属于C 2 C_2C2​类别的概率生成模型以二分类为例知道P ( C 1 ) 、 P ( C 2 ) 、 P ( x ∣ C 1 ) 、 P ( x ∣ C 2 ) P(C_1)、P(C_2)、P(x|C_1)、P(x|C_2)P(C1​)、P(C2​)、P(x∣C1​)、P(x∣C2​)【红色方框中的值】的值就可以计算P ( C 1 ∣ x ) 、 P ( C 2 ∣ x ) P(C_1|x)、P(C_2|x)P(C1​∣x)、P(C2​∣x)。那个数值大就属于哪个分类。根据训练数据集来估计红色方框中的值。P ( C 1 ) 、 P ( C 2 ) P(C_1)、P(C_2)P(C1​)、P(C2​): 直接通过训练数据集计算P ( x ∣ C 1 ) P(x|C_1)P(x∣C1​)、P ( x ∣ C 2 ) P(x|C_2)P(x∣C2​)利用已有训练数据估测出期望μ \muμ、∑ \sum∑,根据高斯分布计算高斯分布高斯分布相当于函数f u n c t i o n functionfunction输入是向量x xx输出是选中x xx的概率。并不完全等价于概率只是和概率成正比参数μ \muμ:期望→ \rightarrow→决定概率分布的最高点∑ \sum∑:协方差矩阵→ \rightarrow→决定概率分布的离散程度测试集的点会在任意期望和协方差构成的高斯分布中不同处是在不同的高斯分布图中测试集的点的概率大小不同。这时使用到似然函数(Likelihood function)根据已有数据进行参数估计机器学习 - 似然函数概念、应用与代码实例-腾讯云开发者社区-腾讯云似然函数用于量化在给定某参数时观察到某样本数据的”可能性“数学定义最大似然估计Maximum Likelihood Estimation,MLE最大化似然函数找到最“适合”参数。举例给定参数μ \muμ、∑ \sum∑后通过L ( μ , ∑ ) L(\mu,\sum)L(μ,∑)计算训练集中所有数据出现的概率.这里L ( μ , ∑ ) L(\mu,\sum)L(μ,∑)就是似然函数。使L ( μ , ∑ ) L(\mu,\sum)L(μ,∑)最大的L ( μ , ∑ ) L(\mu,\sum)L(μ,∑)记做L ( μ ∗ , ∑ ∗ ) L(\mu^*,\sum^*)L(μ∗,∑∗),也就是最大似然估计。具体计算“最适合”参数的方法没了解![[attachment/Pasted image 20260322175301.png]]生成模型应用神奇宝贝属性预测输入一只神奇宝贝的特征整体强度生命值攻击力防御力特殊攻击力特殊防御力速度等输出属于水属性或者是一般属性假设训练数据集79只水属性61只一般属性计算模型参数四个概率根据参数计算需要的数值得到模型结果左上角的图中 蓝色→ \rightarrow→水属性 红色→ \rightarrow→一般属性 越红的地方说明是水属性的可能越高。右上角是在训练集上的结果。红色部分P ( C 1 ∣ x ) P(C_1|x)P(C1​∣x)0.5 属于类别1→ \rightarrow→水属性蓝色部分→ \rightarrow→一般属性右下角是在测试集上的结果准确度47%47%的准确率是只处理二维两个属性的情况如果加入更多的特征比如处理7维在测试集上的准确度也只能达到54%.模型优化一般不会为每个高斯分布计算不同的协方差矩阵。协方差矩阵中参数的多少和特征x xx成正比。比如3个特征x xx对应协方差矩阵中参数个数为9个。如果模型参数过多容易过拟合所以为两个不同类别的高斯分布相同的协方差矩阵。μ 1 \mu_1μ1​和μ 2 \mu_2μ2​的计算方法不变还是直接将特征相加求平均。∑ \sum∑计算不同没了解具体怎么算。经过上面的简化获得新的模型在测试集上面的测试结果7维54%→ \rightarrow→73%新分类的边界是线性→ \rightarrow→这种分类叫做线性模型。概率模型-建模三部曲简化为前面的三大步实际找到可以产生较为准确的输入特征对应分类的概率的函数。为什么是通过高斯分布作为几率模型(各个特征间存在一定的联系)如果每个维度用概率分布模型产生产生出来的几率是相互独立的可以将P ( x ∣ C 1 ) P(x|C_1)P(x∣C1​)进行上面的拆分会使协方差矩阵除去对角线都是0减少参数量但是这种行为不可取。一般不同维度间会有一定的关联。二元分类通常不会用高斯分布可以假设是符合 Bernoulli distribution伯努利分布假设所有的feature都是相互独立产生的这种分类叫做 Naive Bayes Classifier朴素贝叶斯分类器对后验概率进行处理exp是指数函数 (Exponential function)的缩写exp ⁡ ( − z ) \exp(-z)exp(−z)时它等同于e − z 或者 1 e z e^{-z} \quad \text{或者} \quad \frac{1}{e^z}e−z或者ez1​对z进行处理推导过程记下最后结论好了一般协方差矩阵是共用的所以根据条件∑ 1 ∑ 2 ∑ \sum^1\sum^2\sum∑1∑2∑继续对z zz进行化简w T ( μ 1 − μ 2 ) T ∑ − 1 w^T(\mu^1-\mu^2)^T\sum^{-1}wT(μ1−μ2)T∑−1,后面3项都是标量作为b bb得到最终化简结果P ( C 1 ∣ x ) σ ( w ⋅ x b ) P(C1|x)σ(w⋅xb)P(C1∣x)σ(w⋅xb)结论知道N 1 . N 2 , μ 1 , μ 2 , ∑ N_1.N_2,\mu^1,\mu^2,\sumN1​.N2​,μ1,μ2,∑就能够计算出w , b w,bw,b.如果是作为线性模型处理为什么要先计算一大堆的概率后再得出w , b w,bw,b,后面介绍其他方法。

更多文章