前回の投稿から大分時間が空いてしまいましたが、現在マーケティング部では、データサイエンスに関する知識を深めるために海外のデータサイエンス記事を翻訳するという取り組みを行っています。主に、KDnuggetsというサイトで紹介されている記事で人気のあるものを中心に選び、原著者より翻訳の許諾をいただけた記事を公開しております。不定期ですが、データサイエンスに関心のある皆様により良い情報を日本語でお届けできるように取り組んで参ります。
初回に取り上げたい記事はJames Le氏の「The 10 Algorithms Machine Learning Engineers Need to Know」です。機械学習の手法が網羅的に紹介されており、実用例も示されています。初めて機械学習に取り組む方のご参考になれば幸いです。
SOURCE
https://gab41.lab41.org/the-10-algorithms-machine-learning-engineers-need-to-know-f4bb63f5b2fa#.ljrexrvbz
※本記事は翻訳・掲載・画像の利用に関して原著者の許諾を得ております。
過去数年間で間違いなく機械学習・人工知能の領域の人気が高まってきています。今や ビッグデータはハイテク業界で最もホットな分野であり、大量のデータに基づいて予測や予測を伴った提案を行うために機械学習は信じられないほど強力です。 機械学習の良く知られた活用事例として、Netflixによる以前鑑賞した映画に基づく映画のサジェストアルゴリズムや、書籍の購買履歴に基づいておすすめ書籍を提案するAmazonのアルゴリズムがあります。
さて、機械学習について更に学びたい場合、どのように始めたら良いでしょうか? 私に関しては、コペンハーゲンで留学していたときに人工知能のクラスを受講したことがきっかけでした。 私の講師はデンマーク工科大学に常勤していた応用数学とコンピュータ・サイエンスの教授です。そこでの彼の研究分野は論理学と人工知能で、主に人間のように計画したり、思考したり、問題解決することをモデル化する論理に焦点を当てています。 このクラスは、理論と実践的な問題解決の議論を組み合わせたものでした。 私たちが使った教科書はPeter NorvigのArtificial Intelligence - A Modern Approachという人工知能の古典のひとつでした。その教科書で私たちは知的エージェント、探索による問題解決、敵対探索、確率論、マルチエージェントシステム、ソーシャルAI 、AIの哲学や倫理、未来について学びました。 クラス終了時には3人のチームで、プログラミングプロジェクトとして仮想環境で輸送タスクを解決する簡単な探索ベースのエージェントを実装しました。
私はそのクラスのおかげで膨大な知識を習得し、この専門的なトピックについて学び続けることに決めました。 私はここ数週間、サンフランシスコで深層学習やニューラルネットワーク、データ構築についての講演を行い、多くの著名な専門家が参加している機械学習カンファレンスでのテクニカルトークを行っています。 さらに、私は6月頭に始めたUdacityの機械学習入門のオンラインコースを数日前に終了しました。 この記事では、このコースから学んだ最も一般的な機械学習アルゴリズムをいくつか紹介したいと思います。
機械学習アルゴリズムは、教師あり学習、教師なし学習、強化学習の3つの大きなカテゴリーに分けられます。教師付き学習は、あるデータセット( トレーニングセット )に予め属性( ラベル )がついている一方、残りのデータに属性がついておらず予測する必要があるような場合に便利です。 教師なし学習は、ラベルが付いていないデータセットにおける隠れた関係を発見しようとする場合に役立ちます。 強化学習は、これらの2つの対局にあるアルゴリズムの中間にあたります。予測ステップまたはアクションごとにいくらかの情報がありますが、正確なラベルや誤りの情報はありません。 オンラインコースが入門クラスであるため、私は強化学習について学んでいませんでしたが、教師付き学習と教師なし学習の10個のアルゴリズムでも十分面白さを感じていただけることだと思います。
1.決定木
決定木は意思決定支援ツールであり、起こりうる結果や結論を表す樹木のような意思決定モデルを用います。 下の画像を見るとより理解しやすいと思います。
ビジネスにおける意思決定の観点から言えば、決定木は解くべき最小単位の質問を用意し、正しい意思決定を下す確率を評価します。決定木を使えば構造的かつ体系的に問題にアプローチし、論理的な結論を導くことができます。
2. ナイーブベイズ分類器
ナイーブベイズ分類器は特徴間に強い(ナイーブな)独立性を仮定した上でベイズの定理を使う、確率に基づいた分類器のことです。 画像はベイズの定理を表しており、P(A | B)は事後確率、P(B | A)は尤度、P(A)は分類クラスの事前確率、P(B)は予測変数の事前確率です。
実用化された例として以下のようなものがあります。
・電子メールを迷惑メールと迷惑メール以外に分類する
・ニュース記事を技術、政治、スポーツに関する内容に分類する
・肯定的な感情や否定的な感情を表現するテキストをチェックする
・顔認識ソフトウェアに使用する
3.最小二乗法
統計を知っているなら、おそらく線形回帰について聞いたことがあるでしょう。 最小二乗法は、線形回帰を実行する方法です。 線形回帰は、一連の点を通る直線をフィッティングするタスクと考えることができます。 これを行うには複数の方法がありますが、"最小二乗法"ではデータに対して直線を描き、各データ点と直線の間の垂直距離を測定し、測定した距離の合計ができるだけ小さくなるようにする方法を取ります。
「線形回帰」の「線形」とはデータに適合させているモデルのことで、「最小二乗法」の「最小二乗」とは、誤差処理方法のことを表します。
4.ロジスティック回帰
ロジスティック回帰は強力な統計手法であり、説明変数を複数用いて2値の結果をモデル化します。 これは、ロジスティック分布の分布関数であるロジスティック関数を使用して確率を推定することによって、カテゴリカル変数と複数の独立した変数の間にある関係を推定します。
ロジスティック回帰は一般に以下のような場面で実際に使われています。
・クレジットスコアリング
・マーケティングキャンペーンの成功率の測定
・特定の製品の収益予測
・特定の日に地震が起こるか否かの予測
5.サポートベクターマシン(SVM)
SVMは2値分類アルゴリズムです。 N次元空間上にある2種類のデータセットが与えられた際、SVMはそれらのデータを2つのグループに分けるために(N - 1)次元超平面を生成します。 線形分離可能な2種類のデータセットがある場合、 SVMはこれらの点を2つのグループに分ける直線のうち、可能な限りどちらのグループからも離れている直線を探します。
適切に実装されたSVMが解決できる問題は、ディスプレイ広告、人間スプライスサイト認識、画像ベースの性別検知、大規模な画像分類などとされています。
6. アンサンブル学習
アンサンブル学習は、一連の分類器を構築し、予測の加重投票を行うことによって新しいデータセットを分類する機械学習アルゴリズムです。元々のアンサンブル法のアルゴリズムにはベイジアン平均を用いていましたが、最近のアルゴリズムには誤り訂正出力符号化、バギング、およびブースティングなどがあります。
では、アンサンブル学習はどのように機能し、なぜ個々のモデルより優れているのでしょうか?
・個々のモデルが集まってバイアスを平均化する:例えば、民主主義に傾いた票と共和主義に傾いた票を平均すると、どちらにも傾いていない平均的な票になるようなものです。
・個々のモデルが集まって分散を減らす:一連のモデルの集合的な判断のほうが、モデルの1つの判断よりもノイズが少なくなります。 ファイナンスでは、これを多角化と呼びます。多くの株式の混合ポートフォリオのほうが、個々の株式よりも変動が小さくなります。これらの理由から、少ないデータより多くのデータのほうがより良いモデルができます。
・過学習しづらい:あまりフィットしない個々のモデルについて、各モデルの予測を簡単な方法(平均、加重平均、ロジスティック回帰)で組み合わせている場合、過学習する余地はありません。
7.クラスタリングアルゴリズム
クラスタリングは、同じグループ( クラスタ )のオブジェクトが他のグループのオブジェクトよりも互いに類似するように、オブジェクトのセットをグループ化するタスクです。
クラスタリングアルゴリズムには様々なものがありますが、以下にいくつか例を挙げておきます。
・重心点によるアルゴリズム
・階層アルゴリズム
・密度アルゴリズム
・確率論的アルゴリズム
・次元削減法
・ニューラルネットワーク/ディープ・ラーニング
8.主成分分析
主成分分析は、直交変換を使用して相関関係のあるデータを主成分と呼ばれる相関のない変数に変換する統計的手法です。
主成分分析は可視化や分析をやりやすくするためのデータ圧縮や簡素化に用いられることがあります。主成分分析を使用するかどうかを判断する際には、ドメイン知識が非常に重要なので注意してください。 データがノイズの多い場合(主成分分析で扱うすべての要素にかなりのばらつきがある場合)には適していません。
9.特異値分解
線形代数において、特異値分解は複素行列の因数分解です。 所与のm * n行列Mに対して、M =UΣV(ここで、UおよびVはユニタリ行列であり、Σは対角行列である)のような分解が存在します。
主成分分析は実際には特異値分解の一種です。コンピュータビジョンでは、第1の顔認識アルゴリズムにおいて主成分分析と特異値分解を用いて、顔を「固有顔」の線形結合として表現し、次元削減を行い、単純な方法で顔をアイデンティティに一致させるために使用していました。現代の方法ははるかに洗練されていますが、多くの場合、同様の技術を使っています。
10.独立成分分析
独立成分分析(ICA)は、確率変数や測定値の基礎となる隠れた因子を明らかにするための統計的手法です。ICAは、一般的に巨大なデータベースの標本から観測されるような多変量データの生成モデルから成ります。ICAでは観測されたデータが複数個の未知の潜在変数の線形結合として扱われ、混合の仕組みも未知となっています。
その潜在変数は非ガウシアン(正規分布に従わない)で互いに独立し、観測データの独立成分と呼ばれます。
独立成分分析は主成分分析と関係していますが、古典的な手法が完全に失敗した場合にデータの根底にある要因を見つけられる、非常に強力な手法です。 独立成分分析の用途には、デジタル画像、文書データベース、経済指標、心理測定などがあります。
是非、アルゴリズムを理解して、人々にとってより良い体験を提供する機械学習アプリケーションを作ってみてください。