8.3.3 高度なハイパーパラメータ・カスタマイズ
豊富なハイパーパラメータ・カスタマイズを使用して、頂点プロパティのみ、エッジ・プロパティのみまたは両方でUnsupervised GraphWiseモデルを作成できます。
これは、サブ構成クラスGraphWiseConvLayerConfig
を使用して実装されます。
次のコードでは、Unsupervised GraphWiseモデルの構成の実装について説明します。
opg4j> var weightProperty = analyst.pagerank(trainGraph).getName()
opg4j> var convLayerConfig = analyst.graphWiseConvLayerConfigBuilder().
setNumSampledNeighbors(25).
setActivationFunction(ActivationFunction.TANH).
setWeightInitScheme(WeightInitScheme.XAVIER).
setWeightedAggregationProperty(weightProperty).
build()
opg4j> var model = analyst.unsupervisedGraphWiseModelBuilder().
setVertexInputPropertyNames("features").
setConvLayerConfigs(convLayerConfig).
build()
String weightProperty = analyst.pagerank(trainGraph).getName();
GraphWiseConvLayerConfig convLayerConfig = analyst.graphWiseConvLayerConfigBuilder()
.setNumSampledNeighbors(25)
.setActivationFunction(ActivationFunction.TANH)
.setWeightInitScheme(WeightInitScheme.XAVIER)
.setWeightedAggregationProperty(weightProperty)
.build();
UnsupervisedGraphWiseModel model = analyst.unsupervisedGraphWiseModelBuilder()
.setVertexInputPropertyNames("features")
.setConvLayerConfigs(convLayerConfig)
.build();
weightProperty = analyst.pagerank(train_graph).name
conv_layer_config = dict(num_sampled_neighbors=25,
activation_fn='tanh',
weight_init_scheme='xavier',
neighbor_weight_property_name=weightProperty)
conv_layer = analyst.graphwise_conv_layer_config(**conv_layer_config)
params = dict(conv_layer_config=[conv_layer],
vertex_input_property_names=["features"])
model = analyst.unsupervised_graphwise_builder(**params)
使用可能なすべてのハイパーパラメータとそのデフォルト値の詳細は、JavadocのUnsupervisedGraphWiseModelBuilderおよびGraphWiseConvLayerConfigBuilderを参照してください。