Basic Machine Learning Algorithms

哲学が答えるべき基本的な問いは、私たちはどこから来て、私は誰で、どこへ行くのかということです。この問いに対する答えを探るプロセスは、機械学習のルーチンに例えることができます。データの整理 -> 知識の抽出 -> 未来の予測という流れです。データの整理は特徴量設計に相当し、特定のフォーマット要件を満たすサンプルを生成します。知識の抽出はモデリング、未来の予測はモデルの適用に相当します。

特徴量設計はビジネスシナリオの理解に依存し、連続特徴量、離散特徴量、高レベル特徴量の組み合わせに分類できます。本記事では機械学習アルゴリズムの紹介に焦点を当てており、教師あり学習と教師なし学習の 2 つのカテゴリに分類できます。

教師なし学習のアルゴリズムは多数存在します。近年、業界ではトピックモデルに注目が集まっています。LSA -> PLSA -> LDA はトピックモデル開発の 3 段階における代表的なアルゴリズムであり、主にモデリングの仮定において異なります。LSA は各文書が単一のトピックのみを持つと仮定し、PLSA は各トピックの確率分布が一定(theta が固定)と仮定し、LDA は各文書および単語のトピック確率が変数であると仮定します。

LDA アルゴリズムの本質は「神のサイコロ投げ」のアナロジーを通じて理解できます。詳細については、Rickjin による「LDA データの話」の記事を参照してください。

教師あり学習は分類と回帰に分けることができます。パーセプトロンは最も単純な線形分類器です。現在、実用的なアプリケーションは比較的少ないですが、ニューラルネットワークとディープラーニングの基礎単位です。

線形関数をデータに適合させ閾値に基づいて分類する場合、ノイズサンプルの影響を受けやすく、分類精度が低下します。ロジスティック回帰はシグモイド関数を使用してモデルの出力を 0 と 1 の間に制限し、ノイズデータの影響を効果的に抑えることができ、インターネット広告のクリック率予測に広く使用されています。

ロジスティック回帰モデルのパラメータは最尤推定で求解できます。まず目的関数 L(theta) を定義し、次に対数変換により目的関数の積の演算を和の演算に変換します(尤度の最大化 -> 損失関数の最小化)。最後に勾配降下法を用いて求解します。

線形分類器と比較して、決定木などの非線形分類器はより強力な分類能力を持ちます。ID3 と C4.5 は代表的な決定木アルゴリズムであり、モデリングプロセスは基本的に類似しています。両者の主な違いは目的関数の定義にあります。

線形回帰と線形分類は表現において類似していますが、根本的な違いは、分類の目的関数が離散値であるのに対し、回帰の目的関数は連続値である点です。この目的関数の違いにより、回帰では最小二乗法に基づく目的関数が定義されます。もちろん、観測誤差がガウス分布に従うと仮定すれば、最小二乗法と最尤推定法は等しくなります。

勾配降下法を用いてモデルのパラメータを求解する際、バッチモードまたは確率的モードを使用できます。一般的に、バッチモードはより正確であり、確率的モードは計算量が少ないという特徴があります。

前述のように、パーセプトロンは最も単純な線形分類器ですが、ディープラーニングの基礎単位と見なすことができ、モデルのパラメータは Auto Encoder などの手法で求解できます。

ディープラーニングの強みの一つは特徴量の抽象化と理解できます。低レベルの特徴から学習して高レベルの特徴を獲得し、より複雑な情報構造を記述します。たとえば、ピクセルレベルの特徴から学習してテクスチャ構造を記述するエッジ輪郭特徴を抽出し、さらに学習を進めて局所オブジェクトを特徴づける高レベルの特徴を獲得します。

昔から「3 人の靴職人が諸葛亮に勝る」と言います。線形分類であれディープラーニングであれ、単一モデルのアルゴリズムは単独で戦っています。データ処理のモデル精度をさらに向上させるために、さまざまな手法の強みを統合する方法はあるでしょうか。もちろんあります。アンサンブルモデルはこの問題に対処するためのものです。バギングはその一つの方法です。与えられたデータ処理タスクに対し、異なるモデル、パラメータ、特徴量を使用して複数セットのモデルパラメータを訓練し、最終的に投票または加重平均で結果を出力します。

ブースティングはアンサンブルモデルのもう一つの方法です。各イテレーションで誤分類サンプルの損失重みを調整することにより、データサンプル全体の処理精度を向上させるという考え方です。代表的なアルゴリズムには AdaBoost、GBDT などがあります。

異なるデータタスクシナリオに対して、異なるアンサンブルモデル手法を選択できます。ディープラーニングでは、隠れ層のノードに DropOut 手法を適用して同様の効果を得ることができます。

これほど多くの基本的な機械学習アルゴリズムを紹介したところで、モデルの良し悪しを評価する基本的な基準について述べます。学習不足と過学習は頻繁に遭遇する 2 つの状況です。判定する簡単な方法は、トレーニング誤差とテスト誤差の関係を比較することです。学習不足の場合、より多くの特徴量を設計してモデルのトレーニング精度を向上させることができます。過学習の場合、特徴量の数を調整してモデル複雑度を下げ、モデルのテスト精度を向上させることができます。

特徴量の数はモデル複雑度の直感的な反映です。これはモデルのトレーニング前に投入特徴量の数を調整する方法です。もう一つの一般的な方法は、トレーニングプロセス中に特徴量パラメータの正則化項を目的関数または損失関数に導入し、トレーニングプロセスに基づいて高品質な特徴量を筛选することです。

モデルの調整は非常に綿密な作業であり、最終的には実際のシナリオに対して信頼性の高い予測結果を提供し、実用的な問題を解決することが重要です。学んだことを実践に活かせることを願っています。

Related Articles

Explore More Special Offers

  1. Short Message Service(SMS) & Mail Service

    50,000 email package starts as low as USD 1.99, 120 short messages start at only USD 1.00

phone お問い合わせ
Hi, I'm Alibaba Cloud AI Assistant!
I can help with questions and solutions.