どのように我々は、機械学習におけるハイパーパラメータの値を設定するのですか?

Moaz Maalik:

機械学習で私たちは皆知っている、ハイパー値学習プロセスを開始する前に設定されているパラメータです。これとは対照的に、他のパラメータの値は、訓練を経て導出されているが、我々はこれらの値を設定する方法?たぶん、データ検証を使用していますか?

ハミッシュ・ギブソン:

精度を向上させることができる機械学習における重要な側面は、グリッド検索クロスバリデーションと呼ばれるいただきましたです。サポートベクターマシンを用いて、その精度に影響を与える可能性が重要なパラメータは、カーネルの種類、カーネルの程度ならびにそのCガンマ値です。しかし、極端な値ガンマおよびCは、オーバーフィットにあなたのモデルを引き起こす可能性があります。それが唯一の訓練に非常によく実行しますが、テスト中に正確なようではないことをこれが意味。

グリッド検索クロスバリデーションは、トレーニング中にモデルに与えられた候補パラメータのすべての順列による徹底的な調査を行い、そして最高の精度を与えるパラメータの組み合わせを選択します。

例は次のようになります。

candidate_parameters = [{'C': [1,10,100], 'gamma': [1,10,100], 'kernel': ['rbf', 'poly'], 'degree': [2,3,4]}]

clf = GridSearchCV(estimator = svm.SVC(), param_grid = candidate_parameters, n_jobs = -1)

さらなる例およびドキュメントはここで見つけることができます:https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html

さらに、徹底した特徴選択を行うことが重要です。例えば、すべて同じ値が含まれている機能は、モデルへの予測力を与えません。(問題の種類に応じて)特徴選択を行うための多くの方法があります。堅牢な特徴選択に関するさらなるdocumenationがここに発見された:https://scikit-learn.org/stable/modules/generated/sklearn.feature_selection.SelectKBest.html

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=377550&siteId=1