RapidMiner(ラピッドマイナー)はデータ可視化、データ加工、モデル作成、評価、運用まで一括サポートする機械学習プラットフォームです。KSKアナリティクスはRapidMinerの正規販売代理店です。

Neural Net

概要

この演算子は、バックプロパゲーションアルゴリズム(多層パーセプトロン)でトレーニングされたフィードフォワードニューラルネットワークを使用してモデルを学習します。この演算子は多項式属性を処理できません。

詳細

この演算子は、バックプロパゲーションアルゴリズム(多層パーセプトロン)でトレーニングされたフィードフォワードニューラルネットワークを使用してモデルを学習します。次の段落では、ニューラルネットワーク、ニーズフォワードニューラルネットワーク、バックプロパゲーション、および多層パーセプトロンに関する基本的な考え方について説明します。

通常ニューラルネットワーク(NN)と呼ばれる人工ニューラルネットワーク(ANN)は、生物学的ニューラルネットワークの構造と機能の側面に触発された数学モデルまたは計算モデルです。ニューラルネットワークは相互接続された人工ニューロンのグループで構成され、計算へのコネクショニストアプローチを使用して情報を処理します(中心的なコネクショニストの原理は、精神現象は単純で、しばしば均一なユニットの相互接続ネットワークで記述できるということです)。ほとんどの場合、ANNは、学習段階でネットワークを流れる外部または内部情報に基づいて構造を変更する適応システムです。通常、最新のニューラルネットワークは、入力と出力の間の複雑な関係をモデル化したり、データのパターンを見つけるために使用されます。

フィードフォワードニューラルネットワークは、ユニット間の接続が有向サイクルを形成しない人工ニューラルネットワークです。このネットワークでは、情報は入力ノードから非表示ノード(存在する場合)を経由して出力ノードに向かって一方向にのみ移動します。ネットワークにはサイクルやループはありません。

バックプロパゲーションアルゴリズムは、伝播と重み更新の2つのフェーズに分けることができる教師あり学習方法です。ネットワークのパフォーマンスが十分になるまで、2つのフェーズが繰り返されます。逆伝播アルゴリズムでは、出力値が正解と比較されて、事前定義されたエラー関数の値が計算されます。さまざまな手法により、エラーはネットワークを介してフィードバックされます。この情報を使用して、アルゴリズムはエラー関数の値を少し減らすために各接続の重みを調整します。十分に多数のトレーニングサイクルでこのプロセスを繰り返した後、ネットワークは通常、計算の誤差が小さい状態に収束します。この場合、ネットワークが特定のターゲット機能を学習したと言うでしょう。

多層パーセプトロン(MLP)は、入力データのセットを適切な出力のセットにマッピングするフィードフォワード人工ニューラルネットワークモデルです。 MLPは、有向グラフのノードの複数のレイヤーで構成され、各レイヤーは次のレイヤーに完全に接続されています。入力ノードを除き、各ノードは、非線形活性化機能を備えたニューロン(または処理要素)です。 MLPは、ネットワークのトレーニングに逆伝播を利用します。このクラスのネットワークは、通常フィードフォワード方式で相互接続された複数の計算ユニットのレイヤーで構成されています。多くのアプリケーションでは、これらのネットワークのユニットはシグモイド関数をアクティベーション関数として適用します。

この演算子では、通常のシグモイド関数がアクティベーション関数として使用されます。したがって、属性の値の範囲は、-1および+1にスケーリングする必要があります。これは、 normalizeパラメーターを使用して実行できます。出力ノードのタイプは、学習データが分類タスクを記述する場合はシグモイドであり、学習データが数値回帰タスクを記述する場合は線形です。

入力

  • トレーニングセット (IOObject)入力ポートにはExampleSetが必要です。サンプルプロセスのRetrieveオペレーターの出力です。他の演算子の出力も入力として使用できます。

出力

  • モデル (改良されたニューラルネット)Neural Netモデルは、この出力ポートから提供されます。このモデルは、ラベル属性の予測のために、見えないデータセットに適用できます。
  • サンプルセット (IOObject)入力として指定されたExampleSetは、このポートを介して出力に変更せずに渡されます。これは通常、別の演算子で同じExampleSetを再利用するため、または結果ワークスペースでExampleSetを表示するために使用されます。

パラメーター

  • hidden_​​layersこのパラメーターは、すべての非表示レイヤーの名前とサイズを記述します。ユーザーは、このパラメーターを使用してニューラルネットワークの構造を定義できます。各リストエントリには、新しい非表示レイヤーが記述されています。各エントリには、非表示レイヤーの名前とサイズが必要です。レイヤー名は任意に選択できます。モデルの表示にのみ使用されます。ノードの実際の数は、追加の定数ノードが各レイヤーに追加されるため、非表示レイヤーサイズとして指定された値よりも1つ多くなることに注意してください。このノードは、前のレイヤーに接続されません。非表示のレイヤーサイズの値が-1に設定されている場合、レイヤーサイズは入力サンプルセットの属性の数から計算されます。この場合、レイヤーサイズは(属性の数+クラスの数)/ 2 + 1に設定されます。ユーザーが非表示レイヤーを指定しない場合、シグモイドタイプおよびサイズが(属性の数+クラスの数)/ 2 + 1に等しいデフォルトの非表示レイヤーが作成され、ネットに追加されます。ノードのない単一のレイヤーのみが指定されている場合、入力ノードは出力ノードに直接接続され、非表示のレイヤーは使用されません。 範囲:
  • training_cyclesこのパラメーターは、ニューラルネットワークのトレーニングに使用されるトレーニングサイクルの数を指定します。逆伝播では、出力値が正解と比較され、事前定義されたエラー関数の値が計算されます。その後、エラーはネットワークを介してフィードバックされます。この情報を使用して、アルゴリズムはエラー関数の値を少し減らすために各接続の重みを調整します。このプロセスはn回繰り返されます。このパラメーターを使用してnを指定できます。 範囲:整数
  • learning_rateこのパラメーターは、各ステップで重みを変更する量を決定します。 0であってはなりません。 範囲:実数
  • モーメンタムモーメンタムは、前の重み更新の一部を現在の更新に単に追加します。これにより、極大値が回避され、最適化の方向が滑らかになります。 範囲:実数
  • 減衰これはエキスパートパラメータです。学習中に学習率を下げる必要があるかどうかを示します。 範囲:ブール
  • shuffleこれはエキスパートパラメータです。学習前に入力データをシャッフルする必要があるかどうかを示します。メモリ使用量は増加しますが、データが前にソートされている場合は推奨されます。 範囲:ブール
  • normalizeこれはエキスパートパラメータです。 Neural Netオペレーターは、通常のシグモイド関数をアクティベーション関数として使用します。したがって、属性の値の範囲は、-1および+1にスケーリングする必要があります。これは、normalizeパラメーターを使用して実行できます。学習の前に正規化が実行されます。ランタイムは増加しますが、ほとんどの場合に必要です。 範囲:ブール
  • error_epsilonトレーニングエラーがこのイプシロン値を下回ると、最適化は停止します。 範囲:実数
  • use_local_random_seedランダム化にローカルランダムシードを使用するかどうかを示します。 範囲:ブール
  • local_random_seedこのパラメータは、 ローカルランダムシードを指定します。 use local random seedパラメータがtrueに設定されている場合にのみ使用できます。 範囲:整数

チュートリアルプロセス

ニューラルネットの概要

「Ripley」データセットは、Retrieve演算子を使用してロードされます。ここにブレークポイントが挿入されるため、Neural Net演算子の適用前にデータセットを確認できます。このデータセットには、att1とatt2という2つの通常の属性があることがわかります。ラベル属性には2つの値(1または0)があります。その後、ニューラルネット演算子が適用されます。すべてのパラメーターはデフォルト値で使用されます。プロセスを実行すると、結果ワークスペースにニューラルネットが表示されます。入力にはx + 1個のノードがあります。xは、入力ExampleSetの属性の数です(ラベル属性を除く)。最後のノードはしきい値ノードです。出力にはy個のノードがあります。yは入力ExampleSetのクラスの数(つまり、ラベル属性の可能な値の数)です。隠しレイヤーのパラメーターに値が指定されていないため、デフォルト値が使用されます。したがって、ノードの数は非表示層に作成されます=非表示層のサイズ=(属性の数+クラスの数)/ 2 + 1 =(2 + 2)/ 2 + 1 = 3.最後のノード(4番目のノード)はしきい値ノードです。接続の重みが大きい場合、ノード間の接続は濃い色で表示されます。このビジュアライゼーションでノードをクリックして、実際の重みを確認できます。

この単純なプロセスは、このオペレーターの基本的な機能を提供するだけです。実際のシナリオでは、すべてのパラメーターを慎重に選択する必要があります。

API認証に失敗しました メールまたはパスワードが正しくありません メールアドレスは必須です パスワードは必須です
キャンセル