数値計算法について困っていることがあり、
皆様のお知恵をお借りしたいと思います。
AX = bのようなシンプルな線形問題についてなのですが、
Aはn<mとなるn*m行列となっており解は無数に存在しています。
求めたい解は無数にある解のうちのどれでもよく任意のものです。
この問題の解き方はいろいろあると思うのですが、
コンピュータ上でこの問題を解かなければならないという事情がありまして、
Aが疎な行列の場合に効率よく解けるという条件をクリアしなければいけません。
そのため特異値分解やガウスの消去法といった疎性を保てない解法は使用できません。
この問題について何かよい解法はご存知ありませんでしょうか?
ご存知の方がいらっしゃいましたらご回答よろしくお願いします。
No.2ベストアンサー
- 回答日時:
#1です。
間違えました。lassoはL2正則化ではなく、L1正則化です。スミマセン。kamiyasiroさま、迅速なご回答ありがとうございます。
お礼がおそくなり申し訳ございません。
質問させていただいた問題は解決いたしまして、
逐次近似による残差最小化で解決に至りました。
詳細をご報告させていただきますと、
まずはじめに、共役勾配法によってε= Ax - bを最小化する問題を解いたところ解が得られなかった、ということが質問させていただいた経緯としてありました。
ここで私は、ATA(Aの転置かけるA)が特異な行列の場合共役勾配法が機能しないことがあるのではないかと考え、こちらでの質問に至ったのですが問題は別のところにありました。
私が解いている問題における行列Aの特性を調べてみたところ、
n個の行ベクトルの総和がゼロベクトルになるという性質があることに気がつきました。
この場合右辺のベクトルbの要素の総和もゼロになっている必要があるのですが、
実際はそうなっていませんでした。
そのため、ベクトルbの要素の総和がゼロになるように修正をかけることで、
共役勾配法が上手く機能しました。
結論としては、
0*x = bという問題を無理矢理解こうとしていたことに上手くいかない原因があり、
共役勾配法による残差最小化で解くことができるということがわかりました。
kamiyasiroさまに教えていただいた正則化回帰は今回使いませんでしたが、
統計的手法でそのような方法があることは知らず、今回大変勉強になりました。
統計は専門ではありませんが、統計の分野の有用な方法については勉強していきたいと思いました。
機会がありましたらまた是非教えていただきたいと思います。
今回の質問については、
素早く回答をくださったkamiyasiroさまのご回答をベストアンサーとさせていただきます。
ありがとうございました。
No.3
- 回答日時:
スパースなまま扱いたいという事なら、解を逐次近似しちゃどうです?
ε= Ax - y
として、テキトーなxから出発し、
|ε|^2 = 0
に近づくようにxを修正していくんです。たとえば(効率の良さはさておいて)「xの第k成分だけを変数として(他の成分は変えずに) |ε|^2を最小化する」という問題を考えれば、これはとても簡単でしょ。この操作をk=1〜mについて一通りやると、この間 |ε|^2は減少し続ける訳です。で、またk=1〜mについて一通りやる。ということを繰り返す。
stomachmanさま、ご回答ありがとうございます。
先ほど質問させていただいた問題は解決いたしまして、
stomachmanさまのおっしゃるような逐次近似による残差最小化で解決に至りました。
詳細をご報告させていただきますと、
まずはじめに、共役勾配法によってε= Ax - bを最小化する問題を解いたところ解が得られなかった、ということが質問させていただいた経緯としてありました。
ここで私は、ATA(Aの転置かけるA)が特異な行列の場合共役勾配法が機能しないことがあるのではないかと考え、こちらでの質問に至ったのですが問題は別のところにありました。
私が解いている問題における行列Aの特性を調べてみたところ、
n個の行ベクトルの総和がゼロベクトルになるという性質があることに気がつきました。
この場合右辺のベクトルbの要素の総和もゼロになっている必要があるのですが、
実際はそうなっていませんでした。
そのため、ベクトルbの要素の総和がゼロになるように修正をかけることで、
共役勾配法が上手く機能しました。
結論としては、
0*x = bという問題を無理矢理解こうとしていたことに上手くいかない原因があり、
stomachmanさまのおっしゃった逐次近似による残差最小化で解くことができるということがわかりました。
勝手に質問した上で勝手に解決してしまい大変恐縮なのですが、
丁寧にご回答いただいたstomachmanさまには感謝いたします。
ありがとうございました。
No.1
- 回答日時:
現在、リッジ回帰など正則化回帰の方法として知られている回帰分析のうち、ご質問者のように過飽和でも解ける手法としては、lasso(ラスー)が上げられます。
L2正則化回帰とか、罰則付き回帰と言われています。任意の解ではなく、適切に変数選択された解が得られます。
1996年、スタンフォード大学のティブシャアーニ先生が提案した手法ですが、実装している統計ソフトは限られています。私はフリーの統計ソフトRを使っています。私は、ライブラリlarsを使っていますが、ライブラリglmnetでもできます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 数2Bの数列の問題です。 自分は、 まず数列 an=ar^(n-1)と置き こちらの問題の、y= の 1 2022/07/07 16:26
- 電気工事士 6.6kVケーブル単芯325sq-1.5kmの遮蔽銅テープ抵抗値は何Ω? 1 2023/05/02 21:06
- 数学 数学1の問題がわかりません。 次の関数において、頂点の座標と、[]内のxの値に対するyの値を求めよ。 3 2023/02/13 00:36
- 数学 数学の問題の解き方を教えてください! 3 2022/11/02 17:32
- 数学 一般的な行列の逆行列に関する質問 3 2022/04/21 14:53
- 物理学 高校物理 二次元の衝突 画像の問題の解答では、静止系での球2の速度v2を -運動エネルギー保存 -運 3 2022/11/12 00:34
- 数学 放物線と円の接点についてです。96(1)の、[1]で重解だと接することがよくわかりません。 xの2次 4 2022/12/24 17:59
- 高校受験 数学の問題いくつか捨てても大丈夫?残り1ヶ月、点数が取れない教科ばっか勉強しても大丈夫? 高校受験 2 2023/01/07 17:55
- 高校 対数方程式につきまして 4 2022/05/05 07:55
- 数学 行列 線形代数 数学 区間行列 ブロック行列 逆行列 区間行列(ブロック行列)でA^-1を求めよとい 2 2022/05/06 00:25
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
決定係数がマイナスになる例っ...
-
切片あり回帰と切片なし回帰
-
相関分析の相関係数と重回帰分...
-
回帰式と近似式について
-
ある1点で傾きが急激に変化する...
-
数学A整数の性質について質問で...
-
二つのデータの波形が似てるか...
-
相関係数Rの2乗について
-
大学のレポート
-
Excelによるχ自乗検定 0で除...
-
統計問題
-
相関の表現について(高い、強い?)
-
変動係数(SD/平均)を有意差検定...
-
次の1次従属と1次独立の説明を...
-
【統計】「相関係数の有意性の...
-
VB.NETでODBC接続のデータベー...
-
有意に大きい(小さい)とは?
-
分析枠組みとは
-
相関のある正規乱数
-
3変数の相関
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
決定係数がマイナスになる例っ...
-
切片あり回帰と切片なし回帰
-
ある1点で傾きが急激に変化する...
-
回帰式と近似式について
-
修正済み決定係数(R2乗)がマ...
-
原点強制通過させたときの相関係数
-
回帰水を売ってる会社大丈夫か
-
EXCELで両対数を取った重回帰分...
-
残差について
-
Yハットの出し方やミュートと...
-
重回帰分析で偏回帰係数を全て...
-
numbersで重回帰分析をしたい
-
重回帰分析・ヘドニックアプローチ
-
エクセル 重回帰 グラフ
-
原点を通る重回帰式について
-
重回帰分析をし、コントロール...
-
線形方程式の解法(数値計算)...
-
相関分析の相関係数と重回帰分...
-
複素数同士の回帰式をエクセル...
-
散布図からの近似曲線の書き方...
おすすめ情報