私はテンソルフローの遊び場をいじり回しています。入力データセットの1つはスパイラルです。どの入力パラメーターを選択しても、ニューラルネットワークをどれほど広く深いものにしても、スパイラルに適合できません。データサイエンティストはこの形状のデータにどのように適合しますか?
私はテンソルフローの遊び場をいじり回しています。入力データセットの1つはスパイラルです。どの入力パラメーターを選択しても、ニューラルネットワークをどれほど広く深いものにしても、スパイラルに適合できません。データサイエンティストはこの形状のデータにどのように適合しますか?
回答:
この種の問題には多くのアプローチがあります。最も明白なのは、新しい機能を作成することです。私が思いつくことができる最高の機能は、座標を球面座標に変換することです。
私は遊び場でそれを行う方法を見つけていないので、これに役立つはずのいくつかの機能(罪の機能)を作成しました。500回の反復の後、飽和し、0.1スコアで変動します。これは、これ以上の改善は行われないことを示唆しており、おそらく私は隠れ層を広くするか、別の層を追加する必要があります。
隠れ層にニューロンを1つだけ追加した後、300回の反復後に0.013を簡単に取得できることは驚くにあたりません。新しいレイヤーを追加することでも同様のことが起こります(0.017、ただし500回の反復が大幅に長くなった後。エラーの伝播が難しくなるため、驚きもありません)。ほとんどの場合、学習率で遊んだり、適応学習を行ってそれを速くしたりできますが、これはここでは重要ではありません。
ソリューション私は裁判の時間後に到達したが、通常はわずか100エポックに収束します。
ええ、私はそこに最もスムーズな決定境界がないことを知っていますが、それはかなり速く収束します。
私はこのスパイラル実験からいくつかのことを学びました:
偶然にも、私が思いついた解決策は、サルバドールダリによって提供されたものと非常に似ています。
直感や理由がある場合は、コメントを追加してください。