線形代数、行列計算、自動導出

学習記録: 

この知識に関しては、こちらのブログの方が詳しいと思います。

【ディープラーニング体験 | Week1b】 05 線形代数 06 行列計算 07 自動導出_import torchx = torch.arange(4.0)y = x*torch.dot(x_Big Stomach Sheep's Blog-CSDN Bloghttps: //blog.csdn.net/ davidyang_980/article/details/122042158

「ディープラーニング体験」

ハンズオンディープラーニング (d2l.ai) https://zh-v2.d2l.ai/d2l-zh-pytorch.pdf

1. 線形代数

線形モデル

線形仮定は、ターゲットが次の式のような特徴の加重和として表現できることを意味します。

価格 = 面積 · 面積 + 賃金 · 年齢 + b

式内のワラと賃金は重みと呼ばれ、重みによって各特徴が予測値に与える影響が決まります。bはバイアス(バイアス)、オフセット(オフセット)、または切片(インターセプト)と呼ばれます。

厳密に言えば、上記の式は入力特徴のアフィン変換です。アフィン変換は、重み付き合計による特徴の線形変換とオフセット項による変換によって特徴付けられます。出力の予測値は、線形モデルによる入力特徴のアフィン変換によって決定され、アフィン変換は選択された重みとバイアスによって決定されます。

表記行列 X ∈ R n×d は、データセット全体の n 個のサンプルを便利に参照できます。このうち、X の各行はサンプル、各列は特徴です。特徴セット X の場合、予測値 y^ ∈ R n は、行列とベクトルの乗算によって次のように表すことができます。 y^ = Xw + b

損失関数

損失関数は、ターゲットの実際の値と予測値の差を定量化できます。通常、損失として負ではない数値を選択します。値が小さいほど損失は小さくなり、完全な予測の場合は損失は 0 になります。回帰問題で最も一般的に使用される損失関数は、二乗誤差関数です。サンプル i の予測値が y^(i) で、それに対応する真のラベルが y(i) である場合、二乗誤差は次の式として定義できます。

 モデルをトレーニングするときは、すべてのトレーニング サンプルにわたる合計損失を最小限に抑えるパラメーターのセット (w∗ 、 b∗ ) を見つけたいと考えます。次のように:

分析ソリューション

線形回帰の解は簡単に数式で表すことができ、このような解を解析解といいますが、まずバイアス b を全パラメータを含む行列に 1 列追加してパラメータ w に組み込みます。私たちの予測問題は、∥y − Xw∥2 を最小化することです。損失平面上には臨界点が 1 つだけあり、領域全体の最小損失に対応します。解析解を得るには、w に関する損失の導関数を 0 に設定します。

確率的勾配降下法

確率的勾配降下法は、ほぼすべての深層学習モデルを最適化できます。損失関数を減少させる方向にパラメータを継続的に更新することで誤差を低減します。アルゴリズムの手順は次のとおりです: (1) ランダム初期化など、モデル パラメーターの値を初期化します; (2) データ セットからサンプルの小さなバッチをランダムに選択し、負の勾配の方向にパラメーターを更新します。 、このステップを継続的に繰り返します。二乗損失とアフィン変換については、次のように明示的に書くことができます。

おすすめ

転載: blog.csdn.net/qq_46703208/article/details/129697581