今天学习利用最大熵模型进行分类,和gee关系不是特别大。。
var classifier = ee.Classifier.gmoMaxEnt();
下面放出关于最大熵模型介绍的链接——https://www.jianshu.com/p/10d778068f70 总结一下,最大熵模型的原理为最大熵原理,其主要思想是:在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。假设分类模型是一个条件概率分布P(Y|X)。对于给定的输入X以条件概率P(Y|X)输出Y。
文章图片
用特征函数f(x,y)描述输入x和输出y之间的某一事实定义:
文章图片
约束条件为:
文章图片
通俗来说,就是训练样本的期望和分类模型的期望相同为模型学习的约束条件,在满足约束条件的若干模型中,熵最大的模型为最大熵模型。 三种分类方法效果对比(少量样本下,可以看出还是随机森林好一些):
此外,补充一个函数(输出图像各像元分类精度): 注意,这个函数并不适用于所有分类方法,以下是示例是continuousNaiveBayes分类方法。
文章图片
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)】
文章图片