27
40

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 3 years have passed since last update.

機械学習を仕事に使うには? 02_AI開発のプロジェクト全体像

Last updated at Posted at 2019-12-25

はじめに

『機械学習を仕事に使うには』をテーマに連載を書かせて頂いてます。
第2回である本記事ではAI開発のプロジェクトがどの様に進んで行くのかを整理して行こうと思います。

章立ては以下の通りです。

  • AI開発と機械学習は何が違うのか?
  • AI開発の全体像
  • AI開発のどこで機械学習を使うのか?
  • モデルを構築するための手順

機械学習とは?の理解が怪しいと感じる方は「第1回:機械学習の目的を理解する」にも目を通して頂けると良いです。

AI開発と機械学習は何が違うのか?

第1回:機械学習の目的を理解する でも紹介したのですが「AI > 機械学習」という包括関係があります。
具体的には AI開発を進めて行く中で機械学習の技術を使う といった位置づけになります。

image03.png

(出典:https://rikei-danshi.work/entry/ai-chigai)

AI開発の全体像

AI開発は下図でも整理しますが、『企画~PoC~開発~運用』といったプロセスで進んで行きます。

  • 企画:AI を使って何をやりたいのか明確にする
  • PoC:企画した AI は技術的に開発可能なのか?プロジェクトの採算が取れるのか?をチェックする
  • 開発:AI の心臓部である『モデル』を構築してシステムに実装する
  • 運用:開発したシステムが安定稼働するように保守・運用を行う
image03.png

どこで機械学習を使うのか?

では、AI開発の全体プロセスが見えた所で、どこで機械学習を使うのか考えてみましょう。
答えとしては「PoC」「開発」で機械学習を使います。

図にも書いてある『モデル』が AI そのものであり、良いモデルを構築するために機械学習のスキルが必要になります。
モデルとは何なのか忘れてしまった人は「第1回:機械学習の目的を理解する」を参照されてください。

モデルを構築するための手順

機械学習を習得するには大きく分けて3つのスキルが必要です。
具体的なプログラミングは第3回の記事で整理します。まず今回は全体像だけ理解していきましょう。

  • データの前処理
  • モデルの学習
  • モデルの検証

データの前処理

データの前処理ではモデルが学習できる状態にデータを整えることが目的です。

具体的には3つの事を実施するのですが、本質的には機械学習の**『前準備』を兼ねた分析がメインなので
実務を経験した人が書く記事では
機械学習ではなくデータサイエンス**の分野として書かれることが多いです。

  • EDA(探索的データ解析):データの統計的な全体傾向を掴む
  • 欠損値・外れ値の処理:ノイズになる邪魔なデータを除去などする
  • 特徴抽出:データの法則性がどこに現れるのか分析する

モデルの学習

ここから本格的に機械学習の技術が登場してきます。
第1回:機械学習の目的を理解する」でも紹介した通り、用意した大量のデータから法則性を見つけることが最大の目的です。

image02.png

その為に用意されている機械学習の手法がアルゴリズムです。
料理に例えるのであれば 『データ=食材』で、『アルゴリズム=レシピ』 と考えるとイメージしやすくなります。

食材に応じて適切なレシピで調理すると美味しい料理が出来上がりますよね。
機械学習もそれと同じで、データに対して適切なアルゴリズムを使うと予測精度の良いモデル(=良いAI)を作る事が出来ます。

モデルの検証

モデルの学習を終えたら、モデルが予測する結果がどれだけ正しいのか性能チェックが必要です。
※たまに AIはすべて正しく予測するんでしょ? と勘違いする人が居るので、必ず検証の重要性を教えてあげて下さい。

このモデルの検証で実施する事は2つです。
※2つ目に関しては実務で理解すれば良いので詳細は割愛します

  • 予測精度の測定:
    参考書を読むと色々と難しい説明(ホールドアウト法、交差検証 など)が紹介されているのですが、
    ためしに使ってみて、正しく予測できているのかチェックする だけのことです。
  • モデルの継続的な保守性を考える:
    内容が深くなるので割愛しますが、興味がある方はモデルの再学習を読んで頂くと良いです。

さいごに

次回の記事では、前処理~学習~検証の具体的な実装手順をプログラミング言語 Python をベースにして整理します。
プログラミングの一連手法や具体的な勉強方法を網羅して整理するのでご期待ください。

また、SNS でも色々な情報を発信しているので、記事を読んで良いなと感じて頂けたら
Twitterアカウント「Saku731」 もフォロー頂けると嬉しいです。

また、文末にはなりますが、期間限定で「チーム開発体験プロジェクト」をやってます。
もしご興味あれば【応募シート】で詳細確認してください。
(追記)
満員のため締め切らせて頂きました。
次回は2019年3月を予定しているので、ご案内を希望される方は【予約フォーム】にご記載ください。

最後までお読みいただきありがとうございました。

27
40
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
27
40

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?