機械学習(ML)エンジニアになるには
機械学習エンジニアになるためには、多くの異なるスキル(数学、プログラミング、データベース、アルゴリズム知識など)の知識が必要です。ここでは、面接に役に立つ最低限の知識を紹介します。しかし、機械学習エンジニアは機械学習を学ぶ前にデータについて深く知るべきです。
その理由は以下の通りです。Standford大学教授でGoogle Brainの創業者でもあるAndrew NgはData-centric AIを提唱しました。Data-centric AIはモデルのアーキテクチャとアルゴリズムだけに焦点を当てるのではなく、データの品質と管理の向上に重点を置く人工知能のアプローチです。
データ中心のアプローチでは、データのクリーニング、アノテーション、およびデータセットが多様で代表的であることを確認するために大きな努力が払われます。このアプローチの背後にある哲学は、より良いデータが、よりシンプルなアルゴリズムでも、より良いモデルのパフォーマンスにつながるということです。
機械学習エンジニアに必要な事
1. データ理解
データは機械学習の基盤です。機械学習エンジニアがデータの性質と特性を理解することは、効果的かつ正確なモデルの構築に不可欠です。一般的に探索的データ分析(Exploratory Data Analysis)やEntity Relationship図などの手段を使用し、データの意味と性質を理解します。
2. モデルの訓練
MLアルゴリズムはデータからパターンを認識することで学習するため、データはMLモデルの訓練の中核要素です。多くの高品質なデータが利用可能であれば、モデルはより良く学習し適応できます。機械学習エンジニアやデータエンジニアなどはETL, ELT, CDCなどの種類のデータパイプラインを構築し、機械学習アプリケーションに活用します。
3. データの前処理(Data Preprocessing)
データの前処理は、モデルの性能に大きな影響を与える重要なステップです。これには、データのクリーニング(Data Cleaning/Wrangling)と加工(Data Transformation)が含まれます。
4. 特徴エンジニアリング(Feature Engineering)
効果的な特徴エンジニアリングは、モデルのパフォーマンスを向上させる上で重要です。データに精通していることは、適切な特徴を選択するのに役立ちます。
5. データの品質(Data Quality)