機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します!はじめに必見

データの分野では、多くの人が機械学習について話しますが、何が起こっているのかを知ることができるのはごくわずかです。インターネットでの機械学習に関する記事のほとんどは、さまざまな定理(定理の半分で十分です)、または人工知能、データサイエンスの魔法、および将来の作業についての話でいっぱいの厚い学術三部作です。

が、データ分析の実際の作業に機械学習を利用するには、実際にいくつかの機会があり、私はそれがまだ一つだと思いことで必要なスキル、いくつかの専門家。だから、今日の記事では、機械学習を理解したい人のために主にあります。簡単な紹介。高レベルの原則は含まれていませんが、実際の問題と実際的な解決策について話すために単純な言語が使用されています。あなたがプログラマーであろうとマネージャーであろうと、あなたはそれを理解することができます。

機械学習とは何かを理解する方法

ビリーは車を購入したいと思っており、それを買うために毎月どれだけのお金を節約しなければならないかを知りたいと思っています。インターネットで数十の広告を閲覧したところ、新車の価格は約2万ドル、1年間使用された中古車は19,000ドル、2年使用された車は18,000ドルなどであることがわかりました。

賢いアナリストとして、ビリーはルールを見つけました。車の価格は車の年齢によって異なり、価格は1年ごとに1,000ドルずつ下がりますが、10,000ドル以上になります。

機械学習の用語では、ビリーは「回帰」を発明しました-既知の履歴データに基づいて値(価格)を予測します。人々がeBayで中古のiPhoneのリーズナブルな価格を見積もったり、バーベキューパーティーに必要なリブの数を計算したりするとき、彼らはビリーと同様の方法を使用しています-一人あたり200g?500?

誰もが世界のすべての問題を解決するための簡単な公式があることを望んでいますが、明らかにこれは不可能です。

車を買うという状況に戻りましょう。問題は、車の年齢に加えて、製造日、数十の付属品、技術的条件、季節的な需要の変動もあるということです...神は他にどのような隠れた要因があるかを知っています...通常ビリーは価格を計算するときにこれらすべてのデータを考慮に入れることはできず、私もそれを変更することはできません。

彼らが数学をするのを助けるためにロボットが必要です。したがって、ここではコンピュータ方式を使用します-マシンにいくつかのデータを提供するために、価格に関連するすべての基礎となる法則を見つけさせます。実際の人が心のすべての依存要因を注意深く分析するのと比較して、マシンははるかに優れていますこのようにして、機械学習が生まれました。

機械学習の3つの要素

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

人工知能(AI)に関連するすべてのナンセンスはさておき、機械学習の唯一の目標は、入力データに基づいて結果を予測することです。それだけです。すべての機械学習タスクはこのように表すことができます。そうでなければ、最初から機械学習の問題にはなりません。

サンプルが多様であるほど、関連するパターンを見つけて結果を予測するのが簡単になります。したがって、マシンをトレーニングするには3つのパーツが必要です。

データ

スパムを検出したいですか?スパムのサンプルを入手してください。在庫を予測したいですか?過去の価格情報を検索します。ユーザーの好みを知りたいですか?Facebookで彼らの活動記録を分析します(いいえ、マーク、データの収集をやめてください〜十分です)。データが多様であるほど、結果は良くなります。運命的なマシンの場合、少なくとも数十万行のデータで十分です。

データを取得するには、主に2つの方法があります。手動または自動です。手動で収集されたデータは、その他のエラーが少なくなりますが、時間がかかります。通常は時間がかかります。自動化された方法は比較的安価であり、見つけることができるすべてのデータを収集できます(データが高品質であることを願っています)。

Googleのような賢い人の中には、ユーザーを使って無料でデータにラベルを付ける人もいます。ReCaptcha(人間と機械による検証)で「すべての道路標識を選択」する必要があることを覚えていますか?それが彼らがデータ、または無料の労働力を得る方法です!よくやった。もし私が彼らだったら、これらの確認写真をもっと頻繁に見せますが、待ってください...

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

優れたデータセットを取得することは非常に困難です。それらは非常に重要であるため、一部の企業は独自のアルゴリズムを開くこともできますが、データセットを公開することはめったにありません。

特徴

これは、「パラメータ」または「変数」と呼ばれることもあります。たとえば、車が移動するキロメートル数、ユーザーの性別、株価、ドキュメント内の単語の頻度などです。言い換えれば、これらはすべて、マシンが考慮する必要のある要素です。

データがテーブルの形式で保存されている場合、機能は列名に対応します。これは比較的単純です。しかし、それが100GBの猫の写真である場合はどうでしょうか。すべてのピクセルを特徴と見なすことはできません。これが、適切な機能の選択が通常、機械学習の他のステップよりも時間がかかる理由です。機能の選択もエラーの主な原因です。人間性の主観的な傾向により、人々は好きな特性を選択したり、「より重要」と感じたりします。これは避けるべきことです。

アルゴリズム

最も明白な部分。問題はさまざまな方法で解決できます。選択する方法は、最終モデルの精度、パフォーマンス、およびサイズに影響します。注意すべき点の1つは、データ品質が低い場合、最高のアルゴリズムでも役に立ちません。これは「ガベージインガベージアウト」(GIGO)と呼ばれます。したがって、正しいレートについて多くのことを考える前に、より多くのデータを取得する必要があります。

コンセプトの差別化

機械学習を人工知能やニューラルネットワークなどの用語と混同することがよくありますが、それらの間にはまだ大きな違いがあります。単にあなたに人気のある科学を与えてください:

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

  • 「人工知能」は、「生物学」や「化学」と同様に、分野全体の名前です。
  • 「機械学習」は「人工知能」の重要な部分ですが、それだけではありません。
  • 「ニューラルネットワーク」は機械学習の分岐方法であり、この方法は非常に人気がありますが、機械学習ファミリーには他の分岐もあります。
  • 「ディープラーニング」は、ニューラルネットワークを構築、トレーニング、および使用するための最新の方法です。本質的に、それは新しいアーキテクチャです。現在の慣行では、深層学習と「通常のネットワーク」を区別する人は誰もいません。また、それらを使用するときに呼び出す必要のあるライブラリも同じです。

古典的な機械学習アルゴリズム

インターネット企業の半数がこれらのアルゴリズムを研究しています。多くの大規模なテクノロジー企業はニューラルネットワークを非常に気に入っています。理由は明らかです。これらの大企業にとって、精度が2%向上すると、収益が20億増加します。しかし、会社の取引量が少ない場合、それはそれほど重要ではありません。チームがeコマースWebサイトの新しい推奨アルゴリズムを開発するのに1年かかったと聞きました。その後、Webサイトのトラフィックの99%が検索エンジンからのものであることがわかりました。開発したアルゴリズムは、結局のところほとんど役に立たなかったのです。ユーザーはホームページを開くことすらしません。

古典的なアルゴリズムが広く使用されていますが、原理は非常に単純であり、幼児に簡単に説明できます。それらは基本的な算術のようなものです-私たちはそれらについて考えることさえせずに毎日それらを使用します。ここにいくつかの古典的な機械学習アルゴリズムがあります:

1.1監視付き学習

従来の機械学習は通常、監視付き学習監視なし学習の2つのカテゴリに分類されます

「監視付き学習」では、「監視者」または「教師」が、写真が猫か犬かなど、学習を支援するためにマシンにすべての回答を提供します。「教師」は「猫」または「犬」というラベルの付いたデータセットの分割を完了し、マシンはこれらのサンプルデータを使用して学習し、猫と犬を1つずつ区別することを学習します。

監視されていない学習とは、マシンだけで、たくさんの動物の写真の中から誰がいるかを区別するタスクを完了することを意味します。データには事前にラベルが付けられておらず、「教師」もいません。マシンは、考えられるすべてのパターンを自分で見つける必要があります。これらについては後で説明します。

明らかに、「教師」が存在する場合、マシンはより速く学習するため、監視された学習は実際の生活でより一般的に使用されます。監視付き学習には2つのタイプがあります。

  • 分類(分類)、オブジェクトのカテゴリを予測します。
  • 回帰、ナンバーライン上の特定のポイントを予測します。

分類

「色に基づいて靴下を分類する、言語に基づいてドキュメントを分類する、スタイルに基づいて音楽を分類するなど、事前にわかっている属性に基づいてオブジェクトを分類します。」

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

分類アルゴリズムは、次の目的でよく使用されます。

  • スパムをフィルタリングします。
  • 言語テスト;
  • 同様のドキュメントを検索します。
  • 感情分析
  • 手書きの文字や数字を認識する
  • 不正検出

一般的に使用されるアルゴリズム:Naive Bayes、Decision Tree、Logistic Regression、K Nearest Neighbors、Support Vector Machine

機械学習は主に「分類」問題を解決します。このマシンは、おもちゃの分類を学ぶ赤ちゃんのようなものです。これは「ロボット」、これは「車」、これは「マシンカー」です...ええと、待って、間違いです!エラー!

分類タスクでは、「教師」が必要です。マシンがこれらのラベルに基づいて分類することを学習できるように、データには事前にラベルを付ける必要があります。すべてを分類できます-興味に基づいてユーザーを分類し、言語とトピックに基づいて記事を分類し(これは検索エンジンにとって重要です)、ジャンルに基づいて音楽を分類し(Spotifyプレイリスト)、メールも例外ではありません。

Naive Bayesアルゴリズムは、スパムフィルタリングで広く使用されています。マシンは、スパムメールと通常のメールに表示される「Viagra」という単語の頻度を個別にカウントし、ベイジアン方程式を適用してそれぞれの確率を乗算し、結果を合計します。つまり、マシンは学習を終了しました。

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

その後、スパマーはベイジアンフィルターの処理方法を学びました-メールコンテンツに多くの「良い」単語を追加します-この方法は皮肉なことに「ベイジアンポイズニング」と呼ばれます。Naive Bayesは、最もエレガントで最初の実用的なアルゴリズムとして歴史に記録されていますが、スパムフィルタリングを処理する他のアルゴリズムがあります。

分類アルゴリズムの別の例を挙げてください。


今すぐ借りる必要がある場合、銀行はあなたが将来それを返済するかどうかをどうやって知るのですか?わからない。しかし、銀行には過去の借り手の記録がたくさんあり、「年齢」、「教育レベル」、「職業」、「給与」、そして最も重要なことに、これらのデータを「支払うかどうか」などのデータがあります。

このデータを使用して、パターンを見つけて答えを出すようにマシンをトレーニングできます。答えを見つけることは問題ではありません。問題は、銀行が機械によって与えられた答えを盲目的に信じることができないということです。システムが誤動作したり、ハッキングされたり、システムに緊急パッチを適用したばかりの卒業生がいた場合はどうすればよいですか?

この問題に対処するには、意思決定ツリーを使用する必要があり、すべてのデータは自動的に「はい/いいえ」の質問に分割されます。たとえば、「借り手は128.12ドル以上稼いでいますか?」など、少し反人間的に聞こえます。ただし、各ステップでデータを最適に分割するために、マシンはこのような問題を生成します。

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

これが「木」の作り方です。ブランチが高いほど(ルートノードに近いほど)、問題の範囲が広くなります。すべてのアナリストはこのアプローチを受け入れ、事後に説明を行うことができます。アルゴリズムが何であるかを知らなくても、結果を簡単に説明できます(一般的なアナリスト)。

意思決定ツリーは、診断、医学、財務などの責任の高いシナリオで広く使用されています。

最も広く知られている2つの決定ツリーアルゴリズムは、CARTとC4.5です。

今日では、純粋な意思決定ツリーアルゴリズムが使用されることはめったにありません。ただし、これらは大規模システムの基礎であり、意思決定ツリー統合の効果はニューラルネットワークよりも優れています。これについては後で説明します。

Googleで検索すると、答えを見つけるのに役立つ不器用な「木」がたくさんあります。これらのアルゴリズムのような検索エンジンは、十分に高速に実行されるためです。

間違いなく、サポートベクターマシンが最も一般的な分類方法であるはずです。それが存在する限り、それを使用して分類することができます:形によって写真の植物を分類する、カテゴリーによって文書を分類するなど。

SVMの背後にある考え方は単純です。つまり、データポイント間に2本の線を引き、2本の線の間の距離を可能な限り最大化しようとします。以下に示すように:

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

分類アルゴリズムには、非常に便利なシナリオ-異常検出があります。機能をすべてのカテゴリに割り当てることができない場合は、マークを付けます。現在、この方法は医療分野で使用されています-MRI(磁気共鳴イメージング)、コンピュータは検出範囲内のすべての疑わしい領域または偏差をマークします。株式市場はそれを使用してトレーダーの異常な行動を検出し、内なる幽霊を見つけます。何が正しいかを区別するようにコンピューターをトレーニングするとき、私たちは自動的に何が間違っているかを認識するようにコンピューターに教えます。

経験則では、データが複雑になるほど、アルゴリズムも複雑になることを示しています。テキスト、数字、表などのデータについては、従来の操作方法を選択します。これらのモデルはより小さく、より速く学習し、より明確なワークフローを持っています。写真、ビデオ、その他の複雑なビッグデータについては、間違いなくニューラルネットワークを研究します。

ちょうど5年前、SVMに基づく顔分類子も見つけることができました。今では、事前にトレーニングされた何百ものニューラルネットワークモデルからモデルを選択する方が簡単です。ただし、スパムフィルタは変更されておらず、SVMで記述されているため、変更する理由はありません。私のウェブサイトでさえ、コメント内のスパムをフィルタリングするためにSVMを使用しています。

回帰

「これらの点に線を引きます、ええと〜これは機械学習です」

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

回帰アルゴリズムは現在、次の目的で使用されています。

  • 株価予想
  • 供給および販売量分析
  • 医学的診断
  • 時系列相関を計算する

一般的な回帰アルゴリズムは次のとおりです。線形回帰、多項式回帰

「回帰」アルゴリズムは、予測がカテゴリではなく値であることを除いて、本質的に「分類」アルゴリズムです。たとえば、走行距離に基づいて車の価格を予測し、1日のさまざまな時間帯の交通量を推定し、会社の発展に伴う供給の変化量を予測します。時間関連のタスクを処理する場合、回帰アルゴリズムが最良の選択です。

回帰アルゴリズムは、金融または分析業界の実務家に好まれています。これはExcelの組み込み機能にもなり、プロセス全体が非常にスムーズになりました。マシンは、平均的な相関関係を表す線を描画しようとするだけです。ただし、ペンとホワイトボードを持っている人とは異なり、マシンは各ポイントとラインの間の平均距離の数学的精度を計算することによってこれを行います。

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

線を引くと「線形回帰」、曲線を描くと「多項式回帰」になります。これらは、回帰の2つの主要なタイプです。他のタイプは比較的まれです。ロジスティクス回帰の「黒い羊」に騙されないでください。これは分類アルゴリズムであり、回帰ではありません。

ただし、「回帰」と「分類」を混同してもかまいません。一部の分類子は、パラメーターを調整した後に回帰になります。オブジェクトのカテゴリを定義することに加えて、オブジェクトがそのカテゴリにどれだけ近いかを覚えておいてください。これは回帰の問題につながります。

クラスタリング

「マシンは、いくつかの未知の特性に基づいて物事を区別するための最良の方法を選択します。」

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

クラスタリングアルゴリズムは現在、次の目的で使用されています。

  • 市場細分化(顧客タイプ、忠誠心)
  • マップ上の隣接するポイントをマージします
  • 画像圧縮
  • 新しいデータを分析してラベルを付ける
  • 異常な動作を検出する

一般的なアルゴリズム:K-meansクラスタリング、Mean-Shift、DBSCAN

クラスタリングとは、カテゴリに事前にマークを付けずにカテゴリを分割することです。たとえば、すべての靴下の色を思い出せない場合でも、靴下を分類できます。クラスタリングアルゴリズムは、(特定の特性に基づいて)類似したものを見つけて、それらをクラスターにクラスター化しようとします。多くの類似した特性を持つオブジェクトはグループ化され、同じカテゴリに分類されます。一部のアルゴリズムは、各クラスター内のデータポイントの正確な数の設定をサポートしています。

これは、オンラインマップ上のクラスタリングマーカーを示す良い例です。周囲のベジタリアンレストランを探すと、クラスタリングエンジンがそれらをグループ化し、数字の付いたバブルで表示します。これを行わないと、ブラウザが動かなくなります。これは、このトレンディな街にある300のベジタリアンレストランすべてをマッピングしようとするためです。

分類アルゴリズムと同様に、クラスタリングを使用して異常を検出できます。ユーザーがログインした後、異常な動作はありませんか?マシンに一時的にアカウントを無効にしてから、テクニカルサポートスタッフが何が起こっているかを確認するためのチケットを作成します。多分相手は「ロボット」です。「通常の動作」が何であるかを知る必要はありません。ユーザーの動作データをモデルに渡して、相手が「通常の」ユーザーであるかどうかをマシンに判断させるだけです。

この方法は分類アルゴリズムほど効果的ではありませんが、それでも試してみる価値があります。

次元の削減

「特定の機能をより高度な機能にアセンブルする」

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

「次元削減」アルゴリズムは現在、次の目的で使用されています。

  • 推奨システム
  • 美しい視覚化
  • トピックのモデリングと同様のドキュメントの検索
  • 偽の画像認識
  • 危機管理

一般的に使用される「次元削減」アルゴリズム:主成分分析、特異値分解、潜在的Dirichlet割り当て、潜在的意味分析、t-SNE(視覚化用)

初期の頃、「ハードコア」データ科学者はこれらの方法を使用し、彼らは多くの数で「興味深いもの」を見つけることを決心していました。Excelチャートが機能しない場合、それらはマシンにパターン検索の作業を強制します。そこで彼らは、次元の削減や特徴の学習の方法を発明しました。

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

2Dデータを直線に投影する(PCA)


人々にとって、抽象化の概念は、多くの断片化された機能よりも便利です。

たとえば、三角形の耳、長い鼻、大きな尾を持つ犬を「羊飼いの犬」の抽象的な概念に組み合わせました。特定の羊飼いの犬と比較して、いくつかの情報が失われますが、新しい抽象的な概念は、名前を付けて説明する必要があるシーンに役立ちます。ボーナスとして、このタイプの「抽象」モデルは、学習が速く、トレーニング中に使用する機能が少なくなり、オーバーフィットが減少します。

これらのアルゴリズムは、トピックモデリング」のタスクでその才能を示すことができます。特定のフレーズからそれらの意味を抽象化することができます。潜在的セマンティック分析(LSA)はこれを行います。LSAは、トピックで表示できる特定の単語の頻度に基づいています。たとえば、テクノロジーの記事にはテクノロジー関連の語彙がもっと表示される必要があります。または、政治家の名前は主に政治関連のニュースに表示されます。

すべての記事のすべての単語から直接クラスターを作成できますが、そうするとすべての重要な接続が失われます(たとえば、バッテリーとアキュムレーターは異なる記事で同じ意味を持ちます)。LSAはこれをうまく処理できます。問題は、それが「潜在的セマンティクス」と呼ばれる理由です。

したがって、基礎となる接続を維持するために、単語とドキュメントの接続を1つの機能に組み合わせる必要があります。人々は、特異値分解(SVD)がこの問題を解決できることを発見しました。これらの有用なトピックのクラスターは、フレーズのクラスターから簡単に確認できます。

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

アソシエーションルール学習(アソシエーションルール学習)

「注文フローでパターンを見つける」

機械学習の概念と古典的なアルゴリズム、私はあなたにはっきりと言葉で説明します! はじめに必見

 

「アソシエーションルール」は現在、次の目的で使用されています。

  • 売上と割引を予測する
  • 「一緒に購入する」製品を分析する
  • 商品展示の企画
  • Webブラウジングパターンを分析する

一般的に使用されるアルゴリズム:Apriori、Euclat、FP-growth

ショッピングカートの分析、マーケティング戦略の自動化、およびその他のイベント関連タスクに使用されるアルゴリズムはすべてここにあります。

古典的な「ビールとおむつ」のストーリーの原則は、関連付けルールの適用です。たとえば、顧客は6本のボトル入りのビールをキャッシャーに持っていきます。チェックアウトの途中でおむつを置くべきですか?ビールとおむつを同時に購入する頻度はどれくらいですか?他にどのようなシーケンスを使用して予測できますか?製品のレイアウトを少し変更するだけで、利益を大幅に増やすことができますか?

同じ考えがeコマースにも当てはまります。そこではタスクがより興味深いものになります。顧客は次回何を購入しますか?

おすすめ

転載: blog.csdn.net/yuanziok/article/details/108829821