最大似然分类器

最大似然分类器

在这里插入图片描述
判断每个数据属于各个选取样本的概率,比较概率大小,最大者就归并到这类

简单记录代码:

function re=maxlike()
[filename,pathname]=uigetfile({'*.jpg;*.bmp;*.tif;*.png;*.gif','All Image Files';'*.*','All Files'});%动态打开文件
image = imread([pathname,filename]);%读取
figure(1);imshow(image);
image=double(image);
[m,n,bands]=size(image);
k=input('请输入要分类的个数:  ');%输入要选取的样本类别数
aver=zeros(k,bands);%申请矩阵空间存储样本数据各类别各波段均值
thi=zeros(k,1);%每个样本类别方差
%对所选取样本数据进行处理求得各类别均值
for i=1:k%对选中类别循环
    str=['请在屏幕图像上选择第',num2str(i),'种分类样本,选择完毕请回车确定'];
    disp(str);
    [y,x]=getpts;%从图像上获取数据点
    A=[round(y),round(x)];
    for band=1:bands%对图像每个波段进行计算,求取指定类别每个波段均值
        Sum=[];
        temp=image(:,:,band);
         for count=1:size(A,1)%对取得点循环
            Sum=[Sum;temp(A(count,2),A(count,1))];
         end
          aver(i,band)=mean(Sum);%求均值
          thi(i,band)=cov(Sum);
    end
    
end
image=reshape(image,m*n,bands);%将图像数据重塑成为一列为一个波段数据的形式,便于计算
p=zeros(k,m*n);%申请矩阵空间存储每个类别图像各个点数据分别到各类的概率
for i=1:m*n
    for t=1:k
        for band=1:bands
            p(t,i)=p(t,i)+exp(-(image(i,band)-aver(t,band))^2/(2*thi(t,band)))/sqrt(2*pi*thi(t,band));
        end
    end
end
[~,index]=max(p);
index=reshape(index,m,n);
re=index/k;
figure(2),imshow((re));
end

具体操作和参数输入都从命令行输入:
在这里插入图片描述

运行结果:
在这里插入图片描述

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
最大分类是一种常见的分类方法,它通过最大化样本集合的然函数来确定分类模型的参数。在实际应用中,我们可以使用代码实现最大分类。 首先,我们需要导入必要的库和数据集。通常我们会使用Python中的NumPy和pandas库来进行数据处理和分析。然后,我们需要从数据集中提取特征和标签,并将其分为训练集和测试集。 接下来,我们需要定义模型的参数。对于最大分类,我们可以选择使用线性模型,如逻辑回归。这意味着我们需要定义一个权重矩阵作为模型的参数。 然后,我们需要定义然函数。对于二分类问题,我们可以使用二项式分布来描述两个类别的概率分布。我们可以使用Logistic函数来建立模型,其概率函数可以根据权重和特征进行计算。 接下来,我们需要定义损失函数。最大分类使用对数然函数,我们可以将其最大化得到模型的最优参数。通常我们会使用负对数然来作为损失函数。 最后,我们可以使用优化算法来最小化损失函数,例如梯度下降法。我们可以使用代码来实现梯度下降算法,并根据训练集数据进行迭代更新参数。 最大分类的代码实现可以比较复杂,需要涉及到一些数学和统计知识。因此,在实际应用中,我们通常会使用现有的机学习库,如Scikit-learn来实现最大分类算法。 综上所述,最大分类代码的实现包括数据预处理、模型参数定义、然函数定义、损失函数定义和优化算法实现等步骤。通过实现这些步骤,我们可以构建一个最大分类来进行分类任务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.癮.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值