2
ロジスティック回帰における高度に歪んだデータセットの重みの追加
入力変数をバイナリ出力変数に合わせるために、標準バージョンのロジスティック回帰を使用しています。 しかし、私の問題では、負の出力(0)が正の出力(1)をはるかに上回ります。比率は20:1です。そのため、分類子をトレーニングすると、正の出力の可能性を強く示唆する機能でも、対応するパラメーターの値が非常に低い(非常に負の)ようです。これは、パラメーターをその方向に引っ張っている否定的な例が多すぎるために発生しているようです。 だから私は私が肯定的な例に重みを追加できるかどうか疑問に思っています(たとえば1ではなく20を使用して)。これはまったくメリットがありますか?もしそうなら、私はどのように重みを追加するべきですか(以下の方程式で)。 次のようなコスト関数ルックス J=(−1/m)⋅∑i=1my⋅log(h(x⋅θ))+(1−y)(1−log(h(x⋅θ)))J=(−1/m)⋅∑i=1my⋅log(h(x⋅θ))+(1−y)(1−log(h(x⋅θ)))J = (-1 / m) \cdot\sum_{i=1}^{m} y\cdot\log(h(x\cdot\theta)) + (1-y)(1 - \log(h(x\cdot\theta))) このコスト関数(WRTの勾配)次のとおりです。θθ\theta grad=((h(x⋅θ)−y)′⋅X)′grad=((h(x⋅θ)−y)′⋅X)′\mathrm{grad} = ((h(x\cdot\theta) - y)' \cdot X)' ここで、 =テストケースの数、x =特徴行列、y =出力ベクトル、h =シグモイド関数、θ =学習しようとしているパラメーター。mmmxxxyyyhhhθθ\theta 最後に、可能な限り低いを見つけるために勾配降下法を実行します。実装は正しく実行されているようです。JJJ