忍者ブログ
統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

【DS検定対策】大量の文書からテーマを発見!「トピックモデル(LDA)」の仕組み

大量のニュース記事やレビュー文を分類したい時、1つずつ手作業で分類するのは不可能です。文章の集合から潜在的なテーマ(トピック)を自動で抽出・分類する手法が「トピックモデル(Topic Model)」です。その仕組みと代表例を整理しましょう!

1. 【 問題 】

自然言語処理やテキストマイニングにおいて、文章集合(コーパス)の中から潜在的なテーマや概念(トピック)を統計的に発見し、各文書がどのトピックにどれくらいの割合で関連しているかを分類・抽出する手法を何と呼ぶでしょうか?

① トピックモデル(Topic Model)
② 単語埋め込みモデル(Word Embedding)
③ 分散表現モデル(Distributed Representation)
④ 形態素解析(Morphological Analysis)


2. 【 解答 】

正解: ① トピックモデル(Topic Model)

3. 整理:トピックモデルの基本的な考え方

トピックモデルでは、「1つの文書は複数のトピックが一定の割合で混ざり合ってできている」と仮定します。

構成要素内容・イメージ
トピック(潜在的テーマ) 関連する単語の確率分布(例:「スポーツ」トピック = 球団・選手・試合・勝利 などの単語が出やすい)。
文書の分解・分類 ある記事を「スポーツ 70% + 経済 30%」のように確率的な比率(割合)で表現・分類する。

4. 超重要!代表的手法「LDA(潜在ディリクレ配分法)」

DS検定や資格試験で「トピックモデル」とセットで必ず問われるのが「LDA(Latent Dirichlet Allocation)」です。

・LDA(Latent Dirichlet Allocation):
トピックモデルの中で最も代表的な「教師なし学習」の確率モデル。
事前分類(ラベル)のない大量のテキストから、文書ごとのトピック割合と、トピックごとの単語出現分布を同時に自動推定します。

・主な用途:
ニュース記事の自動タグ付け、顧客レビューの不満テーマ抽出、類似文書の推薦システムなど。

5. DS検定形式:実戦4択クイズ

問:テキストデータの分析手法に関する記述として、最も適切なものはどれか。

① LDA(Latent Dirichlet Allocation)は、各文書があらかじめ指定された単一のカテゴリに属することを前提とした教師あり分類アルゴリズムである。
② トピックモデルは、文書集合の中に潜む潜在的なテーマ(トピック)と単語の確率分布を統計的に推定する「教師なし学習」の手法である。
③ トピックモデルを実行する前に、文章中の文字n-gramや形態素解析を行うことは原理的に不可能である。
④ TF-IDFは、文書ごとの潜在的なトピック割合を確率分布として直接出力する代表的なトピックモデルである。

【 正解: ② 】

解説: トピックモデルの定義と特徴を問う標準問題です。
②が正解です。教師ラベルなしで文章から潜在的なトピック(テーマ)を発見します。
①LDAは単一カテゴリ固定ではなく、複数のトピック比率を持つ「教師なし学習」モデルです。
③形態素解析等で単語に分かち書きしたデータを入力として使うのが一般的です。
④TF-IDFは単語の重要度(出現頻度とレア度)を算出する手法であり、トピックモデル(確率分布の推定)とは異なります。


6. まとめ

DS検定や資格試験で「文章から潜在的なトピック(テーマ)を発見」「教師なし学習」「LDA(潜在ディリクレ配分法)」といったキーワードが出たら、正解は「トピックモデル」です! 「文書は複数のトピックの混ぜ合わせ(確率分布)で表現できる」という考え方をしっかり押さえておきましょう!

PR

【データマイニング】Aprioriアルゴリズムによる相関分析(アソシエーション分析)の仕組み

データマイニングにおいて「商品Aを買う人は、商品Bも一緒に買いやすい」といった購買データの隠れたパターンを発見する手法を相関分析(アソシエーション分析)と呼びます。その代表的な手法である「Apriori(アプリオリ)アルゴリズム」の仕組みと、根幹となる重要指標を整理します。

1. 【 概要 】

Aprioriアルゴリズムとは、膨大な取引データの中から「頻繁に同時に購入される商品の組み合わせ(関連ルール)」を効率よく検出するためのアルゴリズムです。

有名な「おむつを買う人はビールも一緒に買う」のような購買傾向を発見し、商品の陳列改善やECサイトのレコメンド機能に活用されています。


2. 【 基本手順(2つのステップ) 】

(1) 支持度(Support)による候補絞り込み(枝刈り)
設定した閾値(しきい値)以上の支持度を持つ「頻繁に買われる組み合わせ」だけを抽出する。
(2) 確信度(Confidence)によるフィルタリング
抽出された組み合わせの中で、設定した確信度の閾値を下回るルールを取り除く。

3. 整理:最重要指標「支持度」と「確信度」の徹底解説

Aprioriアルゴリズムの選別基準となる「支持度」と「確信度」、そしてルールの有効性を測る「リフト値」の意味を詳しく見ていきましょう。

【 評価指標の具体的な意味 】

・指標(1):支持度(Support)= 全体における「出現率」
全レジ通過数(全取引)の中で「商品Aと商品Bが同時に買われた割合」です。
「そもそもめったに買われない組み合わせ」を無駄に計算しないよう、ステップ1の候補作成段階で切り捨てる(枝刈りする)ために使います。
例:全100件の買い物中、おむつとビールが同時に買われたのが15件なら、支持度は「15%(0.15)」。

・指標(2):確信度(Confidence)= Aを買った人の「併買い率」
商品Aを買った人のうち「どれくらいの割合で商品Bも一緒に買ったか」という確率です。
「Aを買うならBも買うはず」という予測の信頼度を表し、ステップ2のフィルタリングで基準未満のルールを取り除きます。
例:おむつを買った人20人のうち、ビールも買った人が15人なら、確信度は「75%(0.75)」。

・指標(3):リフト値(Lift)= 偶然ではない「関連性の強さ」
「商品Bの本来の売れ行き」に対して「商品Aと一緒に買うことでどれくらい買いやすくなったか」を示す倍率です。
「1.0」を超えると強い関連性があり、1.0以下なら「ただどちらも単体で人気なだけ(偶然)」と判断できます。

4. 関連して押さえたい「アルゴリズムの具体的な流れ」

「支持度」と「確信度」を使って、内部でどのようにデータが処理されていくか、ステップ順に整理します。

・ステップ1(候補の生成):全データから「支持度」が閾値以上の組み合わせ(よく買われるペア)だけを抽出する。「めったに買われない商品は何と組みあわせても買われない」という原則(アプリオリ原理)を使い、ここで計算量を一気に減らします。
・ステップ2(フィルタリング):抽出されたペアの中から、「確信度」が閾値未満のルールを排除する。「Aを買う人はBも買う」という推論の精度が高いものだけが残ります。
・ステップ3(評価):残ったルールに対して「リフト値」を確認し、実務で使える真の関連ルールを決定します。


5. 補足:Python(mlxtend)での実装コード例

Pythonの `mlxtend` ライブラリを使用すると、支持度と確信度の閾値を指定するだけで簡単に関連ルールを抽出できます。

# コード実行例
from mlxtend.frequent_patterns import apriori, association_rules

# 1. 最小支持度(min_support=0.1=全体の10%以上で出現)で候補を絞り込み
frequent_itemsets = apriori(df, min_support=0.10, use_colnames=True)

# 2. 最小確信度(min_threshold=0.6=併買い率60%以上)でフィルタリング
rules = association_rules(frequent_itemsets, metric="confidence", min_threshold=0.6)

print(rules[['antecedents', 'consequents', 'support', 'confidence', 'lift']])

# 出力イメージ
# antecedents: [おむつ] -> consequents: [ビール] | support: 0.15 | confidence: 0.75 | lift: 2.1

6. まとめ

Aprioriアルゴリズムは、**「支持度」で全体の出現頻度を見て無駄な計算をカット(候補作成)**し、**「確信度」でルールの信頼性をチェックして不十分なものを除外(フィルタリング)**する合理的かつスマートな仕組みです。この2つの指標の意味を押さえておくことで、データ分析の結果を正しくビジネスの現場に還元できるようになります!


【DS検定対策】指示に従うAIを作る!「インストラクションチューニング」の仕組み

事前学習(Pre-training)を終えたばかりのLLM(大規模言語モデル)は、単に「文章の続きを予測・補完する」ことしかできません。これに対し、「人間の指示に的確に従って回答する能力」を与えるための重要な学習プロセスが「インストラクションチューニング(Instruction Tuning)」です!

1. 【 問題 】

LLM(大規模言語モデル)の学習プロセスにおいて、人間が準備した「指示(Instruction)」と「理想的な応答(Output)」のペアデータを学習させ、ユーザーの意図や命令に従って適切に応答できるように微調整する手法を何と呼ぶでしょうか?

① インストラクションチューニング(Instruction Tuning)
② 事前学習(Pre-training)
③ 事後学習(Post-training)なしのゼロショット学習
④ 継続的事前学習(Continued Pre-training)


2. 【 解答 】

正解: ① インストラクションチューニング(Instruction Tuning)

3. 整理:ベースモデルと指示応答モデルの違い

事前学習のみを行ったモデル(ベースモデル)と、インストラクションチューニングを施したモデルでは、同じ入力に対する挙動が全く異なります。

モデルの段階学習データの形式「日本の首都は?」と入力した時の反応
ベースモデル
(事前学習のみ)
Web上の大量の生テキスト
(単語の穴埋め・続き予測)
「日本の首都は? アメリカの首都は? フランスの首都は?…」と、問題文の続き(クイズの列挙など)を予測・出力してしまう。
指示応答モデル
(Instruction Tuning後)
「指示」と「回答」のペア
(教師ありデータセット)
「日本の首都は東京です。」と、指示を理解して正確な回答を返す。

4. LLM開発の3ステップ(全体像の中での位置づけ)

生成AI(LLM)が完成するまでには、一般的に以下の3つの大きなステップを踏みます。

Step 1:事前学習(Pre-training)
・ネット上の数兆トークンの文章を読み込み、言語の文法や世の中の知識を学ぶ(基礎体力をつける)。

Step 2:インストラクションチューニング(SFT) ★今回のお題!
・「指示と回答のペア」を数万〜数十万件学習させ、「命令に従って応答するスタイル」を身につける。

Step 3:RLHF / DPO(人間のフィードバックによる学習)
・人間の好みや安全性(有害な出力をしない等)に合わせて回答の質や振る舞いを最終微調整する。

5. DS検定形式:実戦4択クイズ

问:大規模言語モデル(LLM)における「インストラクションチューニング(Instruction Tuning)」に関する記述として、最も適切なものはどれか。

① インターネット上のラベルのない大量のテキストデータを使い、次の単語を予測する自己教師あり学習の手法である。
② 「指示文」と「それに対する適切な応答文」のペアデータを用いてモデルを微調整し、様々なタスクや命令に意図通り従う能力を向上させる手法である。
③ モデルの出力結果に対して人間が評価(報酬)を与え、強化学習を用いてモデルの安全性を向上させる手法である。
④ 外部のデータベースから関連文書を検索・取得し、それをプロンプトに含めて回答を生成させる手法である。

【 正解: ② 】

解説: インストラクションチューニングの定義を問う標準問題です。
②が正解です。指示と回答のペアデータを用いた教師ありファインチューニング(SFT)です。
①は「事前学習(Pre-training)」の説明です。
③は「RLHF(Reinforcement Learning from Human Feedback)」の説明です。
④は「RAG(検索拡張生成)」の説明です。


6. まとめ

DS検定や資格試験で「指示と応答のペア」「SFT(教師あり微調整)」「指示に従う能力の獲得」「ベースモデルからの対話モデル化」といったキーワードが出たら、正解は「インストラクションチューニング」です! 単なる文章補完(事前学習)から対話型AI(ChatGPT等)へ橋渡しをする超重要技術として、全体の学習ステップと一緒に押さえておきましょう!

【DS検定対策】自然言語処理の基本!テキストをn個ずつ区切る「n-gram」の仕組み

テキストデータをAIやプログラムで処理する際、文章をそのまま扱うことはできません。文章を「連続する n 個の文字や単語の単位」に細かく区切って分析する手法が「n-gram(エヌグラム)」です。その仕組みと種類を整理しましょう!

1. 【 問題 】

自然言語処理(NLP)において、与えられた文字列や文章に対して、隣り合う連続した n 個の文字(または単語)のまとまりに分割して抽出する手法を何と呼ぶでしょうか?

① n-gram(エヌグラム)
② TF-IDF(ティーエフ・アイディーエフ)
③ Word2Vec(ワード・ツー・ベック)
④ 形態素解析(Morphological Analysis)


2. 【 解答 】

正解: ① n-gram(エヌグラム)

3. 整理:nの値による呼び方と具体的例

「データ分析」というテキストを文字単位(文字n-gram)で分割する場合の具体例を見てみましょう。

呼び方nの値「データ分析」を文字単位で区切った結果
Unigram
(ユニグラム)
n = 1 「デ」「ー」「タ」「分」「析」
(1文字ずつバラバラに分割)
Bigram
(バイグラム)
n = 2 「デー」「ータ」「タ分」「分析」
(連続する2文字ずつスライドして抽出)
Trigram
(トライグラム)
n = 3 「データ」「ータ分」「タ分析」
(連続する3文字ずつスライドして抽出)

4. 単語n-gramと文字n-gramの違い

n-gramには「文字単位」だけでなく「単語単位」で区切るパターンもあります。

【例】「AI の 活用」という文章の場合

・文字Bigram(n=2):
「AI」「I 」「 の」「の 」「 活」「活用」 (スペースも含めて2文字ずつ区切る)

・単語Bigram(n=2):
「AI の」「の 活用」 (形態素解析などで分かち書きされた2単語ずつ区切る)

5. DS検定形式:実戦4択クイズ

問:テキストデータの前処理や特徴量抽出に関する記述として、最も適切なものはどれか。

① n-gramとは、文章中の単語の出現頻度と逆文書頻度を掛け合わせて、単語の重要度を数値化する手法である。
② 文字列を連続するn個の要素(文字または単語)のリストに分割して抽出する手法をn-gramと呼び、n=2の場合をBigramと呼ぶ。
③ n-gramを用いると、テキスト中の単語同士の文脈的・意味的な類似度を多次元ベクトル空間上の距離として自動的に表現できる。
④ 形態素解析を行わずにn-gram(単語単位)を作成することは、日本語のような分かち書きをしない言語において常に容易である。

【 正解: ② 】

解説: n-gramの基本性質を問う標準問題です。
②が正解です。連続するn個の単位に区切る手法であり、2個ずつの場合はBigramと呼びます。
①単語の出現頻度と逆文書頻度を掛け合わせる手法は「TF-IDF」の説明です。
③単語の意味や類似度を多次元ベクトル空間で表現するのは「Word2Vec」などの分散表現(単語埋め込み)の説明です。
④日本語のように単語間にスペースがない言語で「単語n-gram」を作るには、事前の形態素解析(分かち書き)が必要となります。一方、「文字n-gram」であれば辞書なしで容易に作成できるのがメリットです。


6. まとめ

DS検定や資格試験で「連続するn個の文字・単語」「1個=Unigram」「2個=Bigram」「3個=Trigram」といったキーワードが出たら、正解は「n-gram」です! 形態素解析(辞書が必要)を使わずにテキストの検索や分類を行える利点も含めて、しっかり理解しておきましょう!

【DS検定対策】確率や度合いで分類!「ソフトクラスタリング」と「ハードクラスタリング」の違い

教師なし学習の代表格である「クラスタリング」。データをグループ分けする際、1つのグループにスパッと分けるか、所属の「度合い(確率)」で柔軟に分けるかによって、大きく「ハードクラスタリング」と「ソフトクラスタリング」に分類されます。その仕組みと違いを整理しましょう!

1. 【 問題 】

クラスタリングの手法において、各データがいずれか1つのクラスタのみに属すると固定するのではなく、各クラスタへの「帰属の度合い(所属確率など)」を連続値として求める手法を何と呼ぶでしょうか?

① ソフトクラスタリング(Soft Clustering)
② ハードクラスタリング(Hard Clustering)
③ 階層的クラスタリング(Hierarchical Clustering)
④ 次元削減(Dimensionality Reduction)


2. 【 解答 】

正解: ① ソフトクラスタリング(Soft Clustering)

3. 整理:ハード vs ソフトクラスタリングの比較

両者の最大の違いは「データとグループの関係性(曖昧さを許容するかどうか)」にあります。

分類タイプ特徴・グループ分けの考え方代表的な手法
ハードクラスタリング
(Hard Clustering)
各データは「必ずいずれか1つのクラスタ」にのみ所属する(所属度は0か1の二者択一)。境界が明確。 k-means(k平均法)
階層的クラスタリング
ソフトクラスタリング
(Soft Clustering)
各データが「複数のクラスタにどれくらいの度合い(確率)で属しているか」を算出する。境界が曖昧なデータに強い。 ガウス混合モデル(GMM)
ファジィc-means(FCM)

4. 具体例でイメージ!ソフトクラスタリングの強み

例えば、「顧客を『映画好き』と『音楽好き』のグループに分ける顧客セグメンテーション」を考えてみましょう。

・ハードクラスタリング(k-means):
ある顧客を「映画好きグループ(100%)」と無理やり一方だけに判定します。

・ソフトクラスタリング(GMM等):
「映画好き度 70% + 音楽好き度 30%」のように度合いや確率で表現します。

どちらの趣味も併せ持つ「境界線上にいる曖昧なユーザー」を現実のデータに合わせて柔軟に表現できる点がソフトクラスタリング最大のメリットです。

5. DS検定形式:実戦4択クイズ

問:クラスタリング手法に関する記述として、最も適切なものはどれか。

① k-means法は、データが各クラスタに所属する確率を算出する代表的なソフトクラスタリング手法である。
② ソフトクラスタリングでは、1つのデータが複数のクラスタに対してそれぞれ異なる帰属度(所属確率など)を持つことができる。
③ ハードクラスタリングは、データ間の確率分布を前提としたEMアルゴリズムを用いてクラスタリングを行う手法の総称である。
④ ソフトクラスタリングを行う場合、最終的なクラスタの数は人間が事前に指定することが一切できない。

【 正解: ② 】

解説: ソフトとハードの性質の違いを正しく理解しているか問う問題です。
②が正解です。データごとに「A群に60%、B群に40%」のような帰属度を持たせることができます。
①k-meansは代表的な「ハードクラスタリング」です。
③EMアルゴリズムを用いて確率分布を推定するのはガウス混合モデル(GMM)などの「ソフトクラスタリング」です。
④ソフトクラスタリング(GMMやFCM等)であっても、クラスタ数はハイパーパラメータとして指定するのが一般的です。


6. まとめ

DS検定や資格試験で「帰属の度合い」「所属確率」「複数グループへの重複・曖昧な所属」といったフレーズが出たら、正解は「ソフトクラスタリング(代表例:GMM、ファジィc-means)」です! 「0か1かで明確に分けるk-means=ハード」、「確率や割合で柔軟に分けるGMM=ソフト」というセットで完璧に覚えておきましょう!