2019年6月5日タイトルの通り。Losso回帰と違って損失関数を偏微分するだけで出来そうなのでやってみる。Ridge回帰は線形回帰の1種だけれども、損失関数として最小二乗法をそのまま使わず、\(L_2\)ノルムの制約を付けたものを使う(\(L_2\)正則化)。データとモデル教師データ\(\boldsymbol{y}\)、訓練データ\(\boldsymbol{x}\)があるとする。(または目的変数\(\boldsymbol{y}\)、説明変数\(\boldsymbol{x}\)があるとする。)例えば\(p\)次の属性データが\(n\)個あり、それらと結果の対応が分かっている状況。x_{np}\end{pmatrix}\end{eqnarray}モデルは以下。特徴ベクトル\(\boldsymbol{w}\)は訓練データの重み。特徴空間において損失を最小化する特徴ベクトルを求める問題。普通の2乗損失に正則化項(\(L_2\)ノルムを定数倍した値)を付けたものを損失関数として利用する。正則化項の係数はハイパーパラメータとして調整する値。逆数なのはsklearnに従う。|\boldsymbol{w}|^2\end{eqnarray}特徴ベクトルは以下。|\boldsymbol{w}|^2\end{eqnarray}特徴ベクトルを求める勾配=0と置けば上の式の解を得られる。損失関数が微分可能だからできる技。0\end{eqnarray}変形する。\boldsymbol{y}\end{eqnarray}テストデータを作る練習用にsklearnのbostonデータを使ってみる。ボストンの住宅価格が目的変数、属性データが説明変数として入ってる。36.2散布図行列を表示してみる。PRICEと関係がありそうなZN,RM,AGE,DIS,LSTATの5個を使ってみる。sns.pairplot(boston_df)plt.show()pg.savefig('boston_fig.png')特徴ベクトルを自力で計算するこれを自力で計算してみる。\(C=0.01\)、\(C=0\)、\(C=100\)としてみた。-0.66137596]\(C=0\)のとき、つまり最小二乗法のとき。sklearnを使うsklearnのridge回帰モデルを使うと以下みたいになる。-0.73188192]出てきた特徴ベクトルを並べてみる自力で計算したものとsklearnに計算してもらったものを並べてみる。RMの寄与度が高いというのは似ている。-0.73188192]自力で計算したモデルの正答率を求めてみないとなんとも...そして、正規化項の係数の大小がどう影響するのか、あまり良くわからなかった..。\(L_2\)ノルムの制約を付けると、パラメタの大小が滑らかになると言いたかったのだけども。成績が良くない...。コメントをキャンセルコメントを投稿するにはログインしてください。定着させるために記事にしてみます。オブジェクト指向の必須要素はこれ。継承、カプセル化・多態性。異種リストを書けば全部試せるので試してみる。ndarrayの全ての要素に対して基本的な計算を実行する。大方の言語と同じように任意引数を定義できる。任意引数の位置に渡した引数はタプルに変換される。複数の変数を1つのタプルに変換する操作を、詰める(pack)と言ったりする。transposition大規模高速計算を前提にC言語との接続を前提にしていて、配列処理に寄せることになる。ndarrayで確保するメモリはPythonとは別(プロセス?)で確保される。(+S3)やりたいことは以下の2つ。x_0},\frac{\p...勾配の可視化2変数関数\(f(x_0,x_1)\)を各変数で偏微分する。この世界に中途半端に金をかけることの無意味さを理解したつもり。そのお...おっさんが数値微分を復習する引き続き、ゼロDの写経を続ける。今回は、学生の頃が懐かしい懐ワード、数値微分。Deepに入れないけれどおっさんの復習。近所の多摩川がマジで溢れそうでそれどころではなく......MNISTの手書き文字認識用データ取得クラスの作成MNISTから手書き文字認識用のデータセットをロードするクラスを作ってみた。出力層の総和を1にするように調整できれば、出力層を確率としてとらえることができるようになる。順伝搬(forward)はNumpyの積和計算を使って超絶簡単に記述できる。どちらの状態でもない過渡状態を経て状態が遷移するみたい。今回知...ansibleでaws-cliをインストやりたいことは以下の2つ。AFFINGER4.。