その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に繋がる最適行動を把握
- ビッグデータは大量で”リアルタイムに発生する構造化・非構造化データを蓄積/分析/処理する技術またはデータ“
- 特徴は”Volume(量)”,”Velocity(速度)”,”Variety(多様性)”
- ビッグデータの活用課題はセキュリティと人材の側面がある
1.ビッグデータの定義とAIとの関連性
一般的にはビッグデータは大量で”リアルタイムに発生する構造化・非構造化データを蓄積/分析/処理する技術またはデータ“
特徴は“Volume(量)”,”Velocity(速度)”,”Variety(多様性)”
Volume : データの量とその処理能力
Velocity : 変化の速さとそれに追従できる更新頻度
Variety : 構造化されていない多様なデータ
ビッグデータとディープラーニング(深層学習)の相性は良い
なぜなら、AI精度を上げるためには、データを何度も読み込ませ、学習を積み重ねる必要があるから
2.ビッグデータの活用例
下記の例があります
データ | 例 | できること |
---|---|---|
POSデータ | 年齢、性別、購入商品等 | 販促施策の検討 |
販売データ | 注文された寿司ネタ | 販売状況の把握 |
位置データ | 自動車の位置情報等 | 交通状況の解析 |
3.ビッグデータ活用における課題
☆データ分析基盤
膨大なデータを蓄積し、加工し、分析が行える技術基盤
☆データサイエンティストの育成
日本ではプログラミングが出来る人や統計学がわかる人が不足している
4.データの品質考慮
データ品質評価軸例
評価軸 | 概要 |
---|---|
正確性 | データが表そうととする実体が正しく示されている |
完全性 | 全てのデータの要素が揃っている |
一貫性 | 同じ実体を表すデータが1つだけ存在 |
最新性 | データが期限内の実体を示している |
精度 | データの詳細度(有効数字等)が十分 |
プライバシー | アクセス制御と利用監視がなされている |
妥当性 | 対象業務においてデータの整合が行われている |
参照整合性 | 参照元のデータが存在する |
適時性 | 必要なときに速やかにデータが利用できる |
有効性 | データが定められた属性(型や形式や精度や文字コード等)が有効範囲に収まっている |
- AIは入力するデータにより使われる手法が異なる
- 画像認識はCNN(畳み込みニュートラルネットワーク)
- 時系列データはRNN(再帰型ニュートラルネットワーク)
- 自然言語処理はBERT
- テーブルデータは決定木
- AIシステムの開発は技術面とビジネス面の2つの組み合わせが必要
- テ開発の上流工程では、課題理解とKPI設計、用件定義、プロジェクト設計の順に進める
- ビジネス面と技術面の落とし穴を考慮して開発を進める
1. 4つの段階に分かれるAIシステムの段階
AIシステム開発フロー
課題の設定
ROIの検討
チームビルディング
仮モデルの構築
ROIの確認
モデルの精度評価
最終モデルの構築
設計・開発・テスト
保守・点検
データ更新
データの傾向に合わせたチューニング
開発フローの上流工程
課題と目標値の設定
・ビジネス課題の理解
・KPIの設定(ex) CVR等)
業務機能の定義
・業務上どの判断をAIに代替するか
運用機能の定義
・モデルの精度の評価方法
・モデルの監視方法
・モデルの再学習の方法
・モデルの管理フロー
チームビルディング
・意思決定者
・現場担当者
・AIエンジニア
・データサイエンティスト
契約関係
・データやモデルなどの権利の合意
2.AIシステム開発の難しさ
下記の例があります
ビジネス面 | 具体例 |
---|---|
目標設定 | データが揃うまでどれくらいの精度が出せるかわからない |
顧客とのコミュニケーション | できること、できないことを適切に説明して置く |
チームビルディング | どの段階に時間がかかるか事前に想定しにくい |
技術面 | 具体例 |
---|---|
データのバイアスの問題 | ある特徴を持ったデータに偏って出力される |