google earth engine随缘学习(十)最大熵模型(Maximum Entropy Model)

今天学习利用最大熵模型进行分类,和gee关系不是特别大。。

var classifier = ee.Classifier.gmoMaxEnt();
下面放出关于最大熵模型介绍的链接——https://www.jianshu.com/p/10d778068f70

总结一下,最大熵模型的原理为最大熵原理,其主要思想是:在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。假设分类模型是一个条件概率分布P(Y|X)。对于给定的输入X以条件概率P(Y|X)输出Y。
google earth engine随缘学习(十)最大熵模型(Maximum Entropy Model)

用特征函数f(x,y)描述输入x和输出y之间的某一事实定义:

google earth engine随缘学习(十)最大熵模型(Maximum Entropy Model)

约束条件为:

google earth engine随缘学习(十)最大熵模型(Maximum Entropy Model)

通俗来说,就是训练样本的期望和分类模型的期望相同为模型学习的约束条件,在满足约束条件的若干模型中,熵最大的模型为最大熵模型。
三种分类方法效果对比(少量样本下,可以看出还是随机森林好一些):

google earth engine随缘学习(十)最大熵模型(Maximum Entropy Model)

此外,补充一个函数(输出图像各像元分类精度):

注意,这个函数并不适用于所有分类方法,以下是示例是continuousNaiveBayes分类方法。
google earth engine随缘学习(十)最大熵模型(Maximum Entropy Model)

var classifier = ee.Classifier.continuousNaiveBayes().setOutputMode('PROBABILITY');
var trained = classifier.train(training, 'Class', bands);
var classified = compositeclip.classify(trained);
Map.addLayer(classified,imageVisParam, 'continuousNaiveBayes');

效果(图像分类精度):

google earth engine随缘学习(十)最大熵模型(Maximum Entropy Model)