線形回帰空間で勾配降下を使用する利点は何ですか? 問題を解決できるように見えますが (コスト関数を最小にする theta0-n を見つけます)、なぜ勾配降下法を使用して同じことをしたいのでしょうか? ありがとう
4 に答える
コスト関数を分析的に解くために正規方程式を使用する場合、次の計算を行う必要があります。
ここで、X は入力観測の行列、y は出力ベクトルです。この操作の問題は、O(n^3) である nxn 行列の逆数を計算する時間の複雑さであり、n が増加すると完了するまでに非常に長い時間がかかる可能性があります。
n が低い場合 (n < 1000 または n < 10000) は、正規方程式を計算シータのより良いオプションと考えることができますが、値が大きい場合、勾配降下法ははるかに高速であるため、唯一の理由は時間です:)
問題について詳細を提供する必要があります-正確には何について質問していますか-1次元または多次元の線形回帰について話しているのですか? 単純なものか一般化されたものか?
一般的に、人々はなぜ GD を使用するのでしょうか?
- 実装は簡単です
- これは非常に一般的な最適化手法です。モデルをより一般的なものに変更しても、引き続き使用できます。
では、分析ソリューションはどうでしょうか。まあ、私たちはそれらを使用しますが、あなたの主張はここでは単に誤りです (一般的な話をしている場合)。たとえば、OLS法は閉じた形式の分析ソリューションであり、広く使用されています。分析ソリューションを使用できる場合、それは計算上手頃な価格です (GD は単純に安価または高速な場合があるため)、それを使用することができます。
決して、これは常にいくつかの長所と短所の問題です。分析ソリューションはモデルに強く関連しているため、将来モデルを一般化/変更する予定がある場合、それらの実装は非効率になる可能性があります。それらは数値近似よりも効率が悪い場合があり、実装が単純に難しい場合もあります。上記のいずれにも当てはまらない場合は、分析ソリューションを使用する必要があります。
要約すると、次の場合は、分析ソリューションではなく GD を使用します。
- モデルの変更、一般化、より複雑な用語/正則化/修正の追加を検討している
- コードとモデルの将来についてあまり知らないので、ジェネリック メソッドが必要です (あなたは開発者の 1 人にすぎません)。
- 分析ソリューションは計算コストが高く、効率が必要
- 分析ソリューションには、あなたが持っていないより多くのメモリが必要です
- 分析ソリューションは実装が難しく、簡単でシンプルなコードが必要