勾配降下法は何に使う? 勾配降下法は統計学や機械学習で多く使われています。特に機械学習というのは基本的に何かしらの関数を最小化(最大化)する問題を数値解析的に解くことに帰結する場合が多いです。(e.g. 最小二乗法 → 誤差の二乗和を最小化(参考)、ニューラルネットワークのパラメータ決定 etc...) なので、基本的にはひたすら微分して0となるところを探す問題ですね、微分して0。で、その微分して0となる値は何か、をプログラムで解く場合に重要になるのがこの勾配降下法です。幾つか勾配法にも種類がありますがここでは最急降下法、確率的勾配降下法の2つを扱います。まずはイメージをつかむために1次元のグラフで確認していきたいと思います。 1次元の場合 1次元の場合は、確率的という概念はなく、ただの勾配降下法になります。 (どういうことか、はのちほど) 1次元の例は、正規分布をマイナスにしたものを使っ
![確率的勾配降下法とは何か、をPythonで動かして解説する - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/553a24478b9cbd1a0a35d2b8eca4254053d57164/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUU3JUEyJUJBJUU3JThFJTg3JUU3JTlBJTg0JUU1JThCJUJFJUU5JTg1JThEJUU5JTk5JThEJUU0JUI4JThCJUU2JUIzJTk1JUUzJTgxJUE4JUUzJTgxJUFGJUU0JUJEJTk1JUUzJTgxJThCJUUzJTgwJTgxJUUzJTgyJTkyUHl0aG9uJUUzJTgxJUE3JUU1JThCJTk1JUUzJTgxJThCJUUzJTgxJTk3JUUzJTgxJUE2JUU4JUE3JUEzJUU4JUFBJUFDJUUzJTgxJTk5JUUzJTgyJThCJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz05NTM2YTVjNjI5YjJmYjg2OTU2ODNmZGUyZjUzNWU4NQ%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwa2VubWF0c3U0JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0wODg3Nzk4Zjc0OTg0YTExNmEyYTY3NDg4OWViMTBkYw%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Df9d2df7722ad4231806ce93d6f123ab4)