前提・実現したいこと
制約付きの最小二乗法をmatlabで実装しています.
matlabの関数でlasso関数があるのでそれを使ってやっているのですが
エラーが返されている状況です.
最適化の式は以下のものです.
y =Xa, X = Xb, B = ω でlasso関数に代入しました.(B = lasso(X,y))
どうかご教授お願いします.
発生している問題・エラーメッセージ
エラー: lasso (line 231) パラメーター 'Y' は 'X' の列数と同じ長さをもつ実数値のベクトルでなければなりません。
###現在やったこと
Xbを転置させたが同じエラーが返された.
その定式化ですと w が サイズAxBの行列でなければなりませんが、それで正しいですか?
また「制約付き」とありますが、定式化には見当たりません。正則化項付き、のことですか?
説明不足ですみません.
正則化項付きの最小二乗法です.
今の定式化ですと、wは行列でなければなりませんが、それは想定内ですか?
size(y)
size(X)
を確認してください
以前質問させていただいたときに,ωは横ベクトルと見て
y =Xa, X = Xb, B = ω
の対応でlasso関数に入れればもとめたいωが出るといわれてやってみたのですが
違いましたでしょうか.
Y:27×256 single
X:60×512 single
です,
であればwは行列、といいたいところですが、Y,Xの列数が違いますね。
列数を揃えてください。
回答1件
あなたの回答
tips
プレビュー