AI研究所 - AI(人工知能)に脅かされないために、AI(人工知能)を作る側の人間になる -

HOME  >  Kaggleで使われいてるアルゴリズムまとめ

公開日:2020.10.20 

Kaggleで使われいてるアルゴリズムまとめ

AI(人工知能)の知識

機械学習のプラットフォームであるkaggleでは、どのようなアルゴリズムがよく使われているのでしょうか。
実際に使用されているアルゴリズムは数多くありますが、この記事では初心者の方が使う機会が多いと思われるアルゴリズムの紹介をさせていただきます。
また、アルゴリズム活用についても補足的に記事にしていますので、参考程度にご覧いただけたらと思います。

アルゴリズムとは

アルゴリズムという言葉は、具体的にはどのようなものを指すのでしょうか。
アルゴリズムというのは、コンピューターで計算を行うときの計算方法のことです。
転じて、機械学習では物事を行うときのやり方ということができます。どのような手段で、分析を進めていくか?その手段がアルゴリズムです。
では、機械学習のアルゴリズムを見ていきたいと思います。

機械学習でのアルゴリズム

機械学習でのアルゴリズムは、結果を出すまでのの過程とその方法を指します。kaggleではカーネルの中から、特に参考になるものを選び出して、アルゴリズムごとにまとめたカーネルも投稿されています。分析の手法が詳しく記されていますので、理解が深まった段階で確認してみましょう。
アルゴリズムの学習を進めるにあたって、kaggleでも有益な情報がたくさん投稿されていますので、是非参考にしてみてください。

回帰分析と分類分析の違い

機械学習のアルゴリズムにおいて、基本となる考え方の一つに回帰と分類の違いがあります。まずは、違いを理解しておきましょう。

分類

例えば、とある求職者のプロフィールから合格、不合格を分類する、購買者の情報から新商品を購入する、しないを分類する、という分析が分類となります。
データが属するクラス(Yes,Noのような)を予測することが、分類分析の目的です。

回帰

連続値などの値の予測が回帰の目的です。
具体例として、広告予算の増加に伴う売上増加の予測などがあります。回帰分析には、線形回帰、多項式回帰などがよく使われます。

回帰と分類の違い

分類は、ユーザーが訪れた飲食店の履歴からこの飲食店を気に入るかどうかを予測するもので、回帰は、ユーザーが過去に訪れた飲食店の情報をもとに、新しい飲食店に訪れる回数を予測します。
回帰と分類の違いは、実際にプログラミングの過程でより深く理解することができます。

初心者にとって有効なアルゴリズム

以下、重要度、難易度、活用場面のポイントで見て初心者に有効と思われるアルゴリズムです。

■教師あり学習

1.線形回帰

2.Ridge回帰

3.Lasso回帰

4.Logistic回帰

5.Decistion Tree

6.Random Forest(分類)

7.Random Forest(回帰)

8.Gradient Boosting Tree(LightGBM実装)

9.Support Vector Machine(分類)

(以後,「SVC」と呼ぶ)

10.Support Vector Machine(回帰)

(以後,「SVR」と呼ぶ)

11.k-Nearest Neighbor

(以後,「kNN」と呼ぶ)

■教師なし学習

12.K-means Clustering

13.Hierarchical Clustering

14.DBSCAN

では、いくつかのアルゴリズムの概要を見ていきたいと思います。

線形回帰

線形回帰とは回帰分析の一種です。
では、回帰分析とはなにか?というと変数をもつ集まりの中の関数について、ある種のノイズが観測された場合の関数を予測するというものです。
年齢と血圧、所得と消費、人口と商業のように、一方通行の関係にあるものに対して、回帰分析を活用するのが良いとされています。
不快日数の増加がエアコンの保持率をどれくらい増加させるか、年齢 1 歳の上昇は血圧を何 mmHg 上昇させるか、このような要約と結果の関係性が線形回帰です。

Ridge回帰

Ridge回帰とは線形回帰の過学習を抑えるための手法の一つです。
過学習とは簡単に言うと、AIが学習しすぎることを指します。過学習の過程において、訓練データの性能は向上しますが、それ以外のデータでは逆に結果が悪くなります。過剰適合ともいいます。

Logistic回帰

一例として「不健康」のグループと「健康」のグループそれぞれで、1日の喫煙本数と1ヵ月間の飲酒日数を調べたとします。
そして、不健康有無と調査項目との関係を調べ,不健康であるかどうかを判別するモデル式を作ります。このモデル式のもととなるのが、ロジスティック回帰分析です。
この例では不健康有無が目的変数となります。。
目的変数に影響を与える変数、喫煙有無本数と飲酒日数を説明変数といいます。
ロジスティック回帰分析を活用し、喫煙本数と飲酒日数をもとに、不健康有無を予測します。

Decistion Tree

Decistion Treeは決定木とも呼ばれます。
決定木の概要は、条件により分岐していく過程を根からたどり、最も条件に合致する葉を探すアルゴリズムです。条件分岐によって、グループを分割、分類していきます。
例えばウインドサーフィンをするかしないかを判断しようとする時に、風の強さでカテゴリ分けした後に、晴れているかどうかでカテゴリ分けをしています。
条件分岐を細かく行うことにより、最終的には解くべき最小単位にまで分類します。

Gradient Boosting Tree

Gradient Boosting Treeは、XGBoostなどの機械学習において根幹を構成している理論です。XGBoostとはKaggleのコンペでよく使われている手法です。
根幹をなしている理論を知ることは、体系的な知識の習得に大いに役立ちますので、よく使われるアルゴリズムと相関性のあるものは覚えておくといいでしょう。

Random Forest

Random Forest(ランダムフォレスト)は、分類や回帰に使う機械学習の手法です。
この手法では、たくさんのデータが集約されているデータセットを3つのサブセットに分割し、そのサブセットからデータをランダムに抽出、最終的に3つの決定木を作成することが可能です。最終出力は多数決(分類の場合)または平均値(回帰の場合)を決定するという過程をたどります。

決定木・ランダムフォレスト

k-Nearest Neighbor

k近傍法とも呼ばれています。
機械学習のアルゴリズムの中では、最も単純であるといわれています。最も近くにあるオブジェクトのうち、一般的なオブジェクトに分類される、というものです。数が多いオブジェクト内に分類されると言い換えることもできます。
トレーニングデータ量や特微量が増えると予測が遅くなります。

 

まずは基本となるアルゴリズムを習得しましょう

様々な分析アルゴリズムを紹介してきましたが、深く理解するには高度な数学的理解も必要となり、初心者にとってはかなり難解です。わからなくて当然くらいの気持ちで学習を進めていくのがいいですね。
まずは、回帰と分類の違いを学習し、kaggleのカーネルで実際に検証を重ねていくのがよろしいのではないかと思います。回帰分析の第一歩は線形回帰となります。
学習を積み重ねていくと、現在、自分の身の回りにある便利な機能に機械学習がたくさん活用されているのがわかると思います。身の回りの疑問、興味からさらに学習を深めていくのも有効な手段です。
全くの初心者の場合は、web上に機械学習以前に基本的な内容を学ぶことができるコンテンツが公開されていますので、理解を深めるための下地作りとして内容を確認してみることをオススメします。
楽しみながら機械学習の知識を深めていきましょう。


参考になったら「いいね!」と「シェア」をお願いします!!

このエントリーをはてなブックマークに追加
AI(人工知能)セミナー開催中