問題タブ [logistic-regression]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - シグモイド関数はロジスティック回帰で本当に重要ですか?
二項ロジスティック回帰分類器を実装しました。ふざけて、シグモイド関数 (1 / 1 + exp(-z)) を tanh に置き換えてみました。結果はまったく同じで、分類のしきい値は同じ 0.5 で、tanh は {-1,1} の範囲にあり、シグモイドは {0,1} の範囲にあります。
シグモイド関数を使用することは本当に重要ですか、それとも tanh のような任意の微分可能な非線形関数を使用できますか?
ありがとう。
r - nnet パッケージの multinom() で特定のコントラストを設定するには?
分類が必要な 3 クラスの問題があります。nnet
パッケージで多項ロジスティック回帰を使用したい。クラスの結果には、P、Q、R の 3 つの要素があります。Q を基本要素として扱いたいと思います。
だから私はそれを次のように対比して書き込もうとしました:
それをチェックしました:
今multinom()
:
出力:
質問:
ご覧のとおり、P クラスは出力に表示されなかったので、R で因子変数を処理するときに予想どおりアルファベット順で最初のベースとして扱われ、Q クラスはとして扱われなかったということです。この場合のベース レベルは、他の 2 つのレベルのベースにする方法は?
machine-learning - ロジスティック回帰分類器のブートストラップ集約 (バギング)
したがって、N 個のブートストラップ サンプルを取得し、これらのサンプルで N 個のロジスティック回帰分類器をトレーニングしています。各分類子は、バイナリ クラスに属する確率を与えてから、これらの N 個の確率を平均して最終的な予測を取得します。
私の質問は、N セットの回帰係数を取得してそれらを平均化し、その平均化された係数セットをロジスティック回帰分類器で使用し、出力確率を最終予測として使用した場合、これは結果の N 個の確率の平均を取ることと同じですか?前の段落で説明したように?
scikit-learn - 相互検証後に新しいテスト セットで estimator.predict を使用することは可能ですか?
scikit について新たな質問があります。
分類問題、推定量としてのロジスティック回帰。私は自分の機能を備えた X データセットを持っています。
クロス検証を通じてアルゴリズムを使用したいのですが、2 つの方法があります。データセットを手動で 5 つのサブセットに分割し、最後に 5 回反復して、毎回異なるセットをテスト用に残します。スコアを取得しましたが、今必要なのは、新しいデータセットを予測するために推定器で使用する係数の平均です。係数をscikitロジスティック回帰推定器に渡すことが可能であることをstackoverflowのどこかで読みました。
それ以外の場合は、次を使用しますcross_val_score
。
クロス検証推定後のクロスエントロピーを教えてくれます。しかし、平均係数を使用し、新しいまだラベル付けされていないデータセットの新しい予測に推定量を使用したい場合はどうなるでしょうか?
ありがとうございました!
r - rのバギングロジスティック回帰
R_blogger は次のコードを提供します。追加した部分は機能しないためコメント アウトされています。反復ロジスティック回帰から係数ベクトルと p 値を保存する方法を探しているので、常にスコアが高くない変数を削除できます。
予測に似た係数と p 値のオブジェクトを取得できるようにしたい
matlab - Matlab でのロジスティック回帰勾配降下
ここにコードがあります
私が抱えている問題は、対数尤度比が最初に減少し、次に増加し始めることです。これは勾配降下アルゴリズムの問題ですか、それともコードの問題ですか。
python - python scipy.optimize.minimizeを使用しているときに解がグローバル最小であることを確認する方法
Pythonでロジスティック回帰を実装していました。theta を見つけるために、初期パラメーターの theta を気にせずに常にグローバルな最適値を保証する最適なアルゴリズムを決定するのに苦労しました。
ex2data1.txt の内容は次のとおりです。
上記のコードは、[-25.87282405 0.21193078 0.20722013] として theta = Result.x 値を与えます。これは、initial_theta = np.zeros((n,1)) の場合のグローバルな最小値です。しかし、initial_theta = np.ones((n,1)) の場合、エラーが発生します。したがって、この場合、結果はパラメーター theta の初期値に依存します。したがって、この問題を回避するために、これを何らかの方法で自動化できますか。
また、以下に示すように、最小化関数呼び出しで「TNC」メソッドの代わりに「BFGS」メソッドを使用しようとすると、RuntimeWarning が発生します。
上記の関数を異なる初期値の initial_theta で数回呼び出したところ、BFGS の最大時間が極小値に収束することがわかりました。でBFGSを呼び出したとき
これは大域的最小値に近くなり、収束しました。したがって、どちらの場合も intial_theta が同じであるため、TNC はグローバル最小値に収束し、BFGS はローカル最小値に収束するため、TNC は BFGS よりも優れているようです。そう
- これはすべての場合に当てはまりますか、それとも特定の問題に依存しますか?
- BFGSとTNCはどちらが優れていますか?
- scipy.optimize.fmin_bfgs と scipy.optimize.minimize のメソッド パラメータ = 'BFGS' または両方に違いはありますか?
どんな助けや洞察も役に立ちます。ありがとうございました。