数値計算法について困っていることがあり、
皆様のお知恵をお借りしたいと思います。
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で質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
切片あり回帰と切片なし回帰
-
統計学の外挿を教えてほしいです。
-
決定係数がマイナスになる例っ...
-
回帰式と近似式について
-
Yハットの出し方やミュートと...
-
重回帰分析・ヘドニックアプローチ
-
原点強制通過させたときの相関係数
-
理論に基づいた回帰モデル作成...
-
複素数同士の回帰式をエクセル...
-
分析バリデーションにおける真...
-
二つのデータの波形が似てるか...
-
統計問題
-
信号長が2の累乗以外のFFTがや...
-
離散的なデータの相関
-
相関の表現について(高い、強い?)
-
変動係数(SD/平均)を有意差検定...
-
c#でデータセットが使えなくな...
-
バッジ(バッチ)分析とは何ですか?
-
アンケート分析に方法について
-
グループ分けの問題
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
決定係数がマイナスになる例っ...
-
切片あり回帰と切片なし回帰
-
修正済み決定係数(R2乗)がマ...
-
回帰式と近似式について
-
ある1点で傾きが急激に変化する...
-
回帰水を売ってる会社大丈夫か
-
numbersで重回帰分析をしたい
-
原点強制通過させたときの相関係数
-
残差について
-
罰則付き回帰スプライン?について
-
回帰直線と相関係数
-
EXCELで両対数を取った重回帰分...
-
相関分析の相関係数と重回帰分...
-
回帰直線について
-
最小二乗法の傾きと切片について
-
統計ソフトRを用いた回帰直線の...
-
統計分析している者です
-
ロジスティック回帰分析におけ...
-
線形方程式の解法(数値計算)...
-
微分方程式と回帰分析の予測方...
おすすめ情報