com.supermap.analyst.spatialanalyst
类 ANNParameter

java.lang.Object
  继承者 com.supermap.analyst.spatialanalyst.ANNParameter

public class ANNParameter
extends java.lang.Object

人工神经网络参数设置。


构造方法摘要
ANNParameter()
          默认构造函数,构造一个新的 ANNParameter对象。
ANNParameter(ANNParameter para)
          拷贝构造函数,根据给定的ANNParameter对象构造一个与其完全相同的新对象。
 
方法摘要
 boolean[][] getCustomNeighborhoods()
          返回自定义领域范围。
 double getLearningRate()
          返回学习速率。
 int getNeighborhoodNumber()
          返回领域范围。
 int getSampleCount()
          返回抽样数目。
 boolean isCustomNeighborhood()
          返回是否自定义领域范围。
 void setCustomNeighborhood(boolean value)
          设置是否自定义领域范围。
 void setCustomNeighborhoods(boolean[][] value)
          设置自定义领域范围。
 void setLearningRate(double value)
          设置学习速率。
 void setNeighborhoodNumber(int value)
          设置领域范围。
 void setSampleCount(int value)
          设置抽样数目。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

ANNParameter

public ANNParameter()
默认构造函数,构造一个新的 ANNParameter对象。


ANNParameter

public ANNParameter(ANNParameter para)
拷贝构造函数,根据给定的ANNParameter对象构造一个与其完全相同的新对象。

参数:
para - 指定的ANNParameter对象。
方法详细信息

isCustomNeighborhood

public boolean isCustomNeighborhood()
返回是否自定义领域范围。

返回:
是否自定义领域范围。
默认值:
默认为false。

setCustomNeighborhood

public void setCustomNeighborhood(boolean value)
设置是否自定义领域范围。

参数:
value - 是否自定义领域范围。

getNeighborhoodNumber

public int getNeighborhoodNumber()
返回领域范围。

返回:
领域范围。
默认值:
默认值为7。代表使用7*7的栅格。

setNeighborhoodNumber

public void setNeighborhoodNumber(int value)
设置领域范围。

为元胞自动机考虑的正方形邻域的边长,确定提取抽样数据和进行模拟计算时所使用的N*N范围的大小,范围越大,涉及的栅格越多,则当前栅格所受到邻域影响的栅格越多,可能需要根据模拟结果重新调整该参数再次进行模拟。建议取值在3-25之间,默认为7,代表使用7*7的栅格。

参数:
value - 领域范围。

getCustomNeighborhoods

public boolean[][] getCustomNeighborhoods()
返回自定义领域范围。

返回:
自定义领域范围。

setCustomNeighborhoods

public void setCustomNeighborhoods(boolean[][] value)
设置自定义领域范围。

参数:
value - 自定义领域范围。

getLearningRate

public double getLearningRate()
返回学习速率。

返回:
学习速率。
默认值:
默认值为0.2。

setLearningRate

public void setLearningRate(double value)
设置学习速率。

神经网络的学习速率,数值越大,训练收敛更快,但更容易陷入局部最优解。取值范围为[0,1],默认为0.2。

参数:
value - 学习速率。

getSampleCount

public int getSampleCount()
返回抽样数目。

返回:
抽样数目。
默认值:
默认值为1000。

setSampleCount

public void setSampleCount(int value)
设置抽样数目。

采用随机抽样法得到训练样本的数量。抽样数目越大,则训练ANN时间越长,但需有一定的抽样数量以保证数据覆盖性,可以综合考虑数据的栅格总数及抽样成本来确定抽样数目。