誰もが知っておくべき 3 つの機械学習アルゴリズム

誰もが知っておくべき 3 つの機械学習アルゴリズム

解決すべきデータ関連の問題があるとします。機械学習アルゴリズムの素晴らしさについて聞いたことがあるので、自分で試してみたいと思っていますが、この分野での経験も知識もありません。そこで、「機械学習モデル」や「機械学習手法」などの用語を Google で検索し始めますが、しばらくするとさまざまなアルゴリズムの間で完全に混乱してしまい、諦め始めます。

粘り強さだけが勝利につながります!

幸いなことに、この記事では 3 つの主要な機械学習アルゴリズムを紹介します。これらの知識があれば、ほとんどのデータ サイエンスの問題を自信を持って解決できると思います。

次の記事では、決定木、クラスタリング アルゴリズム、回帰について説明し、それらの違いを指摘し、さまざまなケースに最も適したモデルを選択する方法を説明します。

教師あり学習と教師なし学習

機械学習を理解するための基礎は、教師あり学習と教師なし学習という 2 つの主要なカテゴリをどのように分類するかです。機械学習におけるあらゆる問題は、最終的にはこれら 2 つのカテゴリのいずれかに分類されるからです。

教師あり学習の場合、データセットがあり、何らかのアルゴリズムがそのデータセットを入力として受け取ります。前提として、正しい出力形式がどのようなものであるかは既にわかっている必要があります (入力と出力の間に何らかの関係があると仮定)。

後で説明する回帰問題と分類問題は、このカテゴリに属します。

一方、教師なし学習は、正しい出力がどのようなものになるかがわからない、またはわからない状況に適しています。実際には、データに基づいて正しい構造がどのようなものであるかを推測する必要があります。クラスタリング問題は、このカテゴリの主な代表例です。

上記の分類をより明確にするために、現実世界の問題をいくつか取り上げて、それに応じて分類してみます。

例1

あなたが不動産会社を経営しているとしましょう。新しい家の特徴を考慮して、以前に記録された他の家の販売に基づいて、この家の販売価格を予測したいと考えています。入力データセットには、バスルームの数やサイズなど、家のさまざまな特徴が含まれており、予測する変数は通常、ターゲット変数と呼ばれ、この場合は価格です。データセット内の住宅の販売価格はすでにわかっているので、これは教師あり学習の問題、より具体的には回帰問題です。

例2

特定の身体的測定値と遺伝的要因に基づいて、ある人が近視になるかどうかを推測する実験を設定したとします。この場合、入力データセットは人間の医学的特徴で構成され、ターゲット変数は 2 つあります。近視になる可能性が高い人の場合は 1、近視にならない人の場合は 0 です。各参加者のターゲット変数の値は事前にわかっているため(つまり、参加者が近視であるかどうかはすでにわかっているため)、これも教師あり学習の問題、より具体的には分類の問題です。

例3

あなたが担当している会社には多くの顧客がいるとします。会社との最近のやり取り、最近の購入、および顧客の人口統計に基づいて、類似の顧客をグループ化し、特別な割引クーポンを提供するなど、異なる対応をしたいと考えています。この場合、上記の機能のいくつかがアルゴリズムへの入力として使用され、アルゴリズムによって顧客セグメントの数またはタイプが決定されます。これは、出力がどうなるかを事前に知らないため、教師なし学習の典型的な例です。

そうは言っても、約束を果たして、より具体的なアルゴリズムを紹介する時が来ました…

戻る

まず、回帰は単一の教師あり学習手法ではなく、多くの手法が属する全体的なカテゴリです。

回帰の主な考え方は、いくつかの入力変数が与えられたときに、ターゲット変数の値がどうなるかを予測することです。回帰の場合、ターゲット変数は連続的です。つまり、指定された範囲内の任意の値を取ることができます。一方、入力変数は離散的または連続的のいずれかになります。

回帰手法の中で最もよく知られているのは線形回帰とロジスティック回帰です。詳しく見てみましょう。

線形回帰

線形回帰では、入力変数とターゲット変数の関係を確立しようとします。この関係は、一般に回帰線と呼ばれる直線で表されます。

たとえば、2 つの入力変数 X1 と X2 とターゲット変数 Y があるとします。この関係は数学的に次のように表現できます。

  1. Y = a * X1 + b*X2 + c です。

X1 と X2 の値が提供されていると仮定して、Y が実際の値にできるだけ近くなるように 3 つのパラメーター a、b、c を調整することが目標です。

少し時間を取って例を挙げてみましょう。

すでに、Setosa、Versicolor、Virginica などさまざまな種類の花の萼片と花びらのサイズに関するデータが含まれている Iris データセットがあると仮定します。

R ソフトウェアを使用して、花弁の幅と長さが与えられていると仮定して、萼片の長さを予測するための線形回帰を実装する必要があります。

数学的には、次の関係を通じて a と b の値が得られます。

  1. 萼片の長さ = a * 花びらの幅 + b * 花びらの長さ + c

対応するコードは次のとおりです。

  1. #必要なパッケージをロードする
  2. ライブラリ(ggplot2)
  3. #アイリスデータセットをロード
  4. データ(アイリス)
  5. #データセット最初10個の観測値見てみましょう
  6. 頭(虹彩)
  7. # 回帰直線を当てはめる
  8. fitted_model <- lm(Sepal.Length ~ Petal.Width + Petal.Length、データ = iris)
  9. #選択したモデルパラメータの詳細を取得します
  10. 要約(適合モデル)
  11. # データポイントを回帰直線沿ってプロットする
  12. ggplot(iris, aes(x = 花びらの幅、y = 花びらの長さ、色 = 種)) +
  13. geom_point(アルファ = 6/10) +
  14. stat_smooth(メソッド = "lm" 、塗りつぶし = "blue" 、色 = "grey50" サイズ= 0.5、アルファ = 0.1)

線形回帰の結果は、下の図に示されています。黒い点は、初期データ ポイントを表します。青い線は回帰線にフィットするため、推定結果は、a = -0.31955、b = 0.54178、c = 4.19058 となり、実際の状況、つまり萼の長さに最も近いと考えられます。

これからは、花びらの長さと花びらの幅の値を定義された線形関係に適用することで、それぞれの新しいデータ ポイントの長さを予測できるようになります。

ロジスティック回帰

ここでの主な考え方は線形回帰の場合とまったく同じです。最大の違いは、回帰線が直線ではなくなったことです。

代わりに、私たちが確立しようとしている数学的な関係は次のようになります。

  1. Y=g(a*X1+b*X2)

ここで g() は論理関数です。

ロジスティック関数の性質上、Y は連続しており、[0,1] の範囲にあり、イベントが発生する確率として理解できます。

皆さんは例が好きなので、もう一つ例をお見せしましょう!

今回は、燃料消費量と自動車デザインの 10 の側面、および 1973 年から 1974 年に製造された 32 台の自動車の性能を含む mtcars データセットで実験を行います。

R を使用して、V/S とマイル/(US) ガロンの測定値に基づいて、車がオートマチック トランスミッション (am = 0) またはマニュアル トランスミッション (am = 1) を備えている確率を予測します。

am = g(a * mpg + b* vs +c):

  1. #必要なパッケージをロードする
  2. ライブラリ(ggplot2)
  3. #データを読み込む
  4. データ(mtcars)
  5. # 関心のある測定含まれるデータ特徴サブセットを保持する 
  6. 車 <- サブセット(mtcars、選択=c(mpg、am、vs))
  7. # ロジスティック回帰直線を当てはめる
  8. fitted_model <- glm(am ~ mpg+vs、データ=車、ファミリ=二項式(リンク= "logit" ))
  9. # 結果をプロットする
  10. ggplot(車、aes(x=mpg、y=vs、色=am)) + geom_point(アルファ=6/10) +
  11. stat_smooth(method = "glm" 、fill = "blue" 、colour = "grey50" size = 0.5、alpha = 0.1、method.args = list(family = "binomial" ))

結果は下の図に示されています。黒い点はデータ セットの初期点を表し、青い線は a = 0.5359、b = - 2.7957、c = - 9.9183 の適合ロジスティック回帰線を表しています。

前述したように、回帰直線の形状により、ロジスティック回帰の出力値は [0,1] の範囲内にのみ存在することがわかります。

V/S とマイル/(US) ガロンを基準とする新車の場合、その車にオートマチック トランスミッションが搭載されている確率を予測できるようになりました。

決定木

決定木は、ここで取り上げる 2 番目のタイプの機械学習アルゴリズムです。決定木は最終的に回帰木と分類木に分割され、教師あり学習の問題に使用できるようになります。

確かに、決定木は最も直感的なアルゴリズムの 1 つであり、ほとんどの状況で人々が意思決定を行う方法を模倣しています。彼らが本質的に行ったのは、すべての可能な経路の「マップ」を描き、それぞれのケースに対応する結果を描くことでした。

グラフで表現すると、私たちが議論している内容をよりよく理解するのに役立ちます。

このようなツリーに基づいて、アルゴリズムは対応する基準値に基づいて各ステップでどのパスをたどるかを決定できます。アルゴリズムが各レベルの分割基準と対応するしきい値を選択する方法は、候補変数がターゲット変数についてどの程度有益であるか、およびどの設定が結果として生じる予測誤差を最小限に抑えるかによって異なります。

もう一つの例を挙げましょう。

今回取り上げるデータセットは readingSkills です。生徒のテストのスコアと成績が含まれます。

テストのスコア、靴のサイズ、年齢などのさまざまな指標に基づいて、生徒を英語ネイティブスピーカー (nativeSpeaker = 1) または外国語スピーカー (nativeSpeaker = 0) に分類します。

R での実装では、まず party パッケージをインストールする必要があります。

  1. # 必要なパッケージを含める
  2. 図書館(パーティー)
  3. ライブラリ(パーティーキット)
  4. #データセット最初10個の観測値見てみましょう
  5. print(head(readingSkills))
  6. input.dat <- readingSkills[c(1:105),]
  7. # 意思決定ツリーを成長させる
  8. 出力.tree <- ctree(
  9. nativeSpeaker ~ 年齢 + 靴のサイズ + スコア、
  10. データ = input.dat)
  11. # 結果をプロットする
  12. プロット( .simpleparty(出力.tree)として)

使用された最初の分割基準はスコアであったことがわかります。これは、スコアがターゲット変数を予測する上で非常に重要であるためです。一方、靴のサイズは言語に関する有用な情報を提供しないため、考慮されていません。

今、新しい生徒がいて、その生徒の年齢とスコアがわかれば、その生徒がネイティブの英語話者であるかどうかを予測できます。

クラスタリングアルゴリズム

これまでは、教師あり学習に関連するいくつかの問題についてのみ説明しました。ここで、教師なし学習法のサブセットであるクラスタリング アルゴリズムについて説明します。

それで、ちょっとだけ修正しました...

クラスタリングでは、いくつかの初期データが与えられた場合、一部のグループのデータ ポイントが他のグループのデータ ポイントと類似し、異なるようなグループを形成します。

これから学習するアルゴリズムは k-means と呼ばれ、k は生成されるクラスターの数を表します。これは、最も人気のあるクラスタリング手法の 1 つです。

先ほど使用した Iris データセットを覚えていますか? もう一度使用します。

調査の目的で、以下に示すように、花びら測定方法を使用してデータセットのすべてのデータ ポイントをプロットしました。

花びらメトリック値に基づいて、3 平均クラスタリング法を使用してデータ ポイントを 3 つのグループにクラスタ化します。

では、3 平均法、または k 平均法アルゴリズムはどのように機能するのでしょうか? プロセス全体は、いくつかの簡単な手順にまとめることができます。

  1. 初期化ステップ: k = 3 クラスターの場合、アルゴリズムは各クラスターの中心点として 3 つの点をランダムに選択します。
  2. クラスター割り当てステップ: アルゴリズムは残りのデータ ポイントを調べ、各データ ポイントを最も近いクラスターに割り当てます。
  3. 重心移動ステップ: クラスターの割り当て後、各クラスターの重心点は、クラスターに属するすべての点の平均に移動されます。

クラスターの割り当てに変更がなくなるまで、手順 2 と 3 が複数回繰り返されます。 R での k-means アルゴリズムの実装は非常に簡単で、次のコードで実装できます。

  1. #必要なパッケージをロードする
  2. ライブラリ(ggplot2)
  3. ライブラリ(データセット)
  4. #データを読み込む
  5. データ(アイリス)
  6. #結果を再現可能にするためにシードを設定する
  7. .seed(20)を設定する
  8. # 3つのクラスターk-meansを実装する
  9. iris_cl <- kmeans(iris[, 3:4], 3, nstart = 20)
  10. iris_cl$cluster <- .factor (iris_cl$cluster) として
  11. #予測されたクラスターによって色分けされたポイントをプロットする
  12. ggplot(iris, aes(Petal.Length, Petal.Width, color = iris_cl$cluster)) + geom_point()

結果から、アルゴリズムがデータを 3 つのグループに分割し、3 つの異なる色で表していることがわかります。花びらの大きさに応じて花房が形成されていることも観察できます。具体的には、赤は花びらが小さい花、緑は比較的花びらが大きい蝶形花、青は中くらいの大きさの花びらを持つ花を表します。

どのようなクラスタリングでも、形成されたグループの解釈にはその分野の専門知識が必要であることに留意する価値があります。この例では、植物学者でなければ、K 平均法が、アヤメについてまったく知識がないにもかかわらず、アヤメを Setosa、Versicolor、Virginica などのさまざまなタイプにクラスタリングしていることに気付かないかもしれません。

したがって、今度は種ごとに色分けしてデータを再度プロットすると、クラスターの類似性がわかります。

要約する

私たちは出発点から長い道のりを歩んできました。回帰(線形およびロジスティック)と決定木について議論し、最後に k-means クラスタリングについて説明しました。また、R でシンプルだが強力なメソッドもいくつか実装しました。

では、それぞれのアルゴリズムの利点は何でしょうか? 実際のところ、どれを選択すべきでしょうか?

  • まず、ここで紹介する方法は、応用できないアルゴリズムではありません。世界中の生産システムで広く使用されているため、さまざまなタスクに応じて選択する必要があり、適切に選択すれば非常に強力になります。
  • 次に、上記の質問に答えるには、利点が何を意味するのかを明確にする必要があります。なぜなら、各方法は、解釈可能性、堅牢性、計算時間など、環境によって異なる利点を持っているからです。

これで、ようやくこの知識を実際の問題に自信を持って適用できるようになりました。

<<:  データサイエンスにおける一般的な課題は何ですか?

>>:  研究によると、AIはより多くの雇用を生み出している

ブログ    
ブログ    

推薦する

...

生体認証:デジタル時代への突入

生体認証とは、ある人物の特定の生物学的特徴に基づいてその人物を識別する技術の使用を指します。テクノロ...

エッジAIデバイスの選び方

エッジ コンピューティングは、最も話題になっているテクノロジ トレンドの 1 つになりました。こうし...

[NCTSサミットレビュー] アリババの潘家騰:アリママのオフラインテストドメインのインテリジェント構築

2019年10月26日、Testinが主催する第2回NCTS中国クラウドテスト業界サミットが北京で開...

パーシー・リャンらによる新しい研究:新しいBingのような生成型検索エンジンはそれほど役に立たないかもしれない

生成型検索エンジンは、入力クエリとオンライン引用に対する応答を直接生成することで、ユーザーの情報ニー...

ロボットは独自の言語を作り、将来的には自律的にコミュニケーションできるようになるのでしょうか?

[[187107]]人工知能技術は飛躍的に進歩していますが、人工知能間のコミュニケーションの問題は...

人工知能(AI)の人間的側面を探る

新興技術である AI はこれまで多くの課題に直面しており、今後も直面し続けるでしょう。一方で、消費者...

7.4K スター! わずか数分で機械学習モデル用の美しいインタラクティブ インターフェースを生成できます

Gradio は、機械学習やデータ サイエンス関連のデモや Web アプリケーションを構築するための...

AIがIT業界とAV業界にもたらす変化

[51CTO.com クイック翻訳]人工知能が情報技術 (IT) 業界とオーディオビジュアル (AV...

大根畑の問題を解決する C# アルゴリズム

ニンジン畑問題を解決するための C# アルゴリズムは何ですか?まずトピックを見てみましょう:仕事へ向...

テンセントは大人のプレイヤーから厳しい批判を受けた!実名認証だけでは不十分、顔認証も必要

[[422724]]今学期の一番の話題は、未成年がゲームをプレーできなくなった平日です!これにより、...

...

12以上の学習リソースを検討した後、このAI学習パスをまとめました。

[[276295]]タグ: AI、機械学習、ディープラーニング一言でまとめると、AI の分野に参入...

ファーウェイの石耀宏氏:成都にインテリジェントシティを構築し、スマートで美しい都市を創る

「巴斯」と呼ばれる快適さと「成都」と呼ばれるライフスタイルがあり、中国で最も幸せな都市として、成都は...