医療職からデータサイエンティストへ医療職からデータサイエンティストへ統計学、機械学習に関する記事をまとめています。Pythonベクトルと行列は、データサイエンスの中でも頻出であり、とてもとても便利な概念です。使って、ベクトルや行列の概念にふれていきます。www.medi-08-data-06.workwww.medi-08-data-06.workwww.medi-08-data-06.work今回の目的は以下になります。ベクトルとは何かを理解する。ベクトルを作って、平均値を計算できるようになる。誰が読んでも理解できることを目指していますので、分かりにくい、理解できない等ありましたら、お気軽にコメント頂けると幸いです。内積を使ってベクトルを使った平均値まとめ参考ベクトルの基礎ベクトルとは、ずばり座標で表される矢印ことです。多くの場合は4次元以上のベクトルになり、想像ができなくなるので、二次元の矢印で考えてみます。この矢印は、右に3、上に5進んだ矢印で、数学ではと表します。文字は何でもよいのですが、今回はxとしました。書き方は、文字の上に矢印をつけるか、太文字にするのが一般的です。重要なのは、ベクトルは基本的に数字が縦に並んでいるということです。ベクトルは矢印なので、方向の要素をもちます。(意味が分からなくても、何となく頭の隅に置いておいてください。)ベクトルの長さまずは、ベクトルの長さについてです。ベクトルの長さのことをノルムと呼び、文字を二重線で囲って表します。直感的には三平方の定理から理解することもできます。ベクトルのノルムは、方向の要素を持たないただの数字となり、方向の要素をもつベクトルと対応して、スカラーとも呼びます。スカラーと書いてあったら、ただの数字だと思ってください。Rではc()で、pythonではnumpy.arrayでベクトルを表します。出力は横向きだが、縦に並んでいることを意識する。出力は横向きだが、縦に並んでいることを意識する。np.sqrt(np.sum((vector_x)**2))print(norumu)>5.830951894845301足し算引き算お次はベクトルの足し算と引き算です。やり方はベクトルの要素ごとに数字を足し合わせるだけです。足し算の意味を視覚的に表わすとこんな感じになります。-1]ベクトルの定数倍と内積ベクトルには定数をかける定数倍と、ベクトル同士をかける内積という概念があります。定数倍はとても簡単で、それぞれの要素に定数をかけます。矢印の長さが伸びるイメージですね。一方で、内積とは要素ごとに数字をかけて、それを足し合わせた値です。内積の値はベクトルではなく、ただの数字、つまりスカラーとなります。ここで、ベクトルは基本的に縦で表されると書きましたが、内積をする際には、横×縦にします。ベクトルを縦から横に変換することを転置といってこのように表現します。(おそらく転置は、主に行列に用いる概念ですが、今後の分かりやすさを踏まえて、あえてベクトルの転置と表現しています。)そして内積は、点で表します。ベクトルの内積は、長さが同じで、横×縦の形にする必要があるということをおさえておくと、今後の行列計算にも役に立ちます。この内積は何を意味しているのかですが、これは左側のベクトル上に右側のベクトルを影のように写した長さに、左側のベクトルの長さをかけたものです。これを理解するには三角関数を使う必要があるのですが、私が説明するよりもこちらの記事を読まれるといいです。