内積を使って少し応用的な内容ですので、難しい方は読み飛ばしても構いません。この内積の値は、2つの矢印がどれくらい似た方向を向いているのか、とも考えることができます。長さが1の2つのベクトルを考えます。分かりやすくするために、始点は同じにしておきましょう。この2本のベクトルを、片方を固定して、もう一方をぐるぐると動かしてみます。これは、相関係数とも呼ばれ、変数同士の関連性を表した指標です。相関係数が正の値であれば、一方が増えると、もう片方も増えるという関係にあり、負の値であれば、もう片方は減るという関係性にあることが言えます。(一般的には、変数同士の共分散の視点から説明されることが多いのですが、今回のようにベクトルの内積で、どれくらい方向が似ているのかという観点からも考えることができます。)これを使うと内積が0になるところは、ベクトル同士が90°になっています。これをベクトルの直交といってこのように表します。このベクトルの直交は、非常によく出てくる理論なので覚えておきましょう。ベクトルを使った平均値ベクトルの考えをさらに深めるため、第一回で学んだ6人のテストの平均値をベクトルで表現してみます。今まではベクトルを2次元で考えてきましたが、ここでは6次元のベクトルとなります。6次元と聞いてびっくりするかもしれませんが、2次元ベクトルの性質をそのまま引き継いだ、縦に並ぶただの数字だと思ってください。6人のテストの点数をベクトルで表し、値がすべて1のベクトルも作っておきます。このテストベクトルと、単位ベクトルとの内積を求めてみます。内積が求まりましたが、これを1/6にすれば紛れもなくテストの平均値ですね!このように、ベクトルや次回学ぶ行列は、たくさんある数字をひと固まりで考えることで、式を簡潔に記述できるだけでなく、計算の処理速度も速くなります。これが、データサイエンスにおいてベクトルや行列を使う最大のメリットです。(1/6)*(np.dot(vector_e.T,vector_test))print(mean_test)>50.0#もちろんnp.meanで求めれば速いprint(np.mean(vector_test))>50.0まとめ今回はデータサイエンス数学、線形代数の中でも基本的なベクトルの概念について書いてきました。今回は視覚的にも分かりやすいように2次元で考えてきましたが、ほとんどの場合ベクトルは4次元以上になります。イメージしにくいかもしれませんが、いろいろな便利機能をもつ矢印だと思えば、親しみやすいのではないでしょうか?数字が縦に並んでいれば、すべてベクトルとして考えることができることを覚えておきましょう。最後に、ベクトルのルールをまとめておきます。数字が縦に並び、方向の要素をもつ矢印をベクトルという。ベクトルの長さをノルムという。ベクトルは、要素ごとに足したり、引いたりできる。ベクトルのかけ算には、定数倍と内積がある。内積を計算するときは、数字を横に並べる転置を行う必要がある。ベクトルのノルムや、内積は方向の要素をもたないスカラーとなる。内積は、矢印の方向がどれぐらい似ているのかを表す。内積が0の時を直交という。長さが1のベクトルを単位ベクトルと呼ぶ。重要:ベクトルを使うと、数式を簡潔に記述でき、処理速度が早くなる。次回は、行列を扱っていきます。www.medi-08-data-06.work※本記事は筆者が個人的に学んだことをまとめた記事なります。所属する組織の意見・見解とは無関係です。数学の記法や詳細な理論、用語等で誤りがあった際はご指摘頂けると幸いです。参考データサイエンスで必要となる数学がほとんど網羅されています。方には、少し難易度が高いですが、数式の導出など丁寧にまとめてあり、脱初心者を目指す方にはとてもおすすめです。単行本データサイエンスを学び始めて右も左も分からなかったときこの本に出会い、”統計、機械学習を学ぶための数学を学ぶ本”というコンセプトがぴったりで感動した。今、読み直してみるとさらに理解が深まり、データサイエンス数学入門書としては間違いなくおすすめです。学んだこと、日々の所感をまとめていきます。※本ブログは筆者が個人的に学んだこと感じたことをまとめたブログになります。所属する組織の意見・見解とは無関係です。medi_data0826引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。