機械学習とは?AIが学ぶものを線形回帰の計算例で解説

機械学習 テクノロジー

機械学習とは何か

機械学習とは、データを使って予測や分類の仕方を調整する技術です。例えば面積から塗料の使用量を予測するなら、面積に掛ける係数を実績に合うように求めます。学習で変わるのは、モデルの内部の数値や構造です。

この記事では「何を変えるのか」を、小さな線形回帰の計算から確かめます。予測式、損失、学習後の推論、未知のデータでの評価を順につなぎます。画像内の特徴を計算するCNNについては、関連する画像認識の記事で詳しく扱います。

機械学習の基本的な定義

機械学習とSNSのつながりを表すイメージ

機械学習は英語でMachine Learning、略してMLです。「データから規則性を見つける」と説明されますが、目的や学び方までコンピュータが自由に決めるわけではありません。人が予測したい対象、入力、モデル、評価方法を設計します。

猫の画像分類なら、画素の情報を入力し、「猫かどうか」を出力するように学習します。ただし、写真を大量に集めるだけで新しい画像にも正しく答えられるとは限りません。ラベルの誤りや背景の偏りまで学ぶ可能性があるため、学習に使わない画像で確かめます。

従来のプログラムとの違い

人が「この単語があれば迷惑メール」と規則を書く方法では、表現を変えたメールを見逃したり、普通のメールを除外したりします。機械学習では、単語の出現や送信の特徴と判定結果の関係を、多数の事例から調整します。

ただし、学習の処理自体もプログラムです。明確な業務規則は人が書き、曖昧な判定に学習モデルを使う組み合わせもできます。「従来のプログラムは単純、機械学習は常に優秀」という区別ではありません。

機械学習では実際に「何」を学ぶのか

機械学習で扱う多様な情報のイメージ

学習結果の持ち方は手法によって異なります。すべての機械学習を「大量の重みを調整すること」と説明すると、決定木や近傍法の特徴を見落とします。

手法学習で求める・保持するもの予測の考え方
線形回帰重みや切片入力を係数で組み合わせる
ニューラルネットワーク多数の重み・バイアスなど複数の層で変換する
決定木データを分ける条件と木の構造条件分岐をたどる
近傍法訓練事例など近い事例の値やラベルを使う

決定木と近傍法の詳細は、scikit-learnの決定木と近傍法の公式解説で確認できます。以下では、学習前後を計算で比較しやすい線形回帰に絞ります。

パラメータと、学び方の設定を区別する

パラメータはモデルの振る舞いを決める値です。入力の影響を表す重みや、予測全体をずらすバイアスが含まれます。一方、学習率や木の深さの上限など、学び方を決める設定はハイパーパラメータと呼びます。

ニューラルネットワークの重みは通常、ランダムな値から学習を始めます。事前学習済みの重みを出発点にすることもあります。線形回帰では別の解法も使えるため、「学習は必ずランダムな重みを何度も更新する」とは限りません。

機械学習の計算例:塗料の予測を改善する

塗装面積から塗料量を予測する、説明用の架空データを考えます。10 m²で2 L、20 m²で4 L、30 m²で6 Lとします。実際の使用量は製品・下地・塗り回数で変わるため、この係数は施工の目安には使えません。

① 予測式と単位を決める

今回は切片を0に固定して、面積に一定の係数を掛けます。面積が0なら量も0という制約です。道具に残る塗料などの固定的な損失まで表すモデルではありません。

\[ \hat y=wx \]

記号意味単位・条件
x塗装面積m²
y、ŷ実績量、予測量L
w面積当たりの係数L/m²。今回学習する値

係数を0.1 L/m²と0.2 L/m²で比べます。例えば10 m²なら、前者は0.1 L/m²×10 m²で1 Lとなり、実績2 Lを1 L下回ります。

係数を変えたときの予測
面積実績0.1 L/m²で予測0.2 L/m²で予測
10 m²2 L1 L2 L
20 m²4 L2 L4 L
30 m²6 L3 L6 L

② 損失を計算して係数を比べる

予測のずれを評価する関数を損失関数といいます。平均二乗誤差では、各事例の誤差を二乗して平均します。0.1 L/m²の予測を代入すると、次の値です。

\[ E=\frac{1}{n}\sum_{i=1}^{n}(\hat y_i-y_i)^2 =\frac{(1-2)^2+(2-4)^2+(3-6)^2}{3} =\frac{14}{3}\approx4.67\ \mathrm{L}^2. \]

記号意味単位・条件
E平均二乗誤差L²。3件を同じ重みで評価
n、i事例数、事例の番号n=3、iは1から3
ŷᵢ、yᵢ各事例の予測量と実績量L

0.2 L/m²なら誤差はすべて0 Lで、損失も0 L²です。変えたのは面積や実績ではなく、係数です。二乗誤差を小さくする係数を求めることが、この例の学習に当たります。

③ 最適な係数を求めて推論する

この1変数・切片なしの最小二乗問題では、次の式で係数を直接求められます。分母が0でないことが条件です。これは、この単純なモデルに適した解法であり、すべての機械学習に使える万能の式ではありません。

\[ w^\ast=\frac{\sum_i x_i y_i}{\sum_i x_i^2} =\frac{10\times2+20\times4+30\times6}{10^2+20^2+30^2} =\frac{280}{1400}=0.2\ \mathrm{L/m^2}. \]

記号意味単位・条件
w*二乗誤差を最小にする係数L/m²、切片は0に固定
xᵢ、yᵢ各事例の面積、実績量m²、L
Σ3事例についての合計分子はm²·L、分母はm⁴

損失を係数で微分して0と置くと、この式が得られます。一方、勾配降下法は損失の傾きを使って係数を少しずつ更新する方法です。最小二乗法の公式解説でも、残差の二乗和を最小化する考え方が示されています。

学習済み係数を使い、25 m²を入力すると、0.2 L/m²×25 m²=5 Lです。係数を固定して新しい入力の出力を計算するのが推論です。ここでは「25 m²の場合を覚えた」のではなく、3点から得た関係を別の面積へ適用しました。

④ 訓練誤差0でも、実用性能は未確認

この3点は説明用に一直線へ並べたデータです。現実には測定誤差や塗り方の違いがあるため、完全一致は一般的ではありません。25 m²は学習範囲内の補間ですが、1000 m²への適用は範囲外への外挿です。どちらも、同じ関係が成り立つかを別のデータで検証する必要があります。

学んだパターンは原因とは限らない

係数はデータ中の関係を表します。しかし、面積以外の条件が混ざっていれば、その値を塗料固有の性質とみなせません。予測に役立つ相関を見つけることと、原因を確定することは別です。

画像認識でも、猫の輪郭ではなく背景が判定の手掛かりになる場合があります。判断に影響する部分を可視化する手法はありますが、色の付いた図だけでモデル全体の理由を説明できるとは限りません。仕組みを具体的に追うには、画像認識AIのCNN・学習・評価の計算例を参照してください。

機械学習とディープラーニングの関係

ディープラーニングは、多層のニューラルネットワークを使う機械学習の一種です。入力を何段階も変換し、画像や文章の複雑な関係を扱います。線形回帰の係数1個と違い、多数の重みを共同で調整します。

ただし、深くするだけで性能が上がるわけではありません。幅、接続、データ、学習方法も関係します。層数だけから重みの数や精度は決まりません。ニューラルネットワークの仕組みと数式では、層の中の計算を詳しく説明しています。

機械学習の学び方を比べる

教師あり学習

入力と正解の組を使います。塗料量のような数値を予測する回帰と、猫・犬や迷惑メールなどの種類を予測する分類が代表例です。必要なデータ量は課題やモデルで変わり、ラベルの作成・点検が負担になる場合があります。

教師なし学習

予測対象の正解ラベルを与えず、データの構造を調べます。購買傾向の近い顧客をまとめるクラスタリングや、多数の変数を少数の成分にする次元削減などがあります。得たグループが、そのまま意味のある顧客分類になるとは限りません。

強化学習と自己教師あり学習

強化学習では、環境とのやり取りで得る報酬をもとに行動の選び方を学びます。一般に将来を含む累積報酬の期待値を高めることを目指します。報酬は遅れて届く場合もあり、目先の得点が高い行動が最善とは限りません。ゲームやロボット制御が応用例です。

一方、自己教師あり学習は、文章の隠した部分を予測するなど、データ自身から学習目標を作ります。人が各例の正解を書かなくても学べる点が特徴です。これらは「どんなモデルか」ではなく「どんな信号から学ぶか」の違いで、一つのシステムで組み合わせることもあります。

機械学習の過学習はどう見分ける?

過学習とは、訓練データにはよく合う一方、新しいデータには十分に対応できない状態です。丸暗記は比喩で、測定の偶然やノイズへ合わせすぎることも含みます。訓練誤差の小ささだけでは判定できません。

データの役割使い道混同した場合の問題
訓練用係数などを調整その成績だけで実力を評価してしまう
検証用モデル設定や停止時点を選択何度も試すと検証用にも合わせ込む
テスト用最後に性能を評価結果を見て調整すると最終評価にならない

例えば訓練誤差が下がり続けても、検証誤差が増え始めたら過学習を疑います。モデルを単純にする、正則化を使う、学習を早めに止めるといった対策を検証します。分割自体が過学習を治すわけではなく、見分けるための準備です。

同じ現場の似た測定が訓練側とテスト側に入ると、成績を良く見積もるおそれがあります。別現場で使うなら現場単位、未来を予測するなら時間の順序を考えて分けます。Googleのデータ分割解説も、代表性と重複のない評価を重視しています。

データの質と量をどう確かめるか

機械学習の入力となるデジタルデータのイメージ

データの量と質の両方が重要です。晴天の写真を増やしても夜間の認識が改善するとは限りません。利用する条件が含まれるか、単位が混在していないか、欠損やラベルの誤りがないかを点検します。

塗料の例でLとmLを取り違えれば、係数にも大きな影響が出ます。また、学習時にだけ分かる情報を入力すると、運用時には同じ予測を再現できません。平均点に加えて、条件ごとの誤りと、単純な予測方法を上回るかも確認します。

使うたびに学習しているのか

音声認識が入力を文字へ変換する処理は、通常は学習済みモデルによる推論です。使うたびに、その場で重みが更新されるとは限りません。製品による適応機能やデータ利用の設定と、モデルの再学習は区別します。

対話の履歴を参照して返答が変わっても、それだけで重みを更新した証拠にはなりません。塗料の例で入力面積を変えると出力が変わるように、入力や文脈が違えば、同じモデルでも出力は変わります。

機械学習の応用と評価の目的

画像診断の補助では見逃しと誤検出、不正取引の検知では不正の見逃しと正常取引の停止など、誤りの影響を分けて考えます。株価予測への応用も、将来の値動きや利益を保証するものではありません。

購買予測や動画の推薦では、次の行動を予測するだけでなく、推薦が利用者へ与える影響も評価対象です。精度だけを上げれば目的を達成するとは限らず、何を良い結果とするかを先に決めます。

機械学習の結果を読むときの注意

流暢な答えや高い正答率だけから、人間と同じ理解や意識があるとは判断できません。理解の定義をめぐる議論と、出力が目的に合うかという実務上の検証を分けます。

学習時と利用時の条件が変わると、以前の評価が通用しない場合もあります。導入後も誤りを記録し、再評価や更新が必要か判断します。機械学習は、一度作ればあらゆる状況に対応できる仕組みではありません。

学習・推論・評価をつなげて理解する

線形回帰の例で学んだのは、面積と量を結ぶ係数です。推論ではその係数を固定して予測し、別のデータで実力を確かめます。手法が変わっても「入力と出力」「学習で変わるもの」「未知のデータでの評価」を押さえると、できることと限界を具体的に捉えられます。

参考資料

コメント

タイトルとURLをコピーしました