12
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

今さら聞けない機械学習

Last updated at Posted at 2022-08-18

こちらのイベントで説明した内容を抜粋しています。

データサイエンスのプロセス

機械学習がどういうものかを説明する前に、機械学習が適用されるデータサイエンスのプロセスを説明します。
Screen Shot 2022-08-18 at 8.47.38.png

  • 質問:データサイエンスのプロセスは何かしらの「質問(この広告キャンペーンはどの層をターゲットにしたらいいのか?など)」からスタートします。
  • 仮説:質問に対して仮説を立てます(20代にWeb広告を打てばコンバージョンが上がるはず)。
  • 実験・分析:仮説を検証するために実験・分析を行います。
  • 結果の分析・解釈:分析結果をさらに分析、解釈します。
  • 結果の提供・コミュニケーション:経営層などのステークホルダーに対して結果を提供し、コミュニケーションを取ることでアクションにつなげます。

データサイエンスとは

データサイエンスでは、様々なデータから知見を抽出するために3つのスキルが求められます。
Screen Shot 2022-08-18 at 8.52.36.png

  • コンピューターサイエンス
  • 応用統計学
  • ドメイン知識

これらが重なり合う領域がデータサイエンスです。そして、ここで機械学習が登場します。

データサイエンスは、特定ドメインにおいて知見を抽出し、適用するための科学的なプロセスでデータを活用することを目的とした、ドメイン知識、応用統計学、コンピューターサイエンス、そして、機械学習から構成される複数の学問分野にまたがる領域です。

注意
上の図には機械学習は記載されていませんが、領域横断で活用する技術と捉えてください。

データサイエンスプロジェクトにおける留意点

企業においてデータサイエンスはプロジェクトの中で活用されることが一般的であり、このデータサイエンスプロジェクトを成功に導くためには注意すべき点がいくつか存在します。
Screen Shot 2022-08-18 at 8.55.47.png

  • 実世界の問題のフレーミング: プロジェクトのスコープ、ひいては機械学習を適用する領域を明確に定義する必要があります。
  • 計測可能な実世界の目標: 定量的に計測可能な目標をターゲットしてプロジェクトを推進します。この計測可能なアウトプットを生み出すために機械学習を活用します。
  • 制約、ベースライン: プロジェクトのアウトプットを活用する際に生じる制約、達成すべきベースラインに留意しながらアウトプットをまとめていきます。
  • ソリューション全体の継続的計測: 一度アウトプットして終わりではなく、ビジネスの継続性に合わせてデータサイエンスのアウトプット(ソリューション)を計測可能にしておく必要があります。

機械学習とは

上で触れた通り、機械学習はデータサイエンスで用いられる応用統計学とコンピューターサイエンスを組み合わせた技術です。
Screen Shot 2022-08-18 at 9.02.01.png

機械学習(Machine Learning)
タスクを実行するために、コンピュータに対して明示的にプログラムを行うのではなく、機械学習においてはコンピュータがタスクの実行方法を学習します。

機械学習の詳細に入る前に「機械学習ではない」明示的なプログラミングの例を見てみます。

今日雨が降るかどうかを予測する問題を考えてみます。プログラミングをするケースでは、もし「雲量が80%」で「湿度が60%」であれば「雨」である、という条件を列挙することになりますが、これは機械学習ではありません。
Screen Shot 2022-08-18 at 9.03.24.png

機械学習では、明示的にタスクをプログラムすることなしにコンピューターがタスクの実施方法を学習します。以下の例では、雲量と湿度から雨の確率を予測します。この予測の方法自体をコンピューターがデータから学習するのが機械学習です。
Screen Shot 2022-08-18 at 9.06.32.png

機械学習で用いる機械学習アルゴリズムはデータから学習を行います。
Screen Shot 2022-08-18 at 9.07.28.png

機械学習のメリットには以下のようなものがあります。

  • より精度の高い予測:上述したような条件の列挙では精度に限界があります。
  • 大量のデータ(行数)への対応:大量データに対する条件の列挙は非現実的です。
  • 大量の特徴量(列数)への対応:同上です。
  • 人の負荷の削減:同上です。

機械学習のワークフロー

Screen Shot 2022-08-18 at 9.10.03.png

  • データ探索:機械学習で使用するデータの傾向を把握します。
  • データクレンジング:データの欠損などに対応します。
  • 特徴量エンジニアリング:機械学習で用いる特徴量を生成します。
  • モデル開発:モデルにデータを学習させます。
  • モデル評価:学習した結果得られるモデルの精度などを評価します。
  • モデルデプロイメント:モデルを本番環境に配備して活用します。

機械学習ワークフローとデータサイエンスプロセスの関係は以下のようになります。
Screen Shot 2022-08-18 at 9.11.46.png

機械学習の分類

機械学習にはいくつかのタイプがあります。

  • 教師あり学習:機械学習モデルに対して「教師データ(何が正解かを示すラベルデータ)」を与えて学習を行わせる機械学習です。
    Screen Shot 2022-08-18 at 9.16.30.png
    教師あり学習の例には以下のようなものがあります。
    • どのくらいの雨量になるのか?
    • いつ在庫切れが起きるのか?
    • 患者に対してこの治療法は有効か?
    • 立候補者は何票獲得するのか?
  • 教師なし学習:「教師データ」なしに機械学習モデルはデータから学習を行います。
    Screen Shot 2022-08-18 at 9.17.12.png
    教師なし学習の例には以下のようなものがあります。
    • 購買行動に基づいて顧客をグルーピングできるか?
    • 症状に基づいて患者をグルーピングできるか?
    • 他のトランザクションと異なる不正行為と思われる
    • トランザクションを特定することができるか?

教師あり学習

ここでは教師あり学習の「分類」と「回帰」を説明します。

分類問題

上述した雨の予測においてもいくつかのパターンがあります。「雨が降る」、「雨が降らない」の2つのクラスのどちらからを予測する場合「分類(Classification)」問題となります。

分類は教師あり学習のサブセットであり、モデルは事前定義済みのクラスの中からどのクラスであるのかを予測しようとします。
Screen Shot 2022-08-18 at 9.24.20.png

分類の例には以下のようなものがあります。

  • 誰が選挙に勝つかを予測できるか?
  • どのチームがサッカーの試合に勝つかを予測できるか?
  • 画像の中にあるのがどの果物であるかを予測できるか?

回帰問題

「どのくらいの量の雨が降るのか」を予測する場合、ラベルの値を予測する「回帰(Regression)」問題となります。

回帰は教師あり学習のサブセットであり、モデルは
連続的なラベルの値に基づき定量的な値を予測しようとします。
Screen Shot 2022-08-18 at 9.26.12.png

回帰の例には以下のようなものがあります。

  • 候補者が何票獲得するのかを予測できるか?
  • 試合でサッカーチームが何点獲得するのかを予測できるか?

教師なし学習

「教師なし学習」はラベルが存在しない場合でも、データ間の関係性の理解に活用することができます。

教師なし学習では、アルゴリズムは既存のラベルなしに入力データ間の関係性を理解しようとします。
Screen Shot 2022-08-18 at 9.27.41.png

教師なし学習の一例として「クラスタリング」があります。
Screen Shot 2022-08-18 at 9.29.18.png

  • 上の図では、類似するレコードには類似する特徴量が含まれます。
  • 事前にクラスターの数を決めておく必要があります(アルゴリズムによります)。

教師なし学習にはこれ以外にも、時系列データから将来を予測する時系列予測なども存在します。

Databricksで始める機械学習

Databricksであれば、上で触れた様々な機械学習をノートブックで簡単に実現することができ、得られた機械学習モデルを本格運用するとこまでをサポートします。
Screen Shot 2022-08-18 at 9.34.11.png
Screen Shot 2022-08-18 at 9.34.43.png

Databricksは機械学習の文脈では主に以下の機能を提供しています。

  • コラボレーティブなデータ探索ワークスペース: ビルトインのデータ準備のための機能、ネイティブなビジュアライゼーションのサポート、機械学習に最適化されたランタイム(ソフトウェアパッケージ)
    Screen Shot 2022-08-18 at 9.40.14.png
    Screen Shot 2022-08-18 at 9.40.23.png
    Screen Shot 2022-08-18 at 9.40.32.png
  • 実験環境: 特徴量ストア、実験(モデルトレーニング)トラッキング、モデルを集中管理するモデルレジストリ
    Screen Shot 2022-08-18 at 9.40.41.png
    Screen Shot 2022-08-18 at 9.40.48.png
    Screen Shot 2022-08-18 at 9.41.02.png
  • MLOps + DevOpsの本格運用: Git連携、モデルサービング、モデルモニタリング
    Screen Shot 2022-08-18 at 9.41.09.png
    Screen Shot 2022-08-18 at 9.41.15.png
    Screen Shot 2022-08-18 at 9.41.21.png

この他、Databricksでの機械学習に興味がある方はこちらの記事もご覧になってください。

その他の「今さら聞けない」シリーズ

Databricks 無料トライアル

Databricks 無料トライアル

12
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
10

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?