世界を動かす技術を、日本語で。

線形代数のイラスト付き入門

概要

  • 線形方程式 とその解法についての基礎解説。
  • ガウス消去法 の導入と実例。
  • 行の視点(row picture)列の視点(column picture) の違い。
  • ベクトル行列 の直感的な理解。
  • 次章で ドット積行列 についてさらに解説予定。

ガウス消去法と線形方程式入門

  • 線形方程式 は、変数の次数が1で、グラフにすると直線になる問題設定。

  • 例:ニッケルとペニーで23セントを作る問題。方程式: 5x + y = 23 (xはニッケルの枚数、yはペニーの枚数)。

  • 解答例: x=4, y=3 や、 x=0, y=23x=-4, y=43 など、複数の組み合わせが可能。

  • 変数が2つで、異なる合計値を同時に満たす場合、 ガウス消去法 が役立つ。

    • 例:ミルクとパンで、炭水化物5g・タンパク質7gを摂る組み合わせを求める。
    • 方程式セット: x + 2y = 5(炭水化物), 3x + 2y = 7(タンパク質)
    • ステップ:片方の式を倍にして引き算し、変数を一つずつ消去。
    • 解答: x=3, y=1 (ミルク3つ、パン1つ)
  • ガウス消去法 は2000年以上前から存在し、線形代数の枠を超えた基本的な解法。

行の視点(Row Picture)とグラフによる解法

  • それぞれの方程式を 直線 としてグラフ化し、交点を求める。

  • 1本目の直線は炭水化物の目標を、2本目はタンパク質の目標を表現。

  • 交点 が両方の条件を同時に満たす唯一の解となる。

    • 例:x軸はミルク、y軸はパン。交点が (3,1)
  • グラフ化によって、変数が正の値のみと仮定して現実的な解を見つけやすい。

列の視点(Column Picture)とベクトルの導入

  • 複数の方程式を 1つのベクトル方程式 として表す方法。
  • 例: x[1,3] + y[2,2] = [5,7] のように、各変数の係数を ベクトル として扱う。
  • ベクトルは 配列矢印 として視覚化可能。
  • ベクトルの加算・スカラー倍は、各要素ごとに計算。
  • 必要なミルクとパンの量を、ベクトルを足し合わせて目標ベクトルに到達するイメージ。

行列表記への発展

  • 2つの方程式は 行列ベクトル の積としても表現可能。
    • 例: [[1,2],[3,2]] × [x,y]^T = [5,7]^T
  • 行列表記は、より複雑な線形代数の基礎となる。

まとめと次回予告

  • ガウス消去法ベクトルの考え方 が線形代数の基礎。
  • 行の視点列の視点、どちらも直感的な理解に役立つ。
  • 次回は ドット積行列 についてさらに深掘り予定。
  • 参考: Gilbert Strang の線形代数講義(YouTube)がおすすめ。

Hackerたちの意見

これ、すごいね!視覚的な説明とモチベーションの高め方が本当にありがたい。今、線形代数を学ぶためにいくつかのリソースを使ってるんだけど、「The No Bullshit Guide to Linear Algebra」が今のところ結構良い感じ。ほかにおすすめの本とかある?自分が必要としてる内容に対して、いろんな本が難しすぎたり学術的すぎたりすることが多いんだよね。目標は、直接応用できる実践的な理解を身につけることなんだ。

私の目標は、直接応用できる実践的な理解を身につけることです。直接応用…って、何に?個人的には、実践的な理由で理論(例えば線形代数)を学ぶのはちょっと変だと思う。実際の応用についての本を読んで、理論を学ぶ方がいいんじゃない?もしその過程で本当に理論が必要になったら、どんなに難しくても理論を学ぶことには代わりがないよ。例えば、線形代数は量子力学を学ぶのにすごく重要だけど、もし誰かがその理由で線形代数を学びたいなら、線形代数の教科書じゃなくて量子力学の教科書を読むべきだと思う。

私の目標は、直接応用できる実践的な理解を身につけることです。私も同じで、MLはその完璧な用途だと思う。それに関するシリーズも作ってるよ。

アディティア・バーガヴァ、またやってくれたね。昔の「Grokking Algorithms」からのファンだから、もうすでに好きだよ。

ありがとう!あの本を書くのがすごく楽しかった。

ブログの後半はすごく好きなんだけど、ガウス消去法から始めるのはちょっと「謎」な感じがする。問題から始めて(「線形方程式をどう解く?」とか「直線の交点をどう見つける?」)、その解をグラフィカルに示してから、その解を提供する計算方法やアルゴリズムを紹介する方が論理的だと思う。逆にやるのは、微積分の連鎖律を教える前に、導関数が傾きのようなものだと幾何学的な図を描くのに似てる。

ここで作者です – たぶん君の言う通りだと思う。ガウス消去法のセクションは、ほとんどの読者が前に見たことがあるだろうと思って、振り返りとして書いたんだ。残りの部分に早く進みたかったからね。他の人たちがこのセクションで困ったことがあったら聞きたいな。もう少しゆっくり説明した方がいいかも。

あの「バン!」ってやつ、ジョシュ・スターマーを思い出させるね。彼のイラスト付きのMLの本、覚えてる人いる?彼のYouTubeチャンネルも見てたよ。こういう解説が大好きで、学ぶのがすごく楽しくなるんだよね。

これ、めっちゃ好き!もっと分かりやすくするためには、パンやミルクを表すために他の変数の文字を使うといいと思う。だって、グラフの中でxやyが炭水化物やタンパク質を表すxやyに変わっちゃうから。

学校でこんな風に数学を教えてもらってたらなぁって思う。人生が全然違う方向に行ってたかも!

いいね!大学で実際に線形代数の授業を受けるまで、全然謎だったんだ。素晴らしい仕事だよ。ベクトルに不慣れな人には、2つのベクトル(大きさと方向)がどうやって1つのパンと1つのミルクを表すのか、ベクトルがどうやって動かせたり足し算できたりするのかを簡単に説明するといいかも。

こういう例は好きじゃないな。現実では誰もこんな風にはやらないから。これらのツールやそれらの相互関係を使わなきゃいけない実際の問題を試してみて。そうすれば、なぜそれらが存在するのかが明らかになるから。微積分はその典型例で、ほとんどの学生が微積分を難しいと感じるのは、線形代数が弱いからなんだよね。でも、微積分には幅広い用途があるんだ。基本的な炭水化物のカウントには使わないけど。

学びたい人のために、3blue1brownの線形代数シリーズのリンクも貼っておくのが義務みたいなもんだよね。この記事の内容より一歩進んでるけど、これらの動画は素晴らしくて、すごくアクセスしやすいよね: https://youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFit...

「余談:上記の別の解は23セント硬貨。あるいは-4ニッケル + 43セント硬貨。」これが数学オタクたちが我慢できないところで、私はそれが好きなんだけど、同時にイライラもする。だって、-4ニッケルなんてありえないから。純粋な数学ではxやyが負の値を取ることもあるけど、実際の物を使った例では、負のニッケルなんて存在しないよ。友達に4ニッケル分の価値を借りてるかもしれないけど、それはこのレッスンの範囲外だよね。君の負のニッケルは別の次元にあるわけじゃない(また、数学はそういう風に機能するから)。現実の概念を使って人に数学を理解させたいのに、純粋な数学の概念で混乱させちゃうんだよね。そして、この負のニッケルは、-4ニッケルの平方根みたいな想像上のニッケルの領域にも入ってないんだ。