public class ANNCellularAutomata
extends com.supermap.data.InternalHandleDisposable
该方法的特点是无需人为地确定模型的结构、转换规则及模型参数。利用神经网络来代替转换规则,并通过对神经网络进行训练,自动获取模型参数。适用于模拟复杂的土地利用系统。
基于人工神经网络的元胞自动机训练阶段即通过抽样数据训练人工神经网络,获得网络权重值;模拟阶段通过人工神经网络得到应转换的类型,判别当前栅格是否可以转换,达到终止条件结束模拟过程。模拟时通过ANN得到所有用地类型的概率值,最大值对应需转换的土地利用类型,再进行阈值比较等判别,决定是否可以转换。
构造器和说明 |
---|
ANNCellularAutomata()
默认构造函数,构造一个新的 ArtificialNeuralNetworkCA 对象。
|
限定符和类型 | 方法和说明 |
---|---|
void |
addAnnTrainedListener(AnnTrainedListener l)
添加一个人工神经网络训练刷新信息(
AnnTrainedListener )的监听器。 |
static void |
addCAFlushedListener(CAFlushedListener l)
添加一个元胞自动机刷新信息(
CAFlushedEvent )的监听器。 |
static void |
addSteppedListener(SteppedListener l)
添加一个进度条事件(
SteppedEvent )的监听器。 |
ANNCellularAutomataResult |
annCellularAutomata(Datasource outputDatasource,
String outputDatasetName,
ANNCellularAutomataParameter annCAParameter)
基于人工神经网络的元胞自动机。
|
ANNCellularAutomataResult |
annCellularAutomata(Datasource outputDatasource,
String outputDatasetName,
ANNCellularAutomataParameter annCAParameter,
SteppedListener... listeners)
基于人工神经网络的元胞自动机。
|
ANNTrainResult |
annTrain(double dErrorRate,
int nMaxTimes)
已过时。
此方法已废弃,请使用支持进度监听的新方法
ANNCellularAutomata.annTrain(double, int, SteppedListener...) 替换。 |
ANNTrainResult |
annTrain(double dErrorRate,
int nMaxTimes,
SteppedListener... listeners)
人工神经网络训练。
|
void |
dispose()
释放该对象所占用的资源。
|
boolean |
initializeAnn(DatasetGrid trainStartCellGrid,
DatasetGrid trainEndCellGrid,
int[] annTrainValues,
DatasetGrid[] spatialVariableGrids,
ANNParameter annParameter)
已过时。
|
boolean |
initializeAnn(DatasetGrid trainStartCellGrid,
DatasetGrid trainEndCellGrid,
int[] annTrainValues,
DatasetGrid[] spatialVariableGrids,
ANNParameter annParameter,
SteppedListener... listeners)
初始化 基于人工神经网络的元胞自动机。
|
ANNTrainResult |
loadModel(String modelFile)
加载模型文件。
|
void |
removeAnnTrainedListener(AnnTrainedListener l)
移除一个人工神经网络训练刷新信息(
AnnTrainedListener )的监听器。 |
static void |
removeCAFlushedListener(CAFlushedListener l)
移除一个元胞自动机刷新信息(
CAFlushedEvent )的监听器。 |
static void |
removeSteppedListener(SteppedListener l)
移除一个进度条事件(
SteppedEvent )的监听器。 |
boolean |
saveModel(String modelFile)
是否保存模型文件。
|
static void |
setIsDisposable(com.supermap.data.InternalHandleDisposable obj,
boolean disposable) |
public ANNCellularAutomata()
public void dispose()
@Deprecated public boolean initializeAnn(DatasetGrid trainStartCellGrid, DatasetGrid trainEndCellGrid, int[] annTrainValues, DatasetGrid[] spatialVariableGrids, ANNParameter annParameter)
ANNCellularAutomata.initializeAnn(DatasetGrid, DatasetGrid, int[], DatasetGrid[], ANNParameter, SteppedListener...)
替换。trainStartCellGrid
- 训练起始栅格数据集。trainEndCellGrid
- 训练终止栅格数据集。annParameter
- 基于人工神经网络的元胞自动机参数设置。public boolean initializeAnn(DatasetGrid trainStartCellGrid, DatasetGrid trainEndCellGrid, int[] annTrainValues, DatasetGrid[] spatialVariableGrids, ANNParameter annParameter, SteppedListener... listeners)
trainStartCellGrid
- 训练起始栅格数据集。trainEndCellGrid
- 训练终止栅格数据集。annParameter
- 基于人工神经网络的元胞自动机参数设置。listeners
- 用于接收进度条事件的监听器。@Deprecated public ANNTrainResult annTrain(double dErrorRate, int nMaxTimes)
ANNCellularAutomata.annTrain(double, int, SteppedListener...)
替换。dErrorRate
- 人工神经网络训练终止条件:误差期望值。即训练在达到期望误差后终止,取值为[0,1],期望误差越小,达到的结果越准确,但如果太小,可能永远无法终止。nMaxTimes
- 人工神经网络训练终止条件:迭代最大次数。即在训练一定次数后终止public ANNTrainResult annTrain(double dErrorRate, int nMaxTimes, SteppedListener... listeners)
dErrorRate
- 人工神经网络训练终止条件:误差期望值。即训练在达到期望误差后终止,取值为[0,1],期望误差越小,达到的结果越准确,但如果太小,可能永远无法终止。nMaxTimes
- 人工神经网络训练终止条件:迭代最大次数。即在训练一定次数后终止listeners
- 用于接收进度条事件的监听器。public ANNCellularAutomataResult annCellularAutomata(Datasource outputDatasource, String outputDatasetName, ANNCellularAutomataParameter annCAParameter)
outputDatasource
- 输出数据集所在数据源。outputDatasetName
- 输出数据集的名称。annCAParameter
- 基于人工神经网络的元胞自动机参数。public ANNCellularAutomataResult annCellularAutomata(Datasource outputDatasource, String outputDatasetName, ANNCellularAutomataParameter annCAParameter, SteppedListener... listeners)
outputDatasource
- 输出数据集所在数据源outputDatasetName
- 输出数据集的名称public boolean saveModel(String modelFile)
基于人工神经网络的训练完成时,会将结果信息保存为训练模型文件。
modelFile
- 人工神经网络训练模型文件。public ANNTrainResult loadModel(String modelFile)
modelFile
- 模型文件。public static void addSteppedListener(SteppedListener l)
SteppedEvent
)的监听器。l
- 一个用于接收进度条事件的监听器。public static void removeSteppedListener(SteppedListener l)
SteppedEvent
)的监听器。l
- 一个用于接收进度条事件的监听器。public static void addCAFlushedListener(CAFlushedListener l)
CAFlushedEvent
)的监听器。l
- 一个用于接收元胞自动机刷新事务的监听器。public static void removeCAFlushedListener(CAFlushedListener l)
CAFlushedEvent
)的监听器。l
- 一个用于接收元胞自动机刷新事务的监听器。public void addAnnTrainedListener(AnnTrainedListener l)
AnnTrainedListener
)的监听器。l
- 一个用于接收人工神经网络训练刷新事务的监听器。public void removeAnnTrainedListener(AnnTrainedListener l)
AnnTrainedListener
)的监听器。l
- 一个用于接收人工神经网络训练刷新事务的监听器。public static void setIsDisposable(com.supermap.data.InternalHandleDisposable obj, boolean disposable)
Copyright © 2021–2024 SuperMap. All rights reserved.