- メインページ
- モジュール
- ネームスペース
- データ構造
- ファイル

- ファイル一覧
- グローバル

データ構造 | ネームスペース | マクロ定義 | 型定義
machine_learning.h

機械学習を行うためのライブラリ [詳細]

`#include "mist.h"`
`#include "random.h"`
`#include <ctime>`
`#include <vector>`
`#include <map>`
`#include <algorithm>`

ソースコードを見る。

## データ構造
struct | mist::machine_learning::feature_one
| 機械学習で利用する２カテゴリの特徴量を管理するクラス（内部でのみ使用） [詳細]
struct | mist::machine_learning::feature
| 機械学習で利用する多カテゴリの特徴量を管理するクラス [詳細]
struct | mist::machine_learning::pair< KEY, VALUE >
| 機械学習で利用する２カテゴリの特徴量を管理するクラス（内部でのみ使用） [詳細]
class | mist::machine_learning::adaboost::threshold_classifier
| AdaBoost で利用するしきい値処理を用いた弱識別器 [詳細]
class | mist::machine_learning::adaboost::mahalanobis_classifier
| AdaBoost で利用するマハラノビス距離を用いた弱識別器 [詳細]
class | mist::machine_learning::adaboost::confidence_rating_classifier
| AdaBoost で利用するマハラノビス距離を用いた弱識別器 [詳細]
class | mist::machine_learning::adaboost::classifier< __WEAK_CLASSIFIER__ >
| AdaBoost を用いた識別器（マルチクラス対応） [詳細]

## ネームスペース
namespace | mist
namespace | mist::machine_learning
| 機械学習
namespace | mist::machine_learning::adaboost
| AdaBoost を用いた識別器

## マクロ定義
#define | __ASYMMETRIC_WEIGHTING__ 0
| AdaBoost の弱識別器に付与する重みを非対称にするかどうか
#define | __ONE_PER_CLASS_CODE_WORD__ 0
| 1クラスに1つ一意の Code Word を割り当てるかどうか
#define | __RANDOM_CODE_WORD__ 0
| ERPを実行する際に使用する初期 Code Word をランダムに生成するかどうか
#define | __DEBUG_OUTPUT_LEVEL__ 0
| コンソールに学習の様子をデバッグ情報として出力するレベル（0は何も出力しない）
#define | __NUMBER_OF_INNER_LOOPS__ 10
| Ling Li の方法を使って Code Word を更新する最大回数

## 型定義
typedef double | mist::machine_learning::feature_value_type
| 機械学習で利用する特徴量を表現するデータ型
typedef double | mist::machine_learning::feature_weight_type
| 機械学習で利用するサンプルの重み表現するデータ型

## 説明

機械学習を行うためのライブラリ

マルチクラス対応の AdaBoost アルゴリズムが実装してあります．

- 参考文献
  - Multiclass Adaboost
    - Thomas G. Dietterich, Ghulum Bakiri, `Solving Multiclass Learning Problems via Error-Correcting Output Codes,'' Journal of Artificial Intelligence Research, 2, pp. 263--286, 1995`
    - `Venkatesan Guruswami, Amit Sahai,`Multiclass Learning, Boosting, and Error-Correcting Codes,'' Proc. of 12th Annual Conference, Computational Learning Theory, pp. 145–155, 1999
    - Robert E. Schapire, Yoram Singer, `Improved Boosting Algorithms Using Confidence-rated Predictions,'' Machine Learning, 37, pp. 297--336, 1999`
    - `Ling Li,`Multiclass Boosting with Repartitioning,'' Proceedings of 23rd International Conference on Machine Learning, pp.569–576, 2006