AI入門その2~AIの基礎知識~

はじめに

その1では、AIとはという外観のお話をしました☆

 

 

次にAIの基礎知識について、考えていこうと思います

  

機械学習と統計学の違い

  • 機械学習はデータの予測が目的 vs. 統計学はデータの解釈が目的
  • データの可視化は異常に気付きやすくなる属人的スキルが平準化共通理解が得られやすい
  • データの可視化の手法としてグラフが用いられる

1.データの可視化の具体例

 

 

異常に気付きやすくなる・・・2次元のグラフで見ると株価の異常変動や不正利用などはすぐにわかる

 

属人的スキルの平準化・・・新人でも経験者でも検査が可能になる

 

共通理解が得られやすい・・・誰もが直感的にわかり、共通理解が得られやすい

 

 

2.データの可視化の手法

・棒グラフ

・折れ線グラフ

・円グラフ

・積み上げグラフ

・レーダーチャート

・ヒートマップ

相関関係と因果関係

  • 相関関係は2系統のデータの類似性を示す
  • 因果関係は2系統のデータに原因と結果があるかを考慮する
  • みかけ上の相関関係で判断を誤るケースもある

1.相関関係と因果関係の違い

 

 

相関関係・・・一方が増えると他方も増える。一方が増えると他方も減るのような相関がある

 

因果関係・・・一方が原因、他方が結果のような因果がある

 

つまり、相関関係があると因果関係はあるとは言い切れないが、因果関係はあると相関関係があると言い切れる

 

引用URL : https://www.bewith.net/gemba-driven/article/digital/entry-242.html

 

2.見かけ上の相関関係の例

例えば、夏にかき氷とスイカが沢山売れます

 

つまり、かき氷が売れれば、スイカも売れるという相関があるように見えます

 

しかし、現実はそうではなく、

気温が上がれば、かき氷が売れる相関がある

気温が上がれば、スイカが売れる相関がある

 

という勘違いがあるケースがあります

これが見かけ上の相関例になります。つまり、本質的要素が別にある場合です

 

 

3.現実世界での因果推論の難しさ

例えば、広告を出して売上が伸びるのかという検証を考えます

 

これは現実的にはかなり難しい実験です

なぜなら、広告を出す前後の売上を同一人物に対して比較しないと厳密ではないからです

また、SNSなどの広告以外の影響も取り除く必要があります

このような場合は、

ランダム化比較実験を行うのが一般的です

 

つまり、ある集団をランダムにグループをわけます

今回だと、“広告を見た集団”“広告を見ていない集団

さらに全員SNSを見ていない集団という条件も付けます

 

こうすることで、広告の有無の効果検証が行う事ができます

 

ここで難しいのは、あくまで瓜二つの同質集団を作れないということです

あくまで近似的な考え方で、条件も細かくすればするほど検証が難しくなります

機械学習とデータマイニング

  • データマイニングは、データから有益情報を見つけ、人間の判断サポートをする仕組み
  • データの収集にはSQLなどのデータベース言語が利用される
  • Webから集める方法としてはクローリングとスクレイピングがある

1.機械学習とデータマイニングの違い

 

 

違いはAI自身の判断有無

項目機械学習データマイニング
用途数値や属性等の結果予測のために活用データごとの属性が互いにどのように関連しているかを調べる
人間の介入情報抽出のためのパターンなどを自動学習情報抽出のための手法適用のために人間の介入が必要
活用例画像認識等顧客の行動パターン把握等

 

 

2.データマイニング例

 

名称手法
クラスタリング似た属性を持つデータを同じグループに分けるグループ分けしたあとに、
別製品の購入提案、

継続購入の提案等に使われる
バスケット分析一緒に購入されている商品を分析する手法一緒に購入される頻度が高い物との相乗効果を狙った販売促進や陳列
リンク分析SNSやブログ等で顧客間の関連性やつながりを分析グラフ理論と呼ばれるものも使われている
テキストマイニング大量文字データから有益な情報を取り出す手法キーワードの相関などを調べるなど

 

 

3.データ収集のためのツール

 

☆データベースからSQLででデータ抽出

機械学習やデータマイニングをするためにはデータが必要

 

そのデータを引っ張って来るツールが必要

 

データはデータベースと呼ばれるところに大量に蓄積されています

  

その蓄積されたデータを抽出できるのがSQLというデータベース言語

 

つまり、データベースにあるデータをSQLで引っ張ってきて、機械学習やデータマイニングを実行します

 

データベース管理システムの種類

SQLが使えるデータベース管理システムは次のものが代表的

 

・MySQL

・PostgreSQL

・Microsoft SQL Server

 

☆Webからのクローリングとスクレイピング

Web上にあるデータを収集したいときに使うのが”クローリング”と”スクレイピング”

  

クローリングで求めるデータがありそうなWebページをダウンロード

スクレイピングでそのWebページの必要なデータだけ抽出

教師あり学習

  • 教科書あり学習は、AIに正解データを学習させる手法
  • 実務では正解データの作成が重要になる場合が多い
  • 収集した入力データ予測したい出力データによって、“分類”と”回帰”と”時系列分析”

1.学習段階と予測段階

 

教師(正解)あり学習には、学習段階と予測段階のステップがある

 

学習段階 : 正解データがある状態で、学習済みモデルを最適化

予測段階 : 学習済みモデルに対して、未知のデータを入力し、適切な予測結果を出力

 

難しい部分としては、

正解データを用意できるかという部分

 

例えば、

製造などの不良検出だとそもそも99.9%の不良は出しませんだとデータあまり用意できません

 

2.教師あり学習利用場面

 

名称手法
分類予測結果が”どのグループに属するか”を推論飛行機に乗車した人が生存or死亡を予測する場合
 
入力データ : 性別、年齢、席番、時間、国、etc

モデル学習

出力データ : 生存 or 死亡
回帰数値を予測
入力データに複数変数を使う
住宅価格の予測をする場合
 
入力データ : 築年数、リフォーム年、etc

モデル学習

出力データ : 住宅価格XXX万円
時系列分析特定データの過去の値を入力し、未来の値を予測
※回帰と異なるのは複数変数を使わない点
為替の上下を見る場合など

教師なし学習

  • 教科書なし学習は、データから分析結果を得ることが目的
  • 活用例はアソシエーション分析クラスタリング次元削減
  • 教師あり学習の正解ラベル付けや判断支援などに活用もされる

1.データから分析結果が得られる教師なし学習

 

教師なし学習には、学習段階と予測段階のステップはない

 

学習済みモデルに入力データを与えると、いきなり出力データが得られる

 

教師ありの場合より難易度が高く、実現も限定的

 

2.教師なし学習利用場面

 

名称手法
アソシエーション分析商品などの関連性を見つける手法ハンバーガー店でコーヒ無料券を配布する話
 
ハンバーガーとサイドメニューのどの組み合わせが最も多く購入されているか調べる

単価の高いビックバーガーとコーヒーの購入パターンが多いデータを得る

コーヒーを無料にしても、
単価の高いビッグバーガーで採算が取れるから、
無料クーポン配布
クラスタリング実際の実務や研究などで正解ラベルがない場合
学習データに正解ラベルを付けるのに便利な手法
・階層的クラスタリング
数値データ傾向を掴むために、
似てるデータを順にまとめていく手法

・k-means法(非階層的クラスタリング)
座標上のランダムな点を重心として、
重心に近い点でクラスターを作り、
重心をクラスターの点の平均に移動させる処理の繰り返し

※下記に例の画像を添付
次元削減できるだけ情報を保ったまま、
高次元データを低次元のデータに変換
・PCA
多くのデータから一定法則を見つけ出す。
例えば、
設問数の多いアンケート調査ののち、
重要な2指標に絞り2次元のグラフで可視化

 
・t-SNE

PCAより可視化のバリエーションが豊富で人気
※下記に例の画像を添付

参考URL : https://zero2one.jp/ai-word/k-means-method/

参考URL : https://datachemeng.com/tsne/

強化学習

  • 強化学習では”エージェント”が”環境”の”状態”から、どう”行動”すれば”報酬”を多く得られるか求める
  • 強化学習の応用として広告の最適化やWeb解析等がある
  • 正解ラベル不要、データセット作成の手間を省ける

1.報酬が多く貰える方法を学習する強化学習

 

 

“報酬を与え、報酬を最大化する方法を学習する”という手法

 

 

教師あり、教師なしの学習とは異なり学習データはありません

 

 

AI自身の試行錯誤のみで学習するのが特徴

 

 

例えば、下記のように設定

エージェント→車

環境→走行中の道路

 

そして下記のような強化学習を行います

エージェント→行動→環境状態・報酬繰り返し

 

2.強化学習に用いられる用語

 

強化学習は、教師あり、教師なしの学習とは異なるので、

異なった用語が使われることがあります☆

用語説明囲碁の例
エージェント環境に対して行動をとる主体対局者
環境エージェントがいる世界盤面
行動エージェントがある状態においてとることができる行動具体的打ち手
状態環境が保持する状態(エージェントの行動により更新)現状の盤面の状態
報酬エージェントの行動に対する環境からの評価勝率に即した評価
方策エージェントが行動を決定する方針対局者の戦略
即時報酬行動の直後に発生する報酬目先の石を取る
遅延報酬遅れて発生する報酬目先の石ではなく、
より大きい陣地を取る
収益即時報酬だけでなく、
あとから得られる全ての遅延報酬を含めて報酬和
価値エージェントの状態と方策を肯定した場合の条件付きの収益

 

 

3.強化学習の利用シーン

 

☆広告の最適化

 

バンディットアルゴリズムと呼ばれるものがあり、多腕バンディット問題を解くときに使用される

 

多腕バンディット問題とは、得られる報酬の期待値が異なる選択肢が複数あるとき、

 

できるだけ少ない試行回数で報酬のよい選択肢を選んでいき、報酬の合計を最大化したいという問題

 

この応用として、どの広告が顧客や予約などを多く集め、目標を達成できるかという問題を解いていく

 

 

☆Web解析

 

ユーザーのWebサイト上での行動履歴を学習し、CVに繋がる最適行動を把握

AIとビッグデータ

  • ビッグデータは大量で”リアルタイムに発生する構造化・非構造化データを蓄積/分析/処理する技術またはデータ
  • 特徴は”Volume(量)”,”Velocity(速度)”,”Variety(多様性)”
  • ビッグデータの活用課題はセキュリティと人材の側面がある

1.ビッグデータの定義とAIとの関連性

 

 

一般的にはビッグデータは大量で”リアルタイムに発生する構造化・非構造化データを蓄積/分析/処理する技術またはデータ

 

 

特徴は“Volume(量)”,”Velocity(速度)”,”Variety(多様性)”

 

 

Volume : データの量とその処理能力

 

Velocity : 変化の速さとそれに追従できる更新頻度

 

Variety : 構造化されていない多様なデータ

 

 

ビッグデータとディープラーニング(深層学習)の相性は良い

 

なぜなら、AI精度を上げるためには、データを何度も読み込ませ、学習を積み重ねる必要があるから

 

2.ビッグデータの活用例

 

下記の例があります

データできること
POSデータ年齢、性別、購入商品等販促施策の検討
販売データ注文された寿司ネタ販売状況の把握
位置データ自動車の位置情報等交通状況の解析

 

 

3.ビッグデータ活用における課題

 

☆データ分析基盤

 

膨大なデータを蓄積し、加工し、分析が行える技術基盤

 

 

☆データサイエンティストの育成

 

日本ではプログラミングが出来る人や統計学がわかる人が不足している

 

 

4.データの品質考慮

 

 

データ品質評価軸例

評価軸概要
正確性データが表そうととする実体が正しく示されている
完全性全てのデータの要素が揃っている
一貫性同じ実体を表すデータが1つだけ存在
最新性データが期限内の実体を示している
精度データの詳細度(有効数字等)が十分
プライバシーアクセス制御と利用監視がなされている
妥当性対象業務においてデータの整合が行われている
参照整合性参照元のデータが存在する
適時性必要なときに速やかにデータが利用できる
有効性データが定められた属性(型や形式や精度や文字コード等)が有効範囲に収まっている

データ別にみるAIの特徴

  • AIは入力するデータにより使われる手法が異なる
  • 画像認識はCNN(畳み込みニュートラルネットワーク)
  • 時系列データはRNN(再帰型ニュートラルネットワーク)
  • 自然言語処理はBERT
  • テーブルデータは決定木

AIシステムの開発フロー

  • AIシステムの開発は技術面とビジネス面の2つの組み合わせが必要
  • テ開発の上流工程では、課題理解とKPI設計、用件定義、プロジェクト設計の順に進める
  • ビジネス面と技術面の落とし穴を考慮して開発を進める

1. 4つの段階に分かれるAIシステムの段階

 

 

AIシステム開発フロー

構想

課題の設定

ROIの検討

チームビルディング

PoC(Proof of Concept :概念実証)

仮モデルの構築

ROIの確認

モデルの精度評価

実装

最終モデルの構築

設計・開発・テスト

運用

保守・点検

データ更新

データの傾向に合わせたチューニング

 

 

開発フローの上流工程

課題理解とKPI設定

課題と目標値の設定

・ビジネス課題の理解

・KPIの設定(ex) CVR等)

要件定義

業務機能の定義

・業務上どの判断をAIに代替するか

 

運用機能の定義

・モデルの精度の評価方法

・モデルの監視方法

・モデルの再学習の方法

・モデルの管理フロー

プロジェクト設計

チームビルディング

・意思決定者

・現場担当者

・AIエンジニア

・データサイエンティスト

 

契約関係

・データやモデルなどの権利の合意

 

 

2.AIシステム開発の難しさ

 

下記の例があります

ビジネス面具体例
目標設定データが揃うまでどれくらいの精度が出せるかわからない
顧客とのコミュニケーションできること、できないことを適切に説明して置く
チームビルディングどの段階に時間がかかるか事前に想定しにくい
技術面具体例
データのバイアスの問題ある特徴を持ったデータに偏って出力される

 

参考文献

AI入門シリーズ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA