機械学習アルゴリズム入門シリーズのパート1
機械学習と基本的なアルゴリズムに精通している場合現場で使用されている場合は、おそらくk最近傍アルゴリズム(KNN)について聞いたことがあるでしょう。このアルゴリズムは、機械学習で使用される最も単純な手法の1つです。使いやすさと計算時間の短さから、業界の多くの人に好まれている方法です。
KNNとは何ですか? KNNは、データポイントに最も類似しているポイントに基づいてデータポイントを分類するモデルです。テストデータを使用して、分類されていないポイントをどのように分類するかについて「知識に基づいた推測」を行います。
長所:
- 使いやすい。
- 迅速な計算時間。
- データについての仮定を行いません。
短所:
- 精度はデータの品質に依存しますデータ。
- 最適なk値(最近傍の数)を見つける必要があります。
- 何らかの方法で分類できる境界内のデータポイントの分類が不十分です。
KNNは、ノンパラメトリックであり、怠惰な例と見なされるアルゴリズムです。学習。これらの2つの用語は正確にはどういう意味ですか?
- ノンパラメトリックとは、仮定を行わないことを意味します。モデルは、構造が正常であると仮定するのではなく、与えられたデータから完全に構成されます。
- 怠惰な学習とは、アルゴリズムが何もしないことを意味しますneralizations。これは、この方法を使用するときに必要なトレーニングがほとんどないことを意味します。このため、すべてのトレーニングデータは、KNNを使用する場合のテストでも使用されます。
KNNの使用場所
KNNは、単純なレコメンデーションシステムでよく使用されます。認識技術、および意思決定モデル。これは、NetflixやAmazonなどの企業が、視聴するさまざまな映画や購入する本を推奨するために使用するアルゴリズムです。 NetflixはNetflixプライズコンペティションを開始し、最も正確なレコメンデーションアルゴリズムを作成したチームに100万ドルを授与しました!
「しかし、これらの企業はこれをどのように行っているのか」と疑問に思われるかもしれません。これらの企業は、あなたが見た映画やWebサイトで購入した本について収集したデータセットに、KNNを適用します。次に、これらの企業は、利用可能な顧客データを入力し、同様の映画を見た他の顧客と比較します。または類似の本を購入しました。このデータポイントは、KNNを使用した過去に基づいて特定のプロファイルとして分類されます。推奨される映画と本は、アルゴリズムがそのデータポイントを分類する方法によって異なります。
上の画像は、特定のデータセットに基づいてデータポイントを分類しようとしたときにKNNがどのように機能するかを視覚化したものです。最も近いポイントと比較されます。ここでは、ポイントXjが、ポイントの各グループからの距離に基づいて、W1(赤)またはW3(緑)のいずれかに分類されることがわかります。
The Ma KNNの背後にあるテーマ
他のほとんどすべてと同じように、KNNは、深く根付いた数学的理論を使用しているため、機能します。 KNNを実装する場合、最初のステップは、データポイントを特徴ベクトルまたはその数学的値に変換することです。次に、アルゴリズムは、これらのポイントの数学的値の間の距離を見つけることによって機能します。この距離を見つける最も一般的な方法は、以下に示すように、ユークリッド距離です。
KNNはこの式を実行して、各データポイントとテストデータ間の距離を計算します。次に、これらのポイントがテストデータに類似している確率を見つけ、どのポイントが最も高い確率を共有するかに基づいて分類します。
この式を視覚化すると、次のようになります。
結論
これで、最も基本的な機械学習アルゴリズムの1つの基礎がわかりました。 。さまざまなデータセットに基づいてモデルを構築することを最初に学ぶときに始めるのに最適な場所です。さまざまなポイントと正確な情報を含むデータセットがある場合、これはKNNを使用した機械学習の調査を開始するのに最適な場所です。
このアルゴリズムの使用を開始する場合は、次の3つのポイントに注意してください。
- まず、操作しやすいデータセットを見つけます。理想的には、さまざまなポイントとラベル付きデータがたくさんあるデータセットを見つけます。
- 次に、どの言語になるかを判断します。問題を解決するために使用するのが最も簡単です。私はRでのKNNの使用に最も精通していますが、Pythonは機械学習の専門家にも人気のある言語です。
- 第3に、調査を行います。データセットから最も正確な結果を見つけるには、このアルゴリズムを使用するための正しい方法を学ぶことが重要です。
このアルゴリズムを改善する方法についてさまざまな研究が行われています。これらの研究は、より正確な分類を行うために、カテゴリを異なる方法で重み付けできるようにすることを目的としています。これらのカテゴリの重み付けは、距離の計算方法によって異なります。
結論として、これは、使いやすさや計算時間の短縮など、さまざまな理由で信頼できる基本的な機械学習アルゴリズムです。機械学習の世界を探索し始めるときに使用するのに適したアルゴリズムですが、それでも改善と修正の余地があります。