車のエンジンサイズを横軸(X軸)、それに対する車の値段を縦軸(Y軸)として表示しています。値はいくつになるでしょうか。値を適切に設定すればおおよその値は求まりそうな気もします。求めることができそうです。決め方)はどうなってんの?ってところの説明に移りたいと思います。先ほどの車のエンジンサイズと値段データの表記を以下の様に定めます。サンプルデータの数(今回はm=205)このデータに対して予測を行うモデルを以下のような数式で表します。表した数式の事を指します。英語ではhypothesisという呼び方をするみたいです。時の車の値段を求めることでした。値を適切に設定しなければなりません。いうアプローチをすればよいでしょうか。直線を図示するとのようになり、直感的にあまり適切ではないように見えます。どれぐらい適切でないのでしょう。求まる値との差分の2乗を計算することで表せます。[誤差](具体的な値の計算はここでは省きます。)これを一般化すると,となります。function)と呼びます。値を求める事になります。以上がここまでのまとめです。最小化をするためのアルゴリズムの説明をしていきます。この部分が教師データ(これまでの観測データ)から実際に自動的改善を行う部分、つまりは機械学習の肝となる部分です。Descent)というアルゴリズムを使います。これ以外にも、目的関数を最小化するためのアルゴリズムはありますが、シンプルであり線形回帰以外でも使われることのあるアルゴリズムなので覚えておくのも良いかと思います。最急降下法は以下の手順で処理を進めます。更新して2.のプロセスへ戻るこれを収束まで繰り返します。以下計算によりにより更新されていきます。それぞれで偏微分した結果は以下の様になります(具体的な計算は省略)。時(次の)の時(次の)「はて、偏微分てなんぞや」という人は難しいことは考えずに、とりあえず最終的にはこんな式になるのかと思ってもらえればよいです。あとはこれをコードに落として、データを入れてあげれば線形回帰が動くはずです。実装!!!さてここまでで一通りの線形回帰の処理の流れを解説してきましたので、いよいよいよいよ実装に移りたいと思います。いっても実装自体はここまでに説明してきた数式をコードに落とすだけですので、説明はコードに書いてしまいたいと思います。最急降下法をメソッドの部分は行列計算をしているため少し分かりにくいかもしれませんが、数式とコードを見比べてどう実装されているのか、データがどう処理されているかに注意して追っていけば分かるかと思います。※ちなみに今回はデータをcsvの形で読み、データクレンジングは事前にしてあります。csvの形式は以下の構造になっています。Jはスカラー値になる。最急降下法関数で行列計算を行うため列を足している。ans)実行時の結果を以下に示します。30450結果を見ると最終的に、目的関数の値が収束して動いていないことが確認できます。結果を図示してみました。大きい時にあまり正確に予測できていないように見えますが、アルゴリズム的にはこれが最適解という事になります。この結果は学習率やイテレーションの回数を調整した結果ですので、学習率やイテレーションの回数を変えると結果は変わってきます。学習率を変えると収束せずに発散したりします。してそうなるのかは今回は説明しませんが是非考えて見て下さい。以上で今回のBlogを終わりたいと思いますが、今回の例では過学習を考慮せず、正則化についても説明せず進めてきました。他にもモデルはもっといいものがあるかもしれませんし、考慮すべきことはたくさんあります。その辺は今後また良いタイミングで説明できたらと思います。machine-lear...Impulseの開発をしている樋口です。2018こんにちは、ブレインズテクノロジーの佐々木です。現在AWSのイ...2018-06-18Pythonの機械学習ライブラリtslearnを使った時系列データのクラスタリングこんにちは、ブレインズテクノロジーの柏木です。SageMakerのDeepARアルゴリズムで時系列予測データ分析担当の青木です。)に関する取組みをご紹介します。Inc.または関連会社の登録商標およびサービス・マークであり、同社の許可に基づいて使用しています。reserved.ガートナーは、ガートナー・リサーチの発行物に掲載された特定のベンダー、製品またはサービスを推奨するものではありません。最高のレーティング又はその他の評価を得たベンダーのみを選択するように助言するものではありません。ガートナー・リサーチの発行物は、ガートナー・リサーチの見解を表したものであり、事実を表現したものではありません。ガートナーは、明示または黙示を問わず、本リサーチの商品性や特定目的への適合性を含め、一切の保証を行うものではありません。はてなブログをはじめよう!brains-techさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。