データ分野では、多くの人が機械学習について語っていますが、それが何であるかを明確に説明できる人はごくわずかです。インターネット上の機械学習に関する記事のほとんどは、さまざまな定理が詰まった分厚い学術三部作(定理の半分も理解できないほどです)か、人工知能、データサイエンスの魔法、仕事の未来に関する素晴らしい物語です。 実際のデータ分析業務で機械学習を活用する機会は本当に多くありませんが、それでもデータ分析実務者に求められるスキルの一つだと思うので、本日の記事では主に機械学習について学びたい方向けに簡単に紹介します。高度な原理は扱いませんが、簡単な言葉を使って現実世界の問題と実用的な解決策について説明します。プログラマーでもマネージャーでも理解できます。 機械学習とは何かを理解する方法物語はこうです。ビリーは車を買いたいと思っており、それを買うために毎月いくら貯金する必要があるかを計算したいと思っています。ネットで何十もの広告を閲覧した後、彼は新車の値段が約2万ドル、1年落ちの中古車が1万9000ドル、2年落ちの車が1万8000ドルなどであることを知りました。 賢いアナリストであるビリーは、車の価格は年数によって決まるというパターンを発見しました。年数が経つごとに価格は 1,000 ドル下がりますが、10,000 ドル未満になることはありません。 機械学習の用語で言えば、ビリーは「回帰」、つまり既知の履歴データに基づいて価値(価格)を予測する手法を発明しました。人々が eBay で中古の iPhone の適正価格を見積もったり、バーベキュー パーティーに何本のリブを用意すればよいかを計算したりするとき、彼らはビリーズと似た方法を使っています - 1 人あたり 200g? 500g? 私たちは皆、世界のすべての問題を解決する簡単な公式があればいいのにと思っていますが、明らかにこれは不可能です。 車を買う状況に戻りましょう。今の問題は、車の年式に加えて、製造日が異なり、付属品が数十種類あり、技術的条件があり、季節的な需要変動があるということです...他にどんな隠れた要因があるかは神のみぞ知る...普通の人ビリーは、価格を計算するときにこれらすべてのデータを考慮することはできませんし、私もできません。 彼らに代わって計算を行うロボットが必要です。そこで、私たちはコンピューターのアプローチを採用しました。つまり、機械にデータを与えて、価格に関連するすべての根本的なパターンを解明させるのです。すると、機械は、頭の中ですべての依存関係を分析する実際の人間よりもはるかにうまく処理できます。こうして、機械学習が誕生したのです。 機械学習の3つの要素人工知能 (AI) に関連するすべてのナンセンスはさておき、機械学習の唯一の目的は、入力データに基づいて結果を予測することです。すべての機械学習タスクはこのように表現できますが、そうでなければ最初から機械学習の問題ではありません。 サンプルが多様であればあるほど、関連するパターンを見つけて結果を予測しやすくなります。したがって、マシンをトレーニングするには 3 つの部分が必要です。 データスパムを検出したいですか?スパムのサンプルを入手します。株価を予測したいですか?過去の価格情報を検索します。ユーザーの好みを知りたいですか?彼らの Facebook アクティビティを分析します (いいえ、マーク、データ収集はやめてください。もう十分です)。データの多様性が増すほど、結果は良くなります。フルスピードで稼働しているマシンの場合、少なくとも数十万行のデータが必要です。 データを取得するには、手動と自動の 2 つの主な方法があります。手動で収集されたデータはエラーが発生しにくくなりますが、時間がかかり、コストも高くなることがよくあります。自動化された方法は比較的安価であり、見つけられるデータ(できれば高品質のデータ)を何でも収集できます。 Google のような賢い人たちは、ユーザーを利用して無料でデータに注釈を付けています。ReCaptcha (人間と機械の認証) で「すべての道路標識を選択する」ように強制されたのを覚えていますか?彼らはこのようにデータを入手しており、それは無料の労働です。よくやった。もし私が彼らだったら、こうした検証画像をもっと頻繁に表示するだろうが、ちょっと待ってください... 良質なデータセットを見つけるのは本当に難しく、それらは非常に重要であるため、一部の企業はアルゴリズムをオープンソース化しても、データセットを公開することはほとんどありません。 特徴車の走行距離、ユーザーの性別、株価、文書内の単語の出現頻度など、「パラメータ」や「変数」と呼ばれることもあります。言い換えれば、これらは機械が考慮する必要がある要素です。 データがテーブルに格納されている場合、特徴は列名に対応します。これは単純なケースです。しかし、猫の写真が 100GB あったらどうでしょうか?すべてのピクセルを特徴として扱うことはできません。このため、適切な特徴を選択する作業は、機械学習の他のどのステップよりも時間がかかることが多く、大きなエラーの原因にもなります。人間の本性にある主観的な傾向により、人々は自分が好む機能や「より重要」だと感じる機能を選択することになりますが、これは避ける必要があります。 アルゴリズム最も明白な部分。どんな問題もさまざまな方法で解決できます。選択した方法によって、最終モデルの精度、パフォーマンス、サイズが影響を受けます。注意すべき点が 1 つあります。データの品質が悪ければ、最高のアルゴリズムでも役に立ちません。これは「garbae in - garbage out (GIGO)」と呼ばれます。したがって、精度を正しくするために多くの考慮を払う前に、より多くのデータを取得する必要があります。 概念上の区別機械学習は、人工知能やニューラルネットワークなどと混同されることが多いですが、両者には大きな違いがあります。簡単な一般知識をいくつかお伝えしましょう。
古典的な機械学習アルゴリズムインターネット企業の半数がニューラル ネットワークを研究しており、大手テクノロジー企業の多くがニューラル ネットワークを好んでいます。その理由は明らかです。これらの大手企業にとって、精度が 2% 向上すると、収益が 20 億ドル増加することを意味します。しかし、会社の事業規模が小さい場合には、それほど重要ではありません。あるチームが 1 年かけて電子商取引 Web サイト用の新しい推奨アルゴリズムを開発しましたが、後になって Web サイトのトラフィックの 99% が検索エンジンから来ていることがわかったそうです。彼らが考案したアルゴリズムは役に立たず、結局ほとんどのユーザーはホームページを開くことすらしませんでした。 広く使用されているにもかかわらず、古典的なアルゴリズムは実は非常に単純であり、幼児にも簡単に説明できます。これらは基本的な算数のようなもので、私たちは何も考えずに毎日使っています。以下に、いくつかの古典的な機械学習アルゴリズムを示します。 1.1 教師あり学習従来の機械学習は通常、教師あり学習と教師なし学習の 2 つのカテゴリに分けられます。 「教師あり学習」では、写真が猫なのか犬なのかといった学習を支援するために機械にすべての答えを提供する「教師」または「監督者」が存在します。 「教師」はすでにデータセットを「猫」または「犬」として分類しており、機械はこのサンプルデータを使用して、猫と犬を 1 匹ずつ区別する方法を学習します。 教師なし学習とは、機械が動物の写真の山から誰が誰であるかを判別する作業を任されることを意味します。データには事前にラベルが付けられておらず、「教師」もいません。機械は自分ですべての可能なパターンを見つけなければなりません。これらについては後で説明します。 明らかに、機械は「教師」が存在するとより速く学習するため、実生活では教師あり学習がより一般的に使用されています。教師あり学習は 2 つのカテゴリに分けられます。
分類「靴下を色で分類したり、文書を言語で分類したり、音楽をスタイルで分類するなど、既知の属性に基づいてオブジェクトを分類します。」 分類アルゴリズムは次のような場合によく使用されます。
よく使用されるアルゴリズム:ナイーブベイズ、決定木、ロジスティック回帰、K近傍法、サポートベクターマシン 機械学習は主に「分類」の問題を解決します。機械は、おもちゃを分類することを学んでいる赤ちゃんのようなものです。これは「ロボット」、これは「車」、これは「機械車」… ああ、待ってください、それは違います!間違い! 分類タスクでは、「教師」が必要です。機械がラベルに基づいて分類することを学習できるように、データには事前にラベルを付ける必要があります。すべてを分類できます。ユーザーは興味に基づいて、記事は言語と主題に基づいて(検索エンジンにとって重要)、音楽はジャンルに基づいて(Spotify プレイリスト)、メールも例外ではありません。 ナイーブベイズアルゴリズムはスパムフィルタリングに広く使用されています。機械は、スパムメールと通常のメールにおける「バイアグラ」などの単語の出現頻度を数え、ベイズ方程式を適用してそれぞれの確率を掛け合わせ、結果を合計します。これで機械は学習を完了したことになります。 その後、スパマーは、メールの末尾に「良い」単語をたくさん追加することでベイジアン フィルターを回避する方法を学びました。この手法は皮肉を込めて「ベイジアン ポイズニング」と呼ばれるようになりました。ナイーブベイズは、最もエレガントで最初の実用的なアルゴリズムとして歴史に名を残していますが、スパムフィルタリングの問題に取り組むアルゴリズムは他にもあります。 分類アルゴリズムの別の例を見てみましょう。
このデータを使用することで、機械がパターンを見つけて答えを導き出すようにトレーニングすることができます。答えを見つけることは問題ではありません。問題は、銀行が機械が出した答えを盲目的に信頼できないことです。システムが故障したり、ハッキングされたり、酔った卒業生がシステムに緊急パッチを適用したりしたらどうなるでしょうか? この問題に対処するには、決定木を使用する必要があります。決定木は、すべてのデータを「借り手の収入は 128.12 ドルを超えているか?」などの「はい/いいえ」の質問に自動的に分割しますが、これは少し非人間的に聞こえます。ただし、マシンは各ステップでデータを最適に分割するためにこのような問題を生成します。 こうして「木」が誕生したのです。ブランチが上位になるほど(ルート ノードに近づくほど)、問題の範囲は広くなります。すべてのアナリストは、このアプローチを受け入れて、後で説明することができます。たとえアルゴリズムが何であるかを知らなくても、結果を簡単に説明することができます (典型的なアナリスト)。 決定木は、診断、医療、金融など、責任の重いシナリオで広く使用されています。
現在、純粋な決定木アルゴリズムはほとんど使用されていません。ただし、決定木はより大規模なシステムの構成要素であり、決定木の集合体はニューラル ネットワークよりも優れたパフォーマンスを発揮できます。これについては後で話します。 Google で検索すると、答えを見つけるのに役立つ不器用な木の集まりが表示されます。検索エンジンは、このタイプのアルゴリズムが高速に実行されるため好みます。 論理的に言えば、サポートベクターマシンが最も人気のある分類方法であるはずです。写真内の植物を形状別に分類したり、文書を種類別に分類するなど、存在するあらゆるものを分類するために使用できます。 SVM の背後にある考え方は単純です。データ ポイント間に 2 本の線を引き、2 本の線の間の距離を可能な限り最大化しようとします。以下のように表示されます。 分類アルゴリズムには非常に便利なシナリオがあります -異常検出です。特徴をすべてのカテゴリに割り当てることができない場合は、それをマークします。このアプローチは現在、医療分野で使用されています。MRI(磁気共鳴画像)では、コンピューターが検出範囲内のすべての疑わしい領域または逸脱をマークします。株式市場では、インサイダーを見つけるためにトレーダー間の異常な行動を検出するためにこれを使用します。コンピュータに何が正しいかを認識させるようにトレーニングすると、何が間違っているかも自動的に認識させることになります。 経験則としては、データが複雑になればなるほど、アルゴリズムも複雑になります。テキスト、数値、表などのデータについては、古典的な方法を選択して操作します。これらのモデルはより小さく、より速く学習し、よりクリーンなワークフローを備えています。画像、ビデオ、その他の複雑なビッグデータについては、ニューラル ネットワークを検討することをお勧めします。 わずか 5 年前には、SVM に基づく顔分類器が存在していました。数百の事前トレーニング済みニューラル ネットワーク モデルからモデルを選択するのが簡単になりました。ただし、スパム フィルターはあまり変更されていません。依然として SVM を使用して記述されており、これを変更する理由はありません。私のウェブサイトでも、コメント内のスパムをフィルタリングするために SVM ベースのフィルタリングを使用しています。 回帰「これらの点を通る線を引きます。それが機械学習です。」 回帰アルゴリズムは現在、以下の目的で使用されています。
一般的な回帰アルゴリズムには、線形回帰、多項式回帰などがある。 「回帰」アルゴリズムは、カテゴリではなく数値を予測する点を除いて、本質的には「分類」アルゴリズムです。たとえば、走行距離に基づいて車の価格を予測したり、一日のさまざまな時間帯の交通量を見積もったり、会社の成長に伴って供給がどのように変化するかを予測したりします。時間関連のタスクを扱う場合、回帰アルゴリズムが最適な選択です。 回帰アルゴリズムは、金融業界や分析業界で働く人々に好まれています。これは Excel に組み込まれた機能でもあり、プロセスはシームレスです。機械は平均相関を表す線を描画しようとするだけです。しかし、ペンとホワイトボードを使う人間とは異なり、機械は各点と線の間の平均距離を計算することで、数学的な精度でこれを実行します。 描いた線が直線であれば「線形回帰」、曲線であれば「多項式回帰」となります。これらは回帰の 2 つの主なタイプです。他のタイプはあまり一般的ではありません。ロジスティック回帰の「厄介者」に騙されないでください。これは回帰ではなく分類アルゴリズムです。 ただし、「回帰」と「分類」を混同しても問題ありません。一部の分類器は、パラメータを調整すると回帰になります。オブジェクトのカテゴリを定義することに加えて、オブジェクトがそのカテゴリにどれだけ近いかも覚えておく必要があり、これが回帰問題につながります。 クラスタリング「機械は、未知の特徴に基づいて物事を区別する最善の方法を選択します。」 クラスタリング アルゴリズムは現在、次の目的で使用されています。
一般的なアルゴリズム: K-means クラスタリング、Mean-Shift、DBSCAN クラスタリングは、事前にカテゴリにラベルを付けずにカテゴリを分割するプロセスです。靴下の色をすべて覚えていなくても、靴下を分類できるようなものです。クラスタリング アルゴリズムは、(特定の特性に基づいて) 類似するものを見つけ、それらをクラスターにグループ化します。多くの類似した特徴を持つオブジェクトはグループ化され、同じカテゴリに分類されます。一部のアルゴリズムでは、各クラスター内のデータ ポイントの正確な数を設定することもできます。 クラスタリングを示す良い例として、オンライン マップ上のマーカーを示します。周辺のベジタリアン レストランを検索すると、クラスタリング エンジンによってそれらのレストランがグループ化され、数字の付いたバブルとして表示されます。これを行わないと、この流行の街にある 300 軒のビーガン レストランすべてをマップしようとするときにブラウザがフリーズしてしまいます。 分類アルゴリズムと同様に、クラスタリングを使用して異常を検出できます。ユーザーがログインした後に異常な動作はありますか?マシンで彼のアカウントを一時的に無効にし、チケットを作成して、サポートに何が起こっているか確認してもらいます。もしかしたら相手は「ロボット」なのかもしれません。 「通常の行動」がどのようなものかを知る必要すらありません。ユーザーの行動データをモデルに渡し、相手が「典型的な」ユーザーかどうかを機械に判断させるだけでよいのです。 この方法は分類アルゴリズムほどうまく機能しませんが、試してみる価値はあります。 次元削減「特定の機能を高レベルの機能に組み立てる」 「次元削減」アルゴリズムは現在、次の目的で使用されています。
一般的に使用される「次元削減」アルゴリズム:主成分分析、特異値分解、潜在ディリクレ配分、潜在意味解析、t-SNE (視覚化用) 初期の頃、これらの方法は、数字の山から「何か面白いもの」を見つけようと決意した「筋金入りの」データ サイエンティストによって使用されていました。 Excel のグラフが機能しなかったため、パターンを見つける作業は機械に任せざるを得ませんでした。そこで彼らは次元削減や特徴学習の手法を発明しました。 2D データを直線上に投影する (PCA)
たとえば、三角形の耳、長い鼻、大きな尻尾を持つ犬を組み合わせて、「牧羊犬」という抽象的な概念を作成します。特定のシープドッグと比較すると、確かにいくつかの情報は失われますが、新しい抽象化は、名前付けと説明が必要なシナリオでは非常に役立ちます。ボーナスとして、これらの「抽象的な」モデルは学習が速く、トレーニングに必要な機能が少なくなり、過剰適合が減少します。 これらのアルゴリズムは、「トピック モデリング」のタスクで優れたパフォーマンスを発揮します。特定のフレーズの意味をその意味から抽出することができます。潜在的意味解析 (LSA) はまさにそれを実現するもので、LSA はトピックで特定の単語がどのくらいの頻度で表示されるかに基づいています。たとえば、科学論文にはテクノロジー関連の単語が間違いなく多く登場するようになるだろうし、政治ニュースには政治家の名前が多く登場するようになるだろう、などです。 すべての記事内のすべての単語から直接クラスターを作成することもできますが、そうすると重要なつながりがすべて失われます (たとえば、バッテリーとアキュムレータは異なる記事で同じ意味を持ちます)。 LSA はこの問題を非常にうまく処理できるため、「潜在的意味論」と呼ばれています。 したがって、単語と文書を 1 つの特徴に組み合わせて、それらの間の基本的な関係性を維持する必要があります。この問題は、特異値分解 (SVD) によって解決できることがわかりました。グループ化された単語のグループから、有用なトピック クラスターを簡単に見つけることができます。 相関ルール学習「注文フローのパターンを見つける」
関連付けルールは現在、次の目的で使用されています。
よく使用されるアルゴリズム: Apriori、Euclat、FP-growth ショッピングカートの分析、マーケティング戦略の自動化、その他のイベント関連タスクのためのアルゴリズムがすべてここにあります。 古典的な「ビールとおむつ」の話の原理は、連想ルールの適用です。たとえば、顧客が 6 本入りのビールを持ってレジに行きます。レジの通路にオムツを置くべきでしょうか? ビールとオムツを同時に買う人はどのくらいいるでしょうか?他にどのようなシーケンスを予測するために使用できますか? 商品の配置を少し変更するだけで、利益が大幅に増加する可能性がありますか? この考え方は、タスクがより興味深い「顧客は次回何を購入するか?」である電子商取引にも当てはまります。 |
<<: 機械学習とは何ですか?機械はどんどん賢くなっていて、もはやSFの世界ではない
>>: ターゲット検出アルゴリズムにおける正長方形と不規則四辺形 IOU の Python 実装
この記事は、Viktor Mayer-Schönberger と Kennedy Cukier によ...
典型的な高同時実行性、大規模ユーザー Web インターネット システムのアーキテクチャ設計では、HT...
米国の民主党と共和党は常に深刻な対立関係にあるが、両党は中国との対決という一つの問題において稀な一致...
多くの友人から、産業用ロボットのプログラミングにはどの言語が使用されるのかと尋ねられました。今回は、...
TensorFlow.js がリリースされた後、以前にトレーニングしたターゲット/顔検出モデルと顔...
人工知能の長年の目標は、これまで人間のみが実行していたタスクを機械が実行できるようにすることです。し...
ゲスト | ハオ・ジエインタビュー | 袁偉執筆者 | Yun Zhao 「短期的な価値を過大評価し...
ニューヨーク・タイムズ紙は現地時間1月10日、ここ数週間、フェイスブックなどのプラットフォームに、ア...
この記事は、プログラマーの質問と回答のコミュニティである stackexchange.com の質問...
最近、Amazon One の研究者は、生成された画像を明示的に制御できる GAN をトレーニングす...
GPT-4V の誕生後、その驚くべきマルチモーダル機能はネットユーザーから何度も称賛され、OpenA...
本日、Xiaomi は、弾性探索 (マクロ + ミクロ) に基づく超解像で驚くべき結果を達成した新し...
[[405128]]このチュートリアルでは、TensorFlow (Keras API) を使用して...