いやあ本当に学習できるんですね。よければ、各ステップごとに決定面がどのように遷移するか描いてみると面白いかもしれませんね。通る直線として表せるので。こんな簡単な例でも、いろいろ問題点が見えてきます。明確に解があることがわかっている、これだけ低次元の例でも収束に8回かかっています。オンライン学習ライブラリで「学習を10回繰り返す」必要があるのも大納得。学習データの偏りに強い影響を受ける。多いことがわかります。これを本当にランダムに選んでいたら(そして実際の計算ではおおむねそうせざるを得ない)、収束にはもっと回数を要したでしょう。学習データに偏りがなくても、ランダムに選んだ順番がたまたま「ずっと正例でトレーニングした後、今度はずっと負例」なんてことになったら、間違った結果が確実に出てしまうでしょう。その他の方式、ということでしょうか。なんにせよ、オンライン学習で「ランダム!」「繰り返し!」と叫ばれる理由がよくわかって、一安心です。試してみた話を書こうと思っていたのですけど、あまりふくらみそうにないので、保留。周辺を勉強し始めてます。その前に動くものをさわっておこうということで、岡野原さんのオンライン機械学習ライブラリをちょっぴり試してみました。コンパイルできました。使ってみることにしましょう。「シャッフルし、15000例の訓練データと4996例のテストデータに分けた」とあるので、その通りにします。データはまた別途用意して試してみたいと思います。学習&テストビルドが通ってデータの用意もできました。