これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド liblinear-train です。
プログラム:
NAME
liblinear-train - 線形分類器をトレーニングし、モデルを生成します
SYNOPSIS
liblinear-train [オプション] トレーニングセットファイル [モデルファイル]
DESCRIPTION
liblinear-train liblinear を使用して線形分類器をトレーニングし、適切なモデルを生成します
使用のために liblinear-predictとします。
トレーニングセットファイル トレーニングに使用されるデータを含むファイルです。 モデルファイル は
モデルが保存されるファイル。 もし モデルファイル は提供されていません。デフォルトでは
training_set_file.model.
良好なパフォーマンスを得るには、場合によってはデータをスケーリングする必要があります。 これは次のように行うことができます
svm スケールとします。
OPTIONS
オプションの概要は以下に含まれています。
-s type
ソルバーのタイプを設定します。
0 ... L2 正規化ロジスティック回帰
1 ... L2 正規化 L2 損失サポート ベクトル分類 (デュアル) (デフォルト)
2 ... L2 正規化 L2 損失サポート ベクトル分類 (主)
3 ... L2 正規化 L1 損失サポート ベクトル分類 (デュアル)
4 ... マルチクラスサポートベクトル分類
5 ... L1 正規化 L2 損失サポート ベクトル分類
6 ... L1 正規化ロジスティック回帰
7 ... L2 正規化ロジスティック回帰 (双対)
-c コスト
パラメータ C を設定します (デフォルト: 1)
-e イプシロン
終了基準の許容範囲を設定します
-s 0 および 2 の場合:
|f'(w)|_2 <= イプシロン*min(pos,neg)/l*|f'(w0)_2、f は
主関数と pos/neg は正/負のデータの数です
(ディフォルト: 0.01)
-s 1、3、4、および 7 の場合:
二重最大値違反 <= イプシロン; libsvm に似ています (デフォルト: 0.1)
-s 5 および 6 の場合:
|f'(w)|_inf <= イプシロン*min(pos,neg)/l*|f'(w0)|_inf、f は主数
関数 (デフォルト: 0.01)
-B バイアス
If バイアス >= 0 の場合、インスタンス x は [x; バイアス]; もし バイアス < 0 の場合
バイアス項は追加されません (デフォルト: -1)
-wi 重量
クラスのパラメータCを重み付け調整します i 値によって 重量
-v n n-fold 相互検証モード
-C パラメータ C を検索 (-s 0 および 2 の場合のみ)
-q 静音モード (出力なし)。
例
L2 損失関数を使用して線形 SVM をトレーニングします。
liblinear-train データファイル
ロジスティック回帰モデルをトレーニングします。
liblinear-train -s 0 データファイル
L2 損失 SVM を使用し、より小さい停止許容値 0.001 を使用して XNUMX 分割相互検証を実行します。
より正確なソリューションを得るには、デフォルトの 0.1 の代わりに次のようにします。
liblinear-train -v 5 -e 0.001 データファイル
L2-loss SVMによる相互検証を何度も行い、これを達成するパラメータCを求める
最高の相互検証精度:
train -C データファイル
-C によるパラメーター選択の場合、ユーザーは他のソルバー (現在は -s 0 と -s 2) を指定できます。
がサポートされています)、CV フォールドの数が異なります。 さらに、ユーザーは -c オプションを使用して、
検索範囲の最小の C 値を指定します。 この設定は、ユーザーが必要な場合に便利です
別の設定で指定された C からパラメータ選択手順を再実行するには、
たとえば、上の例ではより厳密な停止許容値 -e 0.0001 です。
train -C -s 0 -v 3 -c 0.5 -e 0.0001 データファイル
XNUMX つの分類器をトレーニングします。
正 負 Cp Cn
クラス 1 クラス 2,3,4、20、10 XNUMX XNUMX
クラス 2 クラス 1,3,4、50、10 XNUMX XNUMX
クラス 3 クラス 1,2,4、20、10 XNUMX XNUMX
クラス 4 クラス 1,2,3、10、10 XNUMX XNUMX
liblinear-train -c 10 -w1 2 -w2 5 -w3 2 four_class_data_file
クラスが 10 つしかない場合は、XNUMX つのモデルをトレーニングします。 XNUMX つのクラスの C 値は XNUMX です。
および50:
liblinear-train -c 10 -w3 1 -w2 5 two_class_data_file
次を使用して確率推定値を出力します (ロジスティック回帰のみ)。 liblinear-predict(1):
liblinear-predict -b 1 テストファイル データファイル.モデル出力ファイル
onworks.net サービスを使用してオンラインで liblinear-train を使用する