機械学習とは
機械学習とは、人工知能(AI)分野の一つで、データの中にあるパターンや関連性を見つけ出すためのデータ解析技術のことです。ここでいう「機械」とはコンピュータプログラムのことを指し、「学習」とは追加データを受け取ることで機械学習アルゴリズムがより正確になっていくプロセスのことを指します。
機械学習の考え方自体は昔からありましたが、インターネットが普及とビッグデータやクラウドコンピューティングが進歩により、ようやくビジネス領域で用いられるようになりました。なぜなら、データのパターンを探すためには、ビッグデータへのアクセスと高度なコンピューター性能が必要となるからです。
「人工知能(AI)」と「機械学習」は、しばしば同じ意味で扱われます。それは最近までAIの取り組みが特定のタスクに限定されていたためです。ほとんどの機械学習モデルは、大規模なラベル付きデータセットを必要とする教師あり学習を使った特定のタスクを実行するために構築されていました。しかし、今では、RPA(ロボティック・プロセス・オートメーション)を使ってデータの前処理を自動化することで、機械学習アルゴリズムの訓練がより迅速になっています。
機械学習とデータセットの関係
質の高い機械学習モデルを作るには、良質かつ大規模な学習データセットが必要です。適切な学習データセットを使用することで、目標に最も関連する特徴を抽出し、意味のある関連性を明らかにすることができます。
機械学習モデルとは
機械学習モデルとは、データに対して機械学習アルゴリズムが評価・判断した結果を出力する仕組みのことです。機械学習モデルを作るステップには、以下のようなものがあります。
- 学習データを集める
- 学習のためにデータを準備する
- どの学習アルゴリズムを使うか決める
- 学習アルゴリズムを訓練する
- 学習アルゴリズムの結果を評価する
- 必要に応じて、得られた結果を改善するために、学習プロセスを管理する変数(ハイパーパラメータ)を調整する
一般的な機械学習の設定において、教師あり機械学習のアルゴリズムは、入力と出力で構成される凡例を集めたデータセットが必要です。機械学習アルゴリズムを学習する目的は、モデルの決定木が一貫して望ましい結果を出せるように、予測モデルのパラメータを更新することにあります。そこで重要になるのが、エントロピーです。
エントロピーとは、システム内の無秩序やランダム性を定量化する数式のこと。機械学習のプロジェクトでは、モデルの決定木がどのようにデータを分割するかを決定しているため、エントロピーをできるだけ低く保つことが重要になります。
機械学習アルゴリズムの種類
機械学習モデルの学習に使われるアルゴリズムには、主に教師あり学習、教師なし学習、強化学習があります。
- 教師あり学習:ラベル付きの学習データをアルゴリズムに与えて、正しい答えを示します。教師あり学習のアルゴリズムは、過去のデータセットの結果を使って、新しいデータの出力値を予測します。
- 教師なし学習:ラベルなしの学習データをアルゴリズムに与えます。正しい出力を予測するのではなく、学習データを使ってパターンを見つけ出し、類似の挙動を示すデータグループに分類する方法です。なお、状況によっては、少量のラベル付きデータを大量のラベルなしデータと組み合わせて半教師あり学習という方法が使用されることもあります。
- 強化学習:学習データが与えられる代わりに、アルゴリズムに報酬が与えられ、報酬が最大となるデータのパターンを探す方法です。強化学習のアルゴリズムに用いられる入力データは、多くの場合、物理的またはデジタル環境と学習アルゴリズムのやり取りから得られます。
機械学習におけるバイアスの原因
利用者の中では、人工知能、特に機械学習アルゴリズムが透明性を持ち、仕組み等が説明可能であることを望む声が高まっています。しかし、機械学習アルゴリズムの透明性は複雑で、特定の予測にどのアルゴリズムが使われたかを共有するだけでは解決できません。
機械学習を学ぶ初心者は、透明性がないのは数学的アルゴリズムではなく、実際に使用される学習データであることに驚くでしょう。つまり、使用されているアルゴリズムではなく、学習データが価値を持っているということです。
残念ながら、アルゴリズムの学習に使われるデータは人間が選択するため、構築される機械学習モデルにバイアスがかかることがあります。また、学習アルゴリズムが持つ反復性も、エンジニアが予測の背後にあるロジックをさかのぼって追跡することを困難にしています。
データサイエンティストや機械学習エンジニアが特定の予測の仕組みを説明できる場合、その機械学習モデルは「説明可能なAI(XAI)」と呼ばれます。一方で、特定の予測の仕組みを明らかにすることができない場合は、その機械学習モデルは「ブラックボックスAI」と呼ばれることがあります。
MLOpsとは
機械学習プロジェクトは通常、データサイエンティストや機械学習エンジニアが監督します。データサイエンティストは、仮説を立ててそれを証明するコードを書くことが仕事である一方で、機械学習エンジニアは機械学習の運用に重点を置きます。この役割分担を「MLOps」と言います。
機械学習の運用は、機械学習モデルの開発工程と運用工程を管理する手法です。学習、チューニング、日常的な環境での運用、そしてモデルの廃止までを含みます。そのため、機械学習エンジニアは、数学と統計学の知識に加えて、データモデリング、特徴量エンジニアリング、プログラミングの実務知識を習得している必要があります。
同じ組織のデータサイエンティストと機械学習エンジニアが協力して、特定の課題を解決するために最適な学習アルゴリズムを決定するのが、理想的なあり方です。しかし、業界によっては、機械学習エンジニアの仕事が学習データの選択やモデルから得られた結果の検証方法の決定に限定されることもあります。
無料で「保険業界における26のAI使用例」をダウンロードする |