Microsoft-cognitive-toolkit-logistic-regression-model
CNTK-ロジスティック回帰モデル
この章では、CNTKでロジスティック回帰モデルを構築する方法について説明します。
ロジスティック回帰モデルの基礎
最も単純なML手法の1つであるロジスティック回帰は、特にバイナリ分類の手法です。 つまり、予測する変数の値が2つのカテゴリ値のいずれかになる可能性がある状況で予測モデルを作成します。 ロジスティック回帰の最も単純な例の1つは、人の年齢、声、髪の毛などに基づいて、その人が男性か女性かを予測することです。
例
別の例を使用して、ロジスティック回帰の概念を数学的に理解しましょう-
ローン申請の信用力を予測したいとします。申請者 debt、収入 および 信用格付け に基づいて、0は拒否、1は承認を意味します。 債務はX1、収入はX2、信用格付けはX3で表します。
ロジスティック回帰では、すべての特徴について w で表される重み値と b で表される単一のバイアス値を決定します。
いま、
そして、私たちは次のように重みとバイアスを決定すると仮定します-
ここで、クラスを予測するために、次の式を適用する必要があります-
次に、* P = 1.0/(1.0 + exp(-Z))*を計算する必要があります。 ここで、exp()関数はオイラーの数です。
P値は、クラスが1である確率と解釈できます。 P <0.5の場合、予測はクラス= 0です。それ以外の場合、予測(P> = 0.5)はクラス= 1です。
重みとバイアスの値を決定するには、既知の入力予測値と既知の正しいクラスラベル値を持つトレーニングデータのセットを取得する必要があります。 その後、重みとバイアスの値を見つけるために、アルゴリズム(通常は勾配降下法)を使用できます。
LRモデルの実装例
このLRモデルでは、次のデータセットを使用します-
このLRモデルの実装をCNTKで開始するには、まず次のパッケージをインポートする必要があります-
プログラムは次のようにmain()関数で構成されています-
今、私たちは次のようにトレーニングデータをメモリにロードする必要があります-
ここで、トレーニングデータと互換性のあるロジスティック回帰モデルを作成するトレーニングプログラムを作成します-
今、私たちは次のようにラーナーとトレーナーを作成する必要があります-
LRモデルのトレーニング
LRモデルを作成したら、次に、トレーニングプロセスを開始します。
今、次のコードの助けを借りて、モデルの重みとバイアスを出力できます-
ロジスティック回帰モデルのトレーニング-完全な例
出力
訓練されたLRモデルを使用した予測
LRモデルがトレーニングされると、次のように予測に使用できます-
まず、評価プログラムはnumpyパッケージをインポートし、上記で実装したトレーニングプログラムと同じ方法で、トレーニングデータを特徴マトリックスとクラスラベルマトリックスに読み込みます-
次に、私たちのトレーニングプログラムによって決定された重みとバイアスの値を設定する時が来ました-
次に、私たちの評価プログラムは、次のように各トレーニング項目を歩くことによってロジスティック回帰確率を計算します-
今、私たちは予測を行う方法を示しましょう-
完全な予測評価プログラム
出力
重みとバイアス値の設定。