初心者のための機械学習チュートリアル: ML の基礎とは

⚡ スマートサマリー

機械学習とは、明示的にコード化するのではなく、事例から改善していくコンピュータアルゴリズムの一種であり、データと統計ツールを組み合わせて、人々が実行可能な意思決定に活用できる出力を予測する。

  • 🔘 ルールは書かれるものではなく、学ぶものだ。 従来のプログラミングではすべてのルールを手作業でコーディングするのに対し、モデルでは入力と出力のペアからルールを導き出す。
  • ☑️ 2つの段階: 学習はパターンを発見し、それをモデルにまとめる。推論はそのモデルを未知のデータに適用する。
  • ✅ 大きく分けて2つの家族: 教師あり学習にはラベル付きの出力が必要ですが、教師なし学習はラベルなしで構造を見つけ出します。
  • 🧪 アルゴリズムの選択は、以下の目的に従う。 回帰分析は連続値を予測し、分類はラベルを割り当て、クラスタリングは類似したレコードをグループ化する。
  • 🛠️ データこそが真の制約要因である。 データが少なすぎたり、データに多様性がなかったりすると、一般化できないモデルが生成される。
  • ⚙️ 成果が上がるポイント: 銀行における不正検出、医療における画像検出、サプライチェーン全体における需要予測。

機械学習入門チュートリアル:機械学習の基礎

機械学習とは何ですか?

機械学習 は、プログラマーが明示的にコーディングすることなく、自己改善を通じて例から学習できるコンピュータアルゴリズムのシステムです。機械学習は、 人工知能 これは、データと統計ツールを組み合わせて、実用的な洞察を得るために使用できる出力を予測するものです。

この画期的な進歩は、機械がデータ(例)から自ら学習して正確な結果を生成できるという考えに基づいています。機械学習は、 データマイニング そしてベイズ予測モデリング。この機械は入力データを受け取り、アルゴリズムを用いて回答を導き出す。

典型的な機械学習タスクは、レコメンデーションを提供することです。 Netflix アカウントでは、映画やシリーズのおすすめはすべてユーザーの過去のデータに基づいています。テクノロジー企業は、 教師なし学習 おすすめ情報をパーソナライズすることで、ユーザーエクスペリエンスを向上させる。

機械学習は、不正検出、予知保全、ポートフォリオ最適化、タスク自動化など、さまざまなタスクにも利用されています。

機械学習と従来のプログラミングの比較

従来のプログラミングは、機械学習とは大きく異なります。従来のプログラミングでは、プログラマーはソフトウェア開発対象業界の専門家と相談しながら、すべてのルールをコーディングします。各ルールは論理的な基盤に基づいており、機械は論理式に従って出力を生成します。システムが複雑化するにつれて、記述するルールの数が増え、維持管理が困難になる場合があります。下の図は、データと手書きのルールが入力され、結果が出力される流れを示しています。

従来のプログラミングの流れ:データと手書きのルールが出力を生成する
従来のプログラミング

機械学習は、この問題を克服するために開発されました。機械は入力データと出力データの相関関係を学習し、ルールを自動的に生成します。プログラマーは、新しいデータが発生するたびに新しいルールを作成する必要はありません。アルゴリズムは新しいデータと経験に応じて適応し、時間の経過とともに効率性を向上させます。2番目の図は最初の図を反転させたもので、データと既知の回答が入力され、ルールが出力されます。

機械学習の流れ:データと既知の回答を組み合わせることでルールが生成される

機械学習

機械学習はどのように機能するのでしょうか?

こうした対比を踏まえると、次の疑問は、学習段階の内部で実際に何が起こるのかということである。

機械学習は、あらゆる学習が行われる脳のようなものです。機械の学習方法は、人間の学習方法とよく似ています。人間は経験から学びます。知識が多ければ多いほど、予測しやすくなります。同様に、未知の状況に直面した場合、既知の状況よりも成功の​​可能性は低くなります。機械も同じように訓練されます。正確な予測を行うために、機械は例を見ます。機械に類似の例を与えると、結果を予測できます。しかし、人間と同じように、これまで見たことのない例を与えられると、機械は予測が難しくなります。

機械学習の核心的な目的は、学習と推論です。まず、機械はパターンの発見を通して学習し、その発見はデータによって可能になります。データサイエンティストの仕事の重要な部分の一つは、機械に提供するデータを慎重に選択することです。問題を解決するために使用される属性のリストは、 特徴ベクトル特徴ベクトルは、問題を解決するために使用されるデータのサブセットと考えることができます。

この機械はアルゴリズムを用いて現実を単純化し、この発見をモデルへと変換します。したがって、学習段階は、以下に示すように、データを記述し、それをモデルに要約するために使用されます。

学習段階:トレーニングデータがアルゴリズムを通過してモデルが構築される

例えば、この機械は個人の賃金と高級レストランに行く可能性との関係を理解し​​ようとしています。結果として、賃金と高級レストランに行く可能性の間には正の相関関係があることが分かりました。これがモデルです。

推測する

モデルが構築されたら、これまで見たことのないデータでその性能をテストすることができます。新しいデータは特徴ベクトルに変換され、モデルを通して予測結果が出力されます。これが機械学習の真価を発揮する部分です。ルールを更新したり、モデルを再度トレーニングする必要はありません。下の図に示すように、以前にトレーニングしたモデルを使って新しいデータに対して推論を行うことができます。

推論段階:新しいデータが学習済みモデルを通過し、予測結果が出力されます。

機械学習プログラムのライフサイクルは単純明快で、以下の点に要約できます。

  1. 質問を定義する
  2. データを収集します
  3. データを視覚化する
  4. トレーニングアルゴリズム
  5. アルゴリズムをテストする
  6. フィードバックを集める
  7. アルゴリズムを改良する
  8. 結果が満足いくものになるまで、手順4~7を繰り返してください。
  9. モデルを使用して予測を行う

アルゴリズムが適切な結論を導き出すのが上手になると、その知識を新しいデータセットに適用します。

機械学習 Algorithms どこで使用されますか?

以下の表は、最も一般的なアルゴリズムを、解決するタスクの種類別に分類したものです。

機械学習アルゴリズムは、教師あり学習と教師なし学習に分類される。

機械学習 Algorithms

機械学習は大きく分けて2つの学習タスクに分類できます。 監督 (NAIST) と 監督されないそれらの間、そしてその先に位置するのが、小さなラベル付きデータセットと大きなラベルなしデータセットを混合する半教師あり学習と、 強化学習エージェントがラベル付けされた回答からではなく、報酬から学習する場合。

教師あり学習

アルゴリズムは、訓練データと人間からのフィードバックを用いて、与えられた入力と与えられた出力の関係を学習します。例えば、実務家はマーケティング費用と天気予報を入力データとして使用して、缶の売上を予測することができます。

あなたが使用することができます 教師あり学習 出力データが既知の場合、アルゴリズムは新しいデータに基づいて予測を行います。

指導付き学習には2つのカテゴリーがあります。

  • 分類タスク
  • 回帰タスク

欠陥種類の識別

CMの顧客の性別を予測したいと想像してみてください。まず、顧客データベースから身長、体重、職業、給与、購入履歴などのデータを収集します。各顧客の性別は分かっており、男性か女性のどちらかです。分類器の目的は、収集した情報(特徴量)に基づいて、男性か女性かの確率(ラベル)を割り当てることです。モデルが男性か女性かを認識する方法を学習したら、新しいデータを使用して予測を行うことができます。たとえば、未知の顧客から新しい情報を受け取ったばかりで、その顧客が男性か女性かを知りたいとします。分類器が男性=70%と予測した場合、アルゴリズムはこの顧客が男性である確率が70%、女性である確率が30%であることを意味します。

ラベルには2つ以上のクラスが含まれる場合があります。上記の機械学習の例ではクラスは2つだけですが、分類器がオブジェクトを予測する必要がある場合は、数十のクラスが含まれる可能性があります(例:グラス、テーブル、靴など、各オブジェクトが1つのクラスを表します)。

不具合

出力が連続値である場合、そのタスクは回帰分析となります。例えば、金融アナリストは、株式、過去の株価実績、マクロ経済指標など、さまざまな要素に基づいて株価を予測する必要があるかもしれません。システムは、可能な限り誤差の少ない株価を推定するように学習されます。

以下の表は、最もよく目にする教師あり学習アルゴリズムと、それぞれが適しているタスクを示しています。

アルゴリズム 詳細説明 タイプ
線形回帰 各特徴を出力に関連付けて、将来の値の予測に役立てる方法を見つけます。 不具合
ロジスティック回帰 分類タスクに使用される線形回帰の拡張。出力変数は連続変数(例えば、無限に存在する可能性のある色)ではなく、二値変数(例えば、黒または白のみ)である。 欠陥種類の識別
決定木 最終的な決定出力が行われるまで、データ特徴値を決定ノードで分岐に分割する、解釈性の高い分類または回帰モデル (たとえば、特徴が色の場合、考えられる各色が新しい分岐になります) 不具合
欠陥種類の識別
ナイーブベイズ ベイジアン法とは、ベイズの定理を利用した分類方法です。 定理は、イベントに影響を与える可能性のある各特徴の独立した確率を使用して、イベントの事前知識を更新します。 不具合
欠陥種類の識別
サポートベクターマシン サポートベクターマシン(SVM)は、一般的に分類タスクに用いられます。SVMアルゴリズムは、クラスを最適に分割する超平面を見つけ出します。非線形ソルバーと組み合わせて使用​​するのが最適です。 回帰(あまり一般的ではありません)
欠陥種類の識別
ランダムフォレスト このアルゴリズムは、精度を大幅に向上させるために決定木に基づいて構築されています。ランダムフォレストは多数の単純な決定木を生成し、「多数決」方式を用いてどのラベルを返すかを決定します。分類タスクの場合、最終的な予測は最も多くの票を獲得したものになります。回帰タスクの場合、すべての決定木の平均予測が最終的な予測となります。 不具合
欠陥種類の識別
アダブースト 決定を下すために多数のモデルを使用し、結果を予測する精度に基づいてモデルを重み付けする分類または回帰手法 不具合
欠陥種類の識別
勾配ブーストツリー 勾配ブースティングツリーは、最先端の分類・回帰手法です。これは、前のツリーが犯したエラーに焦点を当て、それを修正しようとします。 不具合
欠陥種類の識別

教師なし学習

教師なし学習では、アルゴリズムは明示的な出力変数を与えられずに入力データを探索します(例えば、顧客の人口統計データを探索してパターンを特定します)。

データの分類方法がわからない場合や、アルゴリズムにパターンを見つけてデータをグループ化させたい場合に利用できます。主な教師なし学習アルゴリズムを以下にまとめます。

アルゴリズム名 詳細説明 タイプ
K-はクラスタリングを意味します データをいくつかのグループ (k) に分類し、各グループに類似の特性 (人間による事前ではなくモデルによって決定される) を持つデータが含まれるようにします。 Clusterる
混合ガウスモデル グループ(クラスター)のサイズと形状に柔軟性を持たせた、k-means クラスタリングの一般化 Clusterる
階層的クラスタリング 階層ツリーに沿ってクラスターを分割し、分類システムを形成します。ロイヤルティカードの顧客をクラスタリングするのに使用できます。 Clusterる
レコメンダーシステム 推奨事項を作成するために必要な関連データを定義するのに役立ちます。 Clusterる
PCA/t-SNE 主にデータの次元を減らすために使用されます。アルゴリズムは、特徴の数を、最も分散の高い 3 つまたは 4 つのベクトルに減らします。 次元削減

機械学習アルゴリズムの選択方法

機械学習アルゴリズムは数多く存在し、アルゴリズムの選択は流行ではなく目的によって決定される。

以下の機械学習の例では、3種類の花の中から種類を予測することが課題です。予測は花びらの長さと幅に基づいて行われます。図は10種類の異なるアルゴリズムの結果を示しています。左上の図はデータセット自体で、データは赤、水色、濃紺の3つのカテゴリに分類されています。ping違いがはっきりと分かります。例えば、2枚目の画像では、左上の部分はすべて赤色のカテゴリに属し、中央部分は不確実性と水色が混在しており、下部は濃い色のカテゴリに対応しています。他の画像は、異なるアルゴリズムが同じデータをどのように分類しようとしているかを示しています。

同じ3クラスの花データセットで10個のアルゴリズムを比較した。

候補者が選ばれると、通常はこれまで見たことのないデータに基づいてその品質が評価されます。 混同行列 そして、そこから導き出される精度、正確度、再現率の数値。

機械学習の課題と限界

機械学習の主な課題は、データの不足、あるいはデータセット内の多様性の欠如です。データがなければ、機械は学習できません。多様性に欠けるデータセットも機械にとって困難です。なぜなら、機械は意味のある洞察を学習するために異質性を必要とするからです。アルゴリズムが例外なく学習できることは稀です。trac変動がほとんどない、またはまったくない場合は、情報が不足します。一般的な目安としては、機械学習を支援するために、グループごとに少なくとも20個の観測値を用意することです。それ以下では、評価と予測の両方に悪影響が出ます。

データ量だけが制約ではありません。偏った過去の記録に基づいて訓練されたモデルは、その偏りを再現し、複雑なモデルは規制当局や顧客に説明しにくく、また、訓練に使用された世界が変化するにつれて、どのモデルも性能が低下します。

機械学習の応用

上記の手法は、すでにほとんどの業界で実運用されています。以下の例では、一般的な支援から特定の分野への応用へと展開していきます。

増強: 機械学習は、出力結果を完全に制御することなく、個人またはビジネスにおける日々の業務を人間が支援する。このような機械学習は、仮想アシスタント、データ分析、ソフトウェアソリューションなど、さまざまな方法で利用されている。その主な目的は、人間の偏見によって引き起こされるエラーを減らすことである。

オートメーション: 機械学習は、人間の介入を必要とせず、あらゆる分野で完全に自律的に機能します。例えば、製造工場ではロボットが重要な工程を実行します。

金融業界: 機械学習は金融業界で人気が高まっている。銀行は主にデータ内のパターンを見つけるために機械学習を利用しているが、不正行為の防止にも活用している。

政府機関: 政府は、公共の安全と公共サービスを管理するために機械学習を利用しています。中国の大規模な顔認識プログラムを例にとると、 人工知能アプリケーション これらは、信号無視をする歩行者を特定するために使用されます。

ヘルスケア業界: 医療業界は、画像検出を皮切りに、機械学習をいち早く活用した業界の一つである。

マーケティング: データへのアクセスが容易になったことで、マーケティング分野ではAIが広く活用されるようになった。データ量が爆発的に増加する以前は、研究者たちは顧客価値を推定するためにベイズ分析などの高度な数学的手法を開発していた。データ量が急増するにつれ、マーケティング部門は顧客関係やマーケティングキャンペーンを最適化するためにAIを活用するようになった。

サプライチェーンにおける機械学習の事例

機械学習は視覚的なパターン認識において優れた結果を示しており、サプライチェーンネットワーク全体における物理的な検査やメンテナンスなど、多くの潜在的な応用分野を開拓している。

教師なし学習は、多様なデータセットの中から類似のパターンを迅速に検索できます。その結果、機械は物流拠点全体で品質検査を実施し、損傷や摩耗のある出荷品を特定することができます。

例えば、 IBMWatsonプラットフォームは船舶を判定できますping コンテナの損傷。Watson は視覚データとシステムベースのデータを組み合わせて track、リアルタイムで報告と提言を行います。

従来、在庫管理者は在庫の評価と予測に手作業による方法に大きく依存していました。しかし、ビッグデータと機械学習を組み合わせることで、より精度の高い予測手法が可能になり、従来の予測ツールに比べて20~30%の改善が報告されています。売上面では、在庫コストの削減により、2~3%の増加が見込まれます。

機械学習の例 Google 送迎サービス

誰もが知っている Google この車は、ルーフにレーザーが搭載されており、周囲の状況に対する自車の位置を把握します。また、フロントにはレーダーが搭載されており、周囲の車の速度や動きを感知します。これらのデータはすべて、自車の運転方法だけでなく、周囲のドライバーの行動予測にも利用されます。驚くべきは、この車が毎秒約1ギガバイトものデータを処理できる点です。

自動運転車のセンサーが機械学習モデルにリアルタイムでデータを提供する

機械学習が重要なのはなぜですか?

機械学習は、データの分析、理解、パターン特定において、現時点で最も優れたツールです。機械学習の根底にある考え方の一つは、人間にとって骨の折れる、あるいは不可能な作業をコンピュータに自動化させるように訓練できるということです。従来の分析手法との明確な違いは、機械学習は人間の介入を最小限に抑えながら意思決定を行うことができる点にあります。

例えば、不動産仲介業者は、自身の経験と市場に関する知識に基づいて、住宅の価格を推定することができます。

機械は、専門家の知識を特徴量に変換するように訓練することができる。特徴量とは、住宅、近隣環境、経済状況など、価格の変動要因となるあらゆる特性のことである。専門家にとって、住宅価格を査定する技術を習得するには何年もかかるだろうし、その専門知識は売買取引を重ねるごとに向上していく。

機械がこの技術を習得するには、数百万ものデータポイント(つまり、事例)が必要です。学習の初期段階では、駆け出しの営業担当者と同じように、機械も間違いを犯します。しかし、十分な事例を学習すると、機械は推定を行うのに十分な知識を習得し、高い精度で推定を行うことができるようになります。また、新たな販売案件が発生すると、機械は自らの間違いを修正することも可能です。

ほとんどの大企業は、機械学習とデータ保有の価値を理解している。マッキンゼー・グローバル・インスティテュートは、すべての分析技術の年間価値を9.5兆ドルから15.4兆ドルと推定し、そのうち約40%(年間約3.5兆ドルから5.8兆ドル)は、ディープニューラルネットワークに基づく高度なAI技術によるものだとしている。 AIフロンティアからの報告 研究。

ルールは存在するが不明確であり、存在しないわけではない場合、ルールベースのアプローチでは、 ファジーロジック 学習済みモデルよりも適している場合もあるため、プロジェクト開始前にこの2つの手法が比較されることが多い。

よくあるご質問

半教師あり学習は、少量のラベル付きデータセットと大量のラベルなしデータセットを用いて学習を行うため、ラベル付けにコストがかかる場合に役立ちます。 強化学習 ラベルは一切ありません。エージェントが行動し、報酬または罰則を受け取り、何度も試行錯誤を繰り返しながら方針を調整します。

これらは入れ子構造になっています。人工知能は機械のような知能の最も広い目標であり、機械学習はデータから学習するサブセットであり、 深い学習 は、多層ニューラルネットワークに基づいて構築された機械学習のサブセットです。

過学習とは、モデルが訓練データセット(ノイズを含む)を記憶してしまい、新しいデータに対して機能しなくなる現象です。交差検証、より単純なモデル、正則化、早期停止ping そして、訓練例をさらに挙げることが、いつもの防御策だ。

モデルは、適合させたデータ行では常に高いスコアを出すため、そのスコアは何の証明にもなりません。テストセット(多くの場合、チューニング用の検証セットも別途用意する)を用意しておくことこそが、モデルがこれまで見たことのないデータに対するパフォーマンスを正直に評価する唯一の方法です。

基本的な統計学と確率論、ベクトルと行列レベルの線形代数、そして1つのスクリプト言語の習熟度が必要です。最初は高度な数学よりも実践的なデータ処理が重要なので、実際のデータセットのクリーニングと分析が最初の練習として最適です。

Python 古典的なモデルにはscikit-learnを使用し、 TensorFlow または PyTorニューラルネットワーク用のch。 R 統計モデリングと可視化においては依然として強力なツールである一方、トレーニングデータ自体を取得するにはSQLが不可欠である。

予測モデルは、与えられた入力に対してラベルまたは数値を出力します。生成モデルは、データの分布を学習し、そこからテキスト、画像、コードなどの新しいサンプルを生成します。どちらもデータに基づいて学習されますが、精度のみで評価されるのは一方のみです。

GitHubコパイロット データセットの読み込み、分割、推定量の適合、結果のプロットといっ​​た定型文を素早く作成します。 Revすべての提案を確認してください。もっともらしく見えるパイプラインでも、テストデータがトレーニングに漏れ込み、スコアを水増ししてしまう可能性があるからです。