機械学習/MacでLIBLINEARを使う
をテンプレートにして作成
開始行:
*はじめに [#x9ac31a3]
LIBLIEARは線形SVMのツールです.
LIBSVMの作者が開発しました.
LIBSVMよりも高速らしいです.
この記事の内容は以下の環境で確認しました.
-OS X 10.8.2 Mountain Lion
-LIBLINEAR 1.92
*準備 [#tb606359]
インストールにXcodeのCommand Line Toolsが必要です.
まず,AppStoreからXcodeを無料で入手し,インストールします.
次に,Xcodeを実行して「環境設定」を開き,Downloadsタブに...
*ダウンロード [#h025d56d]
LIBLINEARのソースコードを次のサイトからダウンロードします.
-http://www.csie.ntu.edu.tw/~cjlin/liblinear/
*インストール [#p7541497]
ダウンロードしたファイルを展開し,展開されたディレクトリ...
#geshi(sh){{
$ make
}}
Warningがたくさん出ましたが,気にしないことにします.
*動作確認 [#qc9c4d9f]
#geshi(sh){{
$ ./train heart_scale
......*..*
optimization finished, #iter = 85
Objective value = -121.123792
nSV = 193
$ ./predict heart_scale heart_scale.model heart_scale.pre...
Accuracy = 84.4444% (228/270)
}}
''train''はモデルを学習するプログラムです.
''train''には,訓練データのファイルを引数として与えて実行...
すると,学習した結果(モデル)が,訓練データのファイル名...
''predict''は学習したモデルを用いて予測するプログラムです.
''predict''には,テスト・データのファイル,学習したモデル...
すると,指定したファイルに予測結果が書き込まれます.
*オプション [#cb52c469]
主なオプションを紹介します.
詳細はREADMEファイルか,LIBLINEARのDocumentaionを参照して...
**-s タイプ [#v5c905f6]
学習器の種類を指定します.
(主)と(双対)は,それぞれ,最適化が主問題を解いている...
デフォルトは1です.
***多クラス分類 [#bf6d21d9]
-0 L2正則化ロジスティック回帰(主)
-1 L2正則化L2ロスSVC(双対)
-2 L2正則化L2ロスSVC(主)
-3 L2正則化L1ロスSVC(双対)
-4 CrammerとSingerのSVC
-5 L1正則化L2ロスSVC
-6 L1正則化ロジスティック回帰
-7 L1正則化ロジスティック回帰(双対)
***回帰 [#j0ae65c8]
-11 L2正則化L2ロスSVR(主)
-12 L2正則化L2ロスSVR(双対)
-13 L2正則化L1ロスSVR(双対)
**-c コスト [#nab2103e]
Cパラメーターを指定します.
デフォルトは1です.
**-p ε [#sf759f6b]
ε-SVRのロス関数のεパラメーターを指定します.
デフォルトは0.1です.
**-v 分割数 [#q472ab06]
n分割クロス・バリデーション(交差検定)を行うときの,分割...
終了行:
*はじめに [#x9ac31a3]
LIBLIEARは線形SVMのツールです.
LIBSVMの作者が開発しました.
LIBSVMよりも高速らしいです.
この記事の内容は以下の環境で確認しました.
-OS X 10.8.2 Mountain Lion
-LIBLINEAR 1.92
*準備 [#tb606359]
インストールにXcodeのCommand Line Toolsが必要です.
まず,AppStoreからXcodeを無料で入手し,インストールします.
次に,Xcodeを実行して「環境設定」を開き,Downloadsタブに...
*ダウンロード [#h025d56d]
LIBLINEARのソースコードを次のサイトからダウンロードします.
-http://www.csie.ntu.edu.tw/~cjlin/liblinear/
*インストール [#p7541497]
ダウンロードしたファイルを展開し,展開されたディレクトリ...
#geshi(sh){{
$ make
}}
Warningがたくさん出ましたが,気にしないことにします.
*動作確認 [#qc9c4d9f]
#geshi(sh){{
$ ./train heart_scale
......*..*
optimization finished, #iter = 85
Objective value = -121.123792
nSV = 193
$ ./predict heart_scale heart_scale.model heart_scale.pre...
Accuracy = 84.4444% (228/270)
}}
''train''はモデルを学習するプログラムです.
''train''には,訓練データのファイルを引数として与えて実行...
すると,学習した結果(モデル)が,訓練データのファイル名...
''predict''は学習したモデルを用いて予測するプログラムです.
''predict''には,テスト・データのファイル,学習したモデル...
すると,指定したファイルに予測結果が書き込まれます.
*オプション [#cb52c469]
主なオプションを紹介します.
詳細はREADMEファイルか,LIBLINEARのDocumentaionを参照して...
**-s タイプ [#v5c905f6]
学習器の種類を指定します.
(主)と(双対)は,それぞれ,最適化が主問題を解いている...
デフォルトは1です.
***多クラス分類 [#bf6d21d9]
-0 L2正則化ロジスティック回帰(主)
-1 L2正則化L2ロスSVC(双対)
-2 L2正則化L2ロスSVC(主)
-3 L2正則化L1ロスSVC(双対)
-4 CrammerとSingerのSVC
-5 L1正則化L2ロスSVC
-6 L1正則化ロジスティック回帰
-7 L1正則化ロジスティック回帰(双対)
***回帰 [#j0ae65c8]
-11 L2正則化L2ロスSVR(主)
-12 L2正則化L2ロスSVR(双対)
-13 L2正則化L1ロスSVR(双対)
**-c コスト [#nab2103e]
Cパラメーターを指定します.
デフォルトは1です.
**-p ε [#sf759f6b]
ε-SVRのロス関数のεパラメーターを指定します.
デフォルトは0.1です.
**-v 分割数 [#q472ab06]
n分割クロス・バリデーション(交差検定)を行うときの,分割...
ページ名: