機械学習のキをまとめる①最初の一歩🐈
機械学習と深層学習を学び始めた最初の一歩
ということで題名の通り書いていきたいと思う。
この記事書くきっかけとしては、自分がAIについて勉強しようとした時に
何から学び始めればいいのかわからなかったんだ!!!!!!
そもそも機械学習と深層学習とか何が違うん?とか、transferってなんやねん?とか
論文読んでも...何言ってるかわからん。の状態だった。
わたしみたいな初心者の初心者でもわかりやすいように、自分のアウトプットも兼ねて
概要からわかりやすく書いていきたいと思います。
(もし間違えてる!と思うことがあれば教えてください)
📍1.[概要]機械学習とは?
機械学習(ML: Machine Learning)とは、人工知能(AI)の一分野であり、
データからパターンを学習し、モデルと呼ばれるソフトウェアをトレーニングすることによって、
モデルが自ら学習し、判断を下せるようになり、
そのモデルを活用して予測や分類を行う技術 のことをいいます。
このモデルを活用することで、予測 や 分類 などの処理を自動化できます。
というとちょっと固いけど、要するに
入力と出力の関係性、規則性を見つけるのが機械学習だ。
📍1−2.モデル...?
いやいや、普通にモデルモデルいってるけどモデルってなんやねん。
モデルは、入力データを処理し、予測や分類などの出力を返す数学的な構造 。
データのパターンを学習して、新しいデータに対して推論(予測)を行う仕組みであり、
データの特性を数式で表現したものだ。
だ。
モデルは、「データから学習し、推論を行うための一連のパラメータと構造」を持っている。
例えば...
✅ 入力 → 受け取るデータ(数値、画像、文章 など)
✅ パラメータ(重み・バイアスなど) → データの特徴を学習するための変数
✅ 出力 → 予測された結果(数値、カテゴリ、確率 など)
機械学習には、このモデルの学習方法に応じて 大きく3つの手法 があります。
それについて、以下1-3. 機械学習の手法で描いていくが、
その前に。"パラメータ"って何 てなりませんか。
📖 学習とパラメータ
"学習"では、データからパターンを学習し、予測や分類を行うモデルを構築 します。
しかし、モデルが「正しい答え」を出すには、
どれくらい正確に学習できているかを評価する必要があります。
そのために、
✅ 「パラメータ」 → モデルの調整可能な要素
✅ 「評価関数(損失関数)」 → モデルの性能を測る数値
これらを適切に使いながら、モデルを最適化していきます。
※評価関数についてはまた他記事で書いていこうと思います。
🌱 パラメータ(Parameter)
モデルがデータを学習する際に調整する変数 をパラメータと呼んでいます。
パラメータの値を調整することで、モデルの予測精度を向上させる ことができます。
パラメータをうまく調整しないと、モデルの精度が低くなってしまうため、
パラメータを 最適な値に調整するプロセス(= 学習)が重要になります
📍1-3. 機械学習の手法
機械学習の手法は、大きく以下に分けられる。
学習タイプ | 概要 | 特徴 | 代表的な例 |
---|---|---|---|
教師あり学習 (Supervised Learning) | 正解データ(ラベル付きデータ) をもとに学習し、新しいデータの予測を行う | - 入力と正解データがペアで与えられる - 分類(カテゴリ予測)と回帰(数値予測)に使われる |
スパムメール判定(スパム or 非スパム) 売上予測(広告費から売上を予測) |
教師なし学習 (Unsupervised Learning) | 正解のないデータからパターンを見つける | - データのグループ化や特徴抽出に利用 - ラベルがない未知のデータを扱える |
クラスタリング(顧客セグメント分析) 次元削減(PCA)(データの圧縮・可視化) |
強化学習 (Reinforcement Learning) | 試行錯誤しながら報酬を最大化する学習 | - 環境と相互作用しながら最適な行動を学習 - ゲームやロボット制御に強い |
囲碁AI(AlphaGo)(最適な手を学習) 自動運転(安全な走行ルートを学習) |
生成AI (Generative AI) | データを生成するモデル(画像・文章・音声など) | - 新しいデータを自動生成できる - 既存データのパターンを学習し、創造的なコンテンツを作成 |
GPT(テキスト生成) Stable Diffusion(画像生成) Deepfake(映像合成) |
📖 教師あり学習(Supervised Learning)
正解データ(ラベル付きデータ)をもとにモデルを学習させる手法のこと。
この学習方法では、モデルに「入力」と「正解」をセットで与え、
データ内のパターンや関連性を学習させる。
🌱教師あり学習の2つの主要なユースケース
大きく分けて 「回帰(Regression)」 と 「分類(Classification)」 の
2つのタスクがあり、予測したいデータの種類によって使い分けられる。
機械学習における 「タスク(Task)」 とは、
モデルが解決しようとする具体的な問題や目的のことを指す。
タスク | 予測するもの | 代表例 |
---|---|---|
回帰(Regression) | 数値を予測 | 住宅価格の予測、配車到着時間、降水量の予測 |
分類(Classification) | カテゴリを予測 | スパムメール判定、病気診断、犬・猫の画像分析 |
📖 教師なし学習(Unsupervised Learning)
正解のないデータから パターンやグループを見つける手法のこと。
この手法の目標は、データ内の有意なパターンを特定することだ。
[ 教師あり学習と違うポイント ]
• 正解ラベル(教師データ)がない! → モデルが自分でパターンを発見
• データを分類するのではなく、グループ化や特徴抽出が目的
• 人間が気づかないような隠れた関係を発見するのに有効
🌱 教師なし学習の2つの主要なユースケース
大きく分けて 「クラスタリング(Clustering)」 と 「次元削減(Dimensionality Reduction)」 の 2つのタスクがあります。
タスク | 目的 | 代表例 |
---|---|---|
クラスタリング(Clustering) | データをグループ分け | 顧客セグメント分析、遺伝子分類、ニュース記事のグループ化 |
次元削減(Dimensionality Reduction) | データの特徴を圧縮し、重要な情報を抽出 | 画像圧縮、データ可視化、ノイズ除去 |
📍2.機械学習アルゴリズム(線形回帰、決定木、ニューラルネットワーク)
線形回帰(Linear Regression)
📖「数値を予測する」回帰タスクで使われるシンプルなアルゴリズム
重みとバイアスのセット(=パラメータ)で構成される。
ユースケースで言うと、例えば…
🏡 「家の価格を予測したい!」
🌡 「気温が1℃上がると、アイスの売上はどれくらい増える?」
こうした 「○○が増えると、△△がどれくらい変化するか?」を予測するとき に使う。
構成要素 | 説明 |
---|---|
重み(Weight, w) | 特徴量(入力データ)の影響度を表す係数。 値が大きいほど、その特徴が出力に大きく影響する。 |
バイアス(Bias, b) | データが 0 のときの出力値を調整する定数。 回帰直線の「切片」に相当。 |
損失関数(Loss Function) | モデルの予測と実際のデータのズレを数値化する関数 (例: 平均二乗誤差 MSE)。 |
最適化アルゴリズム | 損失関数を最小化するために重みを更新する手法 (例: 勾配降下法 Gradient Descent)。 |
データの関係を 「直線の数式」 で表す。
この動画がわかりやすかったです。
【機械学習】線形回帰(前編)| 線形回帰の理論
📖 決定木(Decision Tree)
データを 「ルールベースの分岐」 によって分類または回帰するアルゴリズム。
ツリー構造を持ち、データが各分岐(ノード)を通って最終的な出力(葉)に到達する。
ユースケースで言うと、例えば…
📩 「このメールはスパムか?」
🏥 「この症状の患者は糖尿病か?」
🍎 「この果物はりんごか、バナナか?」
「条件を分岐しながら、YES/NOで絞り込んでいく」 仕組みを持っています。
構成要素 | 説明 |
---|---|
ルートノード(Root Node) | ツリーの最上部のノード。 最も重要な特徴でデータを分岐する。 |
内部ノード(Internal Nodes) | 各特徴に基づいてデータを分岐させる条件 (例: 「年収 > 500万円?」)。 |
葉ノード(Leaf Nodes) | 最終的な予測結果(クラスラベルや数値)が決定されるノード。 |
スプリット(Split) | 1つのノードが複数のノードに分かれるプロセス。 |
ニューラルネットワーク
ニューラルネットワーク(Neural Network)は、
人間の脳の神経回路網を模した機械学習モデルで、人工知能の基盤となる仕組みである。
これは層構造になっており、基本的に「入力層」「中間層(隠れ層)」「出力層」 からなる。
ニューラルネットワークの構造
ニューラルネットワークは 「入力層」「中間層(隠れ層)」「出力層」 の3つの層から構成される。
- 入力層(Input Layer)
• モデルへのデータの入り口(例: 画像のピクセル情報、数値データ) - 中間層(隠れ層)(Hidden Layers)
• 特徴を抽出する役割を持つ層(1つ以上存在する)
• 活性化関数を用いて、データの重要な情報を抽出 - 出力層(Output Layer)
• 最終的な予測結果を出力(例: 「猫」 or 「犬」の分類)
ここからもう少し踏み込んだ内容はまた別回で。
📖 機械学習と深層学習の違いって要するに?
上記のニューラルネットワークの層の深さが
機械学習と深層学習(Deep Learning)の違いだ。
- 機械学習のニューラルネットワーク
• 1〜2層程度のシンプルなネットワーク(単純パーセプトロン、MLPなど)
• 手作業で特徴量を設計し、それを学習するのが一般的
• 適用範囲: 予測モデル、分類、線形回帰など - 深層学習(Deep Learning)のニューラルネットワーク
• 3層以上の多層ニューラルネットワークを使用(数百~数千層もあり得る)
• データから特徴を自動抽出 するため、特徴量設計の手間が不要
• 適用範囲: 画像認識、音声認識、自然言語処理(NLP)など
📍3.深層学習(Deep Learning)とは?
深層学習とは、機械学習の一種であり、
多層のニューラルネットワークを用いて大量のデータから自動的に特徴を抽出し学習する手法 である。
従来の機械学習では、特徴量を人間が設計する必要があったが...
(例: 「顔の輪郭」や「色の情報」を数値化するなど)
深層学習ではニューラルネットワークが自動的に特徴を抽出するため、
より高度なパターンを学習することができるのだ。
ex.画像認識タスク
• 初期の層 → 画像のエッジや輪郭を学習
• 中間層 → 「目」や「鼻」などのパーツを学習
• 深い層 → 「猫」「犬」などの高レベルな概念を理解
このように、データの全体像から細部までを階層構造として関連付けて学習するため、
画像認識や音声認識、自然言語処理などの複雑なタスクに優れている。
📖 深層学習の代表的な手法
深層学習には、タスクに応じた様々なアプローチがある。
以下の3つが特に重要な手法である。
-
DNN(Deep Neural Network)
• 基本的な多層ニューラルネットワークの形式で、全結合層(fully connected layers)を持つ。
• 適用例: 画像分類、音声認識、テキスト分類など幅広い分野で活用。 -
CNN(Convolutional Neural Network)
• 畳み込み層(Convolutional Layers)を用いたネットワーク で、画像の局所的な特徴を学習する。
• 適用例: 画像認識、物体検出(例: 自動運転の物体検出、医療画像診断) -
RNN(Recurrent Neural Network)
• 時系列データを扱うためのネットワーク で、過去のデータを記憶しながら次のデータを処理できる。
• 適用例: 音声認識(例: Siri、Google Assistant)、自然言語処理(例: 翻訳、文章生成)
最も普及している手法はDNNだが、タスクによってCNNやRNNがより適している場合もある。
今回はここまでにしたいと思います。
次回はもう少し踏み込んだ内容を書いていきたいと思う。
<参考>
▶︎ wiki
▶︎ Google: Deep neural network models
▶︎ Youtube: Deep Learning入門:Deep Learningとは?
Discussion