cs231n 学習記録 - 線形分類器の理解

目次

序文:

簡単な紹介:

1. NN 分類器の欠点

2. 線形分類器とは

3. 線形分類器の原理

4. 画像からラベル スコアへのパラメトリック マッピング

5:「b」について説明する

6. 線形分類器をテンプレート マッチングと考える

セブン、終わり


序文:

        学習内容はスタンフォード大学の「Convolutional Neural Network for Computer Vision」コース、コース コードは cs231n、元のリンクはStanford University CS231n: Deep Learning for Computer Vision で、Zhihu にはコース ノートの中国語訳があります。 ! CS231n 公式ノートの正式な翻訳集がリリースされました - 知乎

        このブログを書く主な理由は、コース全体を完了し、学習の旅を記録するよう促すことです。そのため、ブログの内容は、コースのメモとコンサルティング資料を読んだ後の私自身の理解の一部になる可能性があります。私はこの辺のことをほとんど何も知らない少年なので、私の書いた内容には間違いや理解不能があると思います. たまたまこのブログを見て、私に啓発したいと思っている大物がいるなら、どうもありがとう. 、大歓迎です。 

簡単な紹介:

        このブログでは線形分類器の理解に焦点を当てるつもりです.これは私が学んでいるときに最も理解するのが難しい部分でもある.最初に読んだときは数学的原理がまったくわからなかったので,じっくり勉強することにしたので、情報を確認しながら見ながら書いていきます。同時に、公式ノートの説明の順番が初心者には少し不親切だと思うので、線形分類器を理解した手順に従ってこのブログを書く予定です. 同時に、他の資料を参照して、自分なりの考えでいくつかブログを追加していきますが、もし何もなければ抜け穴やズレがあるかもしれませんのでアドバイスをお願いします。

1. NN 分類器の欠点

        この本は上記に関連しており、前のノートでは NN および K-NN 分類器を紹介しましたが、これら 2 つの分類器には明らかな欠陥があります。

        1. テスト中に 1 対 1 で比較するために、トレーニング データ セット全体を保存する必要があります。これは、多くのストレージ リソースを消費します。

        2. テスト中に、テスト画像を各トレーニング セット画像と比較する必要があります。これには、費用と時間がかかります。

        そこで、訓練データを使って訓練を行った後に訓練セットの「ゆりかご」から脱却でき(多少時間がかかっても)、同時により高速な分類手法を採用できる分類器があれば、分類子を使用することによるストレージ容量のコスト、計算リソースのコストなどを削減します。線形分類器は、この問題を非常にうまく解決します。

2. 線形分類器とは

        線形分類器については、元のメモに「画像からラベル スコアへのパラメーター化されたマッピング」という高水準の文が直接記載されていました。理解した後、線形分類器とは何かを説明するために非常に単純な例を使用する予定です。

        まず、私が下に置いた写真を見てみましょう。

                                        3009b560c4f145b0a872319d43bab4b2.jpg

        この平面には 2 色の点がたくさんありますが、この 2 種類の点を区別したいのですが、最も簡単な方法は何ですか? もちろん、図のように線を引いて(または条件を満たした他の場所に)、それを2つに切ります. 線のこの端は黄色で、もう一方の端は青色です. この 2 次元空間の分布を例にとると、トレーニング セットデータとして図に示すようなポイント マップがあり(各ポイントはデータなので、多くのポイントが集まってトレーニング セットを形成します)、これを通過するには画像、直線を決定します。この線は、このトレーニング セットで 2 つの色のドットをうまく分離できるだけでなく、他の (テスト セットと呼ばれる) 黄色と青色のドットも持つことができます (この中の同じ色の点の分布空間は類似しているはずであり、空間内の異なる色の点の分布位置は明らかに異なります)画像上で、2つの色の点をできるだけ高い精度で分割します。

        これは、2 次元平面上の線形分類です。そして、高次元空間でも同様です。

       ヒント: 私のような孟信のためにもう 1 つ言います。高次元の空間を深く見てはいけません。通常の人の脳が 3 次元以上の空間を想像することは困難ですが、多次元の空間を使用すると、次のように 次元空間 用語で説明すると、はるかに理解しやすくなります。体を形成するための表面を形成します。

線形分類器の分類方法は、データ (テスト セットを含む) に対する分類器の分類誤差ができるだけ小さくなるように、一連の        分布の決定境界として超平面を見つけることです。

超平面: n 次元の線形空間で n-1 次元の部分空間を指します。線形空間を 2 つのバラバラな部分に分割できます。たとえば、2 次元空間では直線は 1 次元で平面を 2 つに分割しますが、3 次元空間では平面は 2 次元で空間を 2 つの部分に分割します。

決定境界: サンプルを正しく分類できる境界。先ほど黄色と青色の点の間に引いた直線が決定境界です。

3. 線形分類器の原理

        線形分類器の分類方法はすでにわかっていますが、ここで問題に直面します。今の絵で決定境界を決定しようとすると、基準を満たす直線が無数に引けるように見えます。        f96d70d8a4aa4c09a4ece25612dc190f.jpg

しかし、最終的な分類器には決定境界が 1 つしかなければならないので、どの境界を見つければよいでしょうか? 実は、これらの決定境界には、良い点と悪い点があります。ここで、テスト セットの要件を満たす 2 つの決定境界を描画し、テスト データとして図にいくつかのポイントを追加します。

        ​​​​​​​        06da5e607f8743b89d3273e5d730ae9c.jpga0b6af323e2b4450bc8e639e1134ed26.jpg

        このような比較において判断が下される。他の人のブログからの引用.線形 SVM 分類器の動作原理_圻子-的ブログ-CSDN ブログ_分類器の動作原理:     

         この決定境界が未知のデータ セット (テスト セット) で適切に機能することは保証できません。既存のデータセットには、B1 と B2 の 2 つの決定境界があります。​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​                        ここに画像の説明を挿入

        この決定境界に最も近い正方形と円に遭遇して停止するまで、決定境界 B1 を両側に変換し、2 つの新しい超平面、つまり b11 と b12 を形成し、元の決定境界を b11 の中央に移動し、 b12、B1 から b11 と b12 までの距離が等しいことを確認します。b11 と b12 の間の距離は、B1 の決定境界のマージンと呼ばれ、通常は d で示されます。

マージンが大きい決定境界では、分類の汎化誤差が小さいことが        わかりますマージンが小さい場合、わずかな摂動が決定境界に大きな影響を与える可能性があります。マージンが小さい状況は、モデルがトレーニング セットではうまく機能するが、テスト セットではうまく機能しない状況、つまり「オーバーフィッティング」の現象ですしたがって、決定境界を探すときは、マージンが大きいほど良いことを願っています。

        研究と思考を重ねた結果、どのような線形分類器であっても最終的な目標は同じですが、トレーニングで使用する損失関数が異なると思います。

4. 画像からラベル スコアへのパラメトリック マッピング

        次に、私が見つけた情報と私自身の考えに基づいて、メモ「画像からラベルスコアへのパラメトリックマッピング」に表示される名詞について説明します。

        この図では、この図が 4 つのピクセルで構成されていると仮定し (実際にはもっと多くのピクセルがあるはずです)、この 2 次元行列の次元を列ベクトルに減らします。2 次元画像をベクトルに変換することは、よく使用される方法であり、特徴抽出とトレーニングに便利です。

        次に、分類したい画像について、選択するラベル タイプがあるたびに、このクラスの排他的分類子としてそのタイプの個別のベクトルを作成し、最後にすべての分類子を組み合わせて行列を形成します。.この行列は重み行列と呼ばれます。ここで、上の図の重み行列の列数と画像ベクトルの次元がたまたま同じで、どちらも 4 であることがわかります。これは偶然ですか?いいえ。線形代数を学んだ学生は間違いなく、これは同じでなければならないと言うでしょう。はい、しかし実際にはもっと根本的な理由があります。

        ここでも 2 次元空間でのバイナリ分類の例を使用して証明方法を説明し、それを 3 次元、高次元などに拡張します。

 ​​​​​​​  58fc4f2ccd924e338435894d6f79f875.jpg3b2ca5e960cd474bbc30fcda9b0e883f.jpg

                        (ここでの W は、重み行列ではなく、単一の分類子のすべてのパラメーター ベクトルを指します!)        

        その際、情報を確認した際に疑問を持ちました。写真の証明プロセスでは、2 つの分類に 1 つの Wx+b しか使用していませんが、ラベルごとに個別の分類器を確立する必要があると以前に言われました。分類には 2 本の Wx+b 直線を使用するべきではありませんか? この質問を理解するために、私は長い間兄(兄)を追跡してきましたが、ここで説明します。例として、猫と犬の分類を取り上げます。この絵が猫かそうでないか、分類器で十分です。絵のキャラクターが猫の基準を満たしていないことをコンピュータに判断させ、満たさない場合は「猫ではない」というラベルを直接貼り付ければよいのです。標準、そして仕事は終わりました;しかし、コンピューターにこれらを区別させたい場合、それは猫ですか、それとも犬ですか? コンピューターのデータセットに猫と犬の写真しかない場合、結果はおそらく正確です. 結局、猫ではないと判断される限り、それは犬に違いない.前の分類タスク。では、このデータセットにエイリアンの写真が混在しているとしたらどうでしょうか? コンピューターはその写真が猫のものではないと判断し、犬として分類します。右?これは正しくない。したがって、写真が猫か犬かを判断するために、それぞれ猫と犬の分類器をトレーニングする必要があります.一致しない場合は、「THE OTHER」のラベルを付けて、分類を改善します.能力異常なデータを処理するためのプロセッサの。全体として、実際のニーズに基づいて決定を下してください。

        上記の左の注記の Wx+b=0 の意味は、決定境界としての超平面表現です。では、前の図の右端の 3 次元列ベクトルの数値 (つまり、いわゆるマッピング結果) はどうなったのでしょうか?

        このWをベクトルとみなし、Wx+bの結果の大きさに意味を持たせ、Wとxを掛けた結果の値が大きければ、 xの位置はと一致しています W の方向が近いほど: たとえば、上の図の右側の注記の W は黄色の点の分類器であり、黄色の点が配置されている領域を指し、結果黄色の点に W を掛けた結果は大きくなり、青色の点に W を掛けた結果は相対的に小さくなります。Wx+b の結果サイズをもとに、どのようなラベルを付けるかをコンピュータに判断させます。では、この W はどのように由来するのでしょうか。正しい W は空から落ちません. テスト セットを使用した継続的なトレーニングの目的は、W の値を常に変更して、黄色のドットに W を掛けた結果と、青いドットに W を掛けた結果を見つけることです.小さな W、黄色のドットの分類器として。これらの分類子 W を組み合わせると、上の図では恐ろしく見える重み行列が形成されます。そういえば、「画像からラベル スコアへのパラメトリック マッピング」というフレーズは、まだハイエンドすぎて難しいと思いますか?

5:「b」について説明する

        この「b」を Wx+b で説明しましょう。この b は怖いものではなく、「kx+b」の b と同じもので切片にすぎませんが、この切片は高次元のベクトルの形になっている可能性があります。ここでbはバイアスベクトル(bias vector)と呼ばれ、一種の「ハイパーパラメータ」でもあります。これは、出力値に影響を与えるためですが、元のデータ xi とは関係ありません。b も取得でき、W を取得した後、b を逆にすることができます。

6. 線形分類器をテンプレート マッチングと考える

        ノートの直接コピーを理解する方法は次のとおりです。

        重みWのもう 1 つの説明は、各行が分類のテンプレート (プロトタイプと呼ばれることもあります)に対応することです。異なるカテゴリに対応する画像のスコアは、内積 (内積とも呼ばれます) を使用して画像とテンプレートを比較し、どのテンプレートが最も類似しているかを見つけることです。この観点から、線形分類器は学習したテンプレートを使用して、画像のテンプレート マッチングを行っています。別の見方をすれば、k-NN は依然として有効に使用されていると考えられます.違いは、トレーニング セットのすべての画像を比較に使用するのではなく、各カテゴリに 1 つの画像のみを使用したことです (この画像はL1 または L2 距離を使用する代わりに、(負の) 内積を使用してベクトル間の距離を計算します。

———————————————————————————————————————

ここに示すのは、トレーニング セットとして CIFAR-10 を使用して学習した後の重みの例です。ボートのテンプレートには、予想どおり青色のピクセルが多数含まれていることに注意してください。画像が海上を航行するボートである場合、このテンプレートは内積を使用して画像を計算することで高いスコアを示します。

セブン、終わり

       ブログを書くときは、線形 SVM 分類器の動作原理_圻子-的博客-CSDN ブログ_分類器の動作原理を参照することがよくあります.非常に詳細で、多くの時間を節約できると思います.

        私の 2 つ目のブログは写真の分類 (上) に従って書き始める (下) のは当然ですが、ブログを書く機会を利用して、これまで無知だった線形分類を真剣に検討したいと常に思っています。なので順番を変えました。この記事の長さは以前に書いたものと似ていますが、書いたときに線形分類器の理解が十分ではないことに気づき、より多くの時間を費やしたため、以前の数倍の時間がかかりました.情報を見つけて比較するのに多くの時間がかかりました(これらの数千の単語について、何百ものウェブページをチェックしたと思います)。もちろん、多くの時間を費やした結果、私はこのメモについてより深く理解できるようになりました。SVM と Softmax 損失関数の理解は十分ではありませんが、公式を知っていれば基本原理は簡単に理解できます。

        cs231nのコードにはほとんど触れていなかったので、画像分類を更新した後、メモの割り当て1の巨大なプロジェクトを見てみることにしました(以下)。その後、コードと書き込みプロセスを投稿します。

        

        

                                         

おすすめ

転載: blog.csdn.net/qq_62861466/article/details/126330526