機械学習のための線形代数:重要な概念、MLの前に学ぶ理由

公開: 2020-04-30

機械学習、ロボット工学、データサイエンス、人工知能、コンピュータービジョンは、私たちのテクノロジーを現在のレベルに引き上げるのに役立ってきた分野の1つです。 これらのテクノロジーについてより多くの知識を習得し始めると、これらのテクノロジーに共通する一連の専門用語または特定の単語に出くわします。

これらの用語には、ラッソ回帰、KKT条件、カーネルPCA、サポートベクターマシン(SVM)、ラグランジュ乗数、リッジ回帰などが含まれます。 さて、これらの専門用語は部外者を遠ざけるためだけに造られたかもしれませんが、彼らは私たちが学校での日々から知っている典型的な線形代数との関連について多くを語っています。

したがって、機械学習やデータサイエンスを学習しているすべての個人が、線形代数と最適化理論とは何かを最初に理解することが不可欠になります。 また、MLを使用して問題を解決するとき、またはデータサイエンスを使用して利用可能な膨大なデータをより理解するときに、データサイエンスを学び、それらの使用方法を知る必要があります。

このブログでは、機械学習と線形代数がどのように関連しているか、そして後者をよりよく理解することが前者を習得するのにどのように役立つかに焦点を当てます。

SVMや回帰などの機械学習には、線形代数の接続を認識していないと正しく理解できない概念があります。 これらの概念を実行しているだけで、これらが実際に何であるかを理解し、さらに研究を進めることを望まない場合は、線形代数とそれが機械学習にどのように関連しているかを深く理解することなく進むことができます。

ただし、今後機械を訓練したり、研究を行ったり、この分野で多大な貢献をしたりする機械学習エンジニアになることを計画している場合は、深く掘り下げる必要があります。 他に選択肢はありません。 線形代数のしっかりしたバックグラウンドを持つことは必須です。 このブログを書く私たちの主な目的は、線形代数の基礎をあなたの前に置き、それらが機械学習でどのように使用されるかを確実に提示することです。 線形代数が正確に何であるかを理解することから始めましょう。

目次

線形代数とは何ですか?

簡単に言えば、それは工学と科学で重要なアプリケーションを見つける数学の一分野です。 それは非常に重要であり、私たちの想像をはるかに超える用途がありますが、それをより深く理解することになると、私たちの科学者は遅れをとっています。 この背後にある主な理由は、ほとんどの科学者が頻繁に使用しているのは離散数学ではないためです。

それは数学の継続的な部分に属しているため、科学者や技術分野で働く人々にとっては面白くありません。 ここで、1つのことを非常に明確にしましょう。 線形代数がどのように機能するかについての基本的な理解さえ持っていない場合、深層学習アルゴリズムを含むいくつかの機械学習アルゴリズムを学習して使用することは非常に難しいことに気付くでしょう。

機械学習が基本的にどのように機能し、そのアルゴリズムをどこでどのように使用できるかを終えたら、数学を学ぶためにもう少し時間をかける必要があります。 これは、以前は理解していなかった機械学習アルゴリズムに関する多くの新しいことを理解するのに役立ちます。 あなたはそれらの制限、根底にある仮定などについて多くを知るでしょう。

これで、機械学習をさらに活用する方法を学ぶために、この時点で学習する数学のさまざまな分野に出くわすことができます。 幾何学、代数、微積分、統計などのトピックを学ぶことができます。 ただし、ここでは賢明であり、機械学習のキャリアを前進させる際に、経験を豊かにし、より強固な基盤を提供するのに本当に役立つと思われる領域を選択する必要があります。 あなたはあなたが決定を下すのを手伝うように専門家に頼むことさえできます。

あなたが今あなた自身に尋ねる次の質問は、あなたがこの学習プロセスについてどのように進む必要があるかということです。 線形代数を最初から研究することはできません。 何らかの方法で機械学習で使用されるトピックを選択する必要があります。 次のセクションでは、学習することを選択できる線形代数のトピックのいくつかについて説明します。

詳細:初心者向けに説明された機械学習モデルのトップ5

重要な線形代数の概念

機械学習の背後にある基本的な概念を理解しようとしている場合は、いくつかの線形代数の概念について十分な知識を持っていることが非常に重要です。 これらの高度な機械学習アルゴリズムの背後にある数学がわからない場合は、それらを習得することはできません。 機械学習がどのように機能するかを知るために学ぶ必要のある線形代数のいくつかの概念を次に示します。

1.ベクトルと行列

これらの2つの概念は、機械学習との密接な関係を考慮すると、間違いなく、学習する必要のある2つの最も重要な概念であると言っても間違いありません。 ベクトルは数値の配列で構成され、行列は通常大文字で示される2次元ベクトルで構成されます。

次に、それらが機械学習アルゴリズムにどのようにリンクされているかを見てみましょう。 ベクトルは、ターゲット変数の形式で存在する教師あり機械学習アルゴリズムで役立ちます。 一方、データで利用可能な機能はマトリックスを形成します。 行列を使用して、共役、乗算、ランク付け、変換など、さまざまな操作を実行できます。 同じ数の要素と形状が等しい2つのベクトルを使用して、減算と加算を実行することもできます。

2.対称行列

対称行列は、線形代数と機械学習の両方で重要です。 線形代数行列は、主に関数を運ぶために使用されます。 ほとんどの場合、これらの関数は対称であり、それらに対応する行列も対称です。 これらの関数とそれらが保持する値を使用して、フィーチャの距離を測定できます。 また、特徴の共分散を測定するためにも使用できます。 以下にリストされているのは、対称行列のいくつかのプロパティです。

  • 対称行列とその逆行列はどちらも対称です。
  • 固有値のすべての値は実数です。 複素数は存在しません。
  • 対称行列は、行列にその転置を掛けたときに形成されます。
  • 対称行列は、因数分解の特性も保持します。
  • 線形独立の列を持つ行列の場合、行列にその転置を掛けたときの結果は反転可能です。

3.固有値と固有ベクトル

固有ベクトルは、スカラー係数によってのみ変化するベクトルであり、その方向はまったく変化しません。 固有ベクトルに対応する固有値は、それらがスケーリングされる大きさです。 固有値と固有ベクトルは、数学とコンピューティングの基礎にあります。 XYグラフにベクトルをプロットすると、特定の方向に従います。 いくつかのベクトルに線形変換を適用すると、方向が変わらないことがわかります。 これらのベクトルは、機械学習において非常に重要です。

固有値と固有ベクトルは、データノイズを最小限に抑えるために使用されます。 また、この2つを使用して、計算量が多いことがわかっているタスクの効率を向上させることもできます。 それらはまた、過剰適合をなくすために使用することができます。 固有値と固有ベクトルが有用であることが証明される他のいくつかのシナリオもあります。

音声、テキスト、または画像データの特徴を視覚化することは非常に困難です。 このデータは通常、3Dで表されます。 ここで、固有値と固有ベクトルが登場します。 それらは、マトリックスに格納されている膨大な量をすべてキャプチャするために使用できます。 固有値と固有ベクトルは、顔認識でも使用されます。

読む:初心者のための機械学習プロジェクトのアイデア

4.主成分分析(PCA)

特定の機械学習の問題を解決することになると、次元が物事を困難にすることがよくあります。 これらの問題では、特徴間の相関が非常に高く、通常よりも高い次元にあるデータを処理しています。

この次元の問題で発生する問題は、すべての特徴がターゲット変数に与える影響を理解することが非常に困難になることです。 これは、通常よりも相関が高いフィーチャが同じようにターゲットに影響を与える傾向があるためです。 また、高次元のデータを視覚化することも非常に困難です。

主成分分析は、これらの問題の解決策です。 データディメンションを2次元または3次元に下げるのに役立ちます。 これは、最大分散の変更によって情報が失われないようにするために行われます。 PCAの背後にある数学は、直交性に関連しています。 PCAは、データセット内の特徴の数を減らすことにより、モデルの複雑さを軽減するために利用できる最良の方法です。

ただし、過剰適合を排除するための最初のステップとして使用することは避けてください。 データ内の特徴の数を制限するか、データ量を増やすことから始める必要があります。 次に、L1またはL2の正則化を使用してみてください。 何も機能しない場合は、PCAを使用する必要があります。

また読む:あなたが知っておくべきトップ9の機械学習ライブラリ

機械学習の前に線形代数を学習する必要があるのはなぜですか?

1.線形代数は機械学習で優れているための鍵です

高度な数学に関しては、微積分が線形代数に勝るという事実を否定することはできません。 積分と微分の計算は、積分、微分、極限だけでなく、テンソルやベクトルなどのアプリケーションに必要な基本的な知識としても役立ちます。

これらのことを学ぶことは、他の分野の中でも特に一次方程式と一次関数をよりよく理解するのに役立ちます。 また、シンプレックス法や空間ベクトルなどの高度な概念についても理解できます。 線形計画法のヘルプが必要な場合は、シンプレックス法を使用できます。 これらの概念をより良くするために、線形代数により多くの時間を与えることから始めます。

2.機械学習の予測

線形代数を学習すると、機械学習でそのような重要な役割を果たす意識や本能が向上します。 これで、より多くの視点を提供できるようになります。 あなたが研究した行列とベクトルはあなたがあなたの思考を広げそしてそれをより揺るぎないものにするのを助けるでしょう。 可能性は無限大。 あなたはあなたの周りの他の人が理解するのが非常に難しいと思うことを始めることができます。 さまざまなグラフの視覚化と設定を開始できます。 さまざまな機械学習コンポーネントに対して、より多くのパラメーターの使用を開始できます。

3.線形代数は、より優れた機械学習アルゴリズムの作成に役立ちます

線形代数の学習を使用して、教師ありおよび教師なしの機械学習アルゴリズムを構築できます。 ロジスティック回帰、線形回帰、決定木、およびサポートベクターマシン(SVM)は、線形代数を使用して最初から作成できるいくつかの教師あり学習アルゴリズムです。

一方、単一値分解(SVD)、クラスタリング、成分分析などの教師なしアルゴリズムにも使用できます。 線形代数は、作業中の機械学習プロジェクトをより深く理解するのに役立ちます。したがって、さまざまなパラメーターを柔軟にカスタマイズできます。 機械学習の線形回帰について詳しく知ることができます

4.機械学習でのグラフィック処理を改善するための線形代数

機械学習プロジェクトは、画像、音声、ビデオ、エッジ検出など、さまざまなグラフィック解釈を提供します。 機械学習アルゴリズムには、カテゴリに基づいて特定のデータセットの一部をトレーニングする分類器があります。 分類器のもう1つの仕事は、すでにトレーニングされたデータからエラーを取り除くことです。

この複雑で大きなデータセットの計算を支援するために線形代数が登場するのはこの段階です。 マトリックス分解技術を使用して、さまざまなプロジェクトの大きなデータを処理および処理します。 最も一般的な行列分解方法は、QRおよびLU分解です。

5.統計に対する考え方を改善するための線形代数

統計は、機械学習でデータを整理して統合するために非常に重要です。 統計の概念をよりよく理解したい場合は、最初に線形代数がどのように機能するかを知る必要があります。 線形代数には、多変量解析などの高度な統計トピックをプロジェクトに統合するのに役立つメソッド、操作、および表記法があります。

体重、身長、血圧、心拍数などの患者データを処理しているとします。 これらは、作業しているデータセットの複数の変数です。 ここで、体重の増加が血圧の上昇につながると仮定しましょう。 これが線形関係であることを理解するのはそれほど難しくありません。 したがって、ある変数の増加が他の変数にどのように影響するかをよりよく理解するには、線形代数をよく理解する必要があります。

結論

機械学習自体は非常に大きなトピックです。 ただし、線形代数のように、ML自体と同じくらい重要な概念が他にもあります。 線形代数や他のそのようなトピックを学ぶことは、機械学習の概念をよりよく理解するのに役立ちます。

機械学習について詳しく知りたい場合は、IIIT-BとupGradの機械学習とAIのPGディプロマをご覧ください。これは、働く専門家向けに設計されており、450時間以上の厳格なトレーニング、30以上のケーススタディと課題、IIIT-を提供します。 B卒業生のステータス、5つ以上の実践的なキャップストーンプロジェクト、トップ企業との仕事の支援。

機械学習にとってより重要なのは、微積分と線形代数のどちらですか?

機械学習でキャリアを積むことを計画している場合は、この分野の基礎が数学に深く根ざしていることをすでに知っている必要があります。 機械学習数学は、微積分、線形代数、統計の3つの主要分野で構成されています。 機械学習には多くのベクトルと行列が含まれるため、線形代数が最も基本的な部分を構成します。 しかし、微積分は、機械学習メカニズムがどのように機能するかを理解するのに役立つため、MLの不可欠な部分でもあります。 したがって、微積分と線形代数の両方が等しく重要です。 ただし、両方をどれだけ使用する必要があるかは、主に職務と責任によって異なります。

線形代数は微積分よりも学ぶのが難しいですか?

線形代数は、線形方程式を使用して直線を研究することに関するものですが、微積分学は、導関数、ベクトル、積分、曲線などを含む滑らかに変化するコンポーネントに関するものです。 そうは言っても、線形代数は基本的な微積分よりもはるかに簡単に学ぶことができます。 線形代数では、線形代数の定理の背後にある理論を理解できれば、関連するすべての質問を解決できます。 しかし、それは微積分の問題を解決するには十分ではありません。 アルゴリズム、つまり理論の部分を覚えるだけでなく、微積分で計算の質問に答えるための計算の側面を理解する必要があります。 微積分は数学の最も難しい部分ですが、線形代数はより具体的で抽象的ではありません。 今後は理解しやすくなります。

機械学習では統計が重要ですか?

機械学習に関しては、統計を除外することはできません。 専門家は、機械学習は統計に適用されると考えているため、機械学習でのキャリアを追求したい人にとっては前提条件です。 機械学習モデルの設計では、データが基本的に重要な役割を果たします。 さまざまな機械学習モデルのトレーニングに使用される蓄積されたデータに基づいて回答を見つけるには、統計的手法が必要です。 したがって、機械学習には統計に関する基本的な知識が必須です。