タグ付けされた質問 「machine-learning」

機械学習アルゴリズムは、トレーニングデータのモデルを構築します。「機械学習」という用語は漠然と定義されています。これには、統計学習、強化学習、教師なし学習などとも呼ばれるものが含まれます。常に、より具体的なタグを追加します。

2
ボンフェローニ修正と機械学習
心理学の研究では、単一のデータセットでいくつかの仮説をテストする場合、ボンフェローニ法を使用して有意水準を調整する必要があることを学びました。 現在、分類のためにサポートベクターマシンやランダムフォレストなどの機械学習手法を使用しています。ここに、最高の精度をもたらす最良のパラメーター(SVMのカーネルパラメーターなど)を見つけるために交差検証で使用される単一のデータセットがあります。 私の直感は、それが同様の問題であると言っています(そしておそらく完全にオフになっています)。考えられるパラメーターの組み合わせの数が多すぎると、素晴らしい結果が得られる可能性が高くなります。しかし、これは単なる偶然かもしれません。 私の質問を要約すると: 機械学習では、分類器の適切なパラメーターを見つけるために交差検証を使用します。使用するパラメーターの組み合わせが多いほど、偶然に大きな組み合わせを見つける可能性が高くなります(オーバーフィット?)。ボンフェローニ修正の背後にある概念はここにも適用されますか?別の問題ですか?もしそうなら、なぜですか?

3
GANのジェネレータはどのようにトレーニングされますか?
ガンズの論文は、弁別が電車に以下の勾配を使用しています言います: ∇θd1メートルΣi = 1メートル[ ログD (x(私)) +ログ(1 − D (G (z(私)))) ]∇θd1メートルΣ私=1メートル[ログ⁡D(バツ(私))+ログ⁡(1−D(G(z(私))))]\nabla _{\theta_d} \frac{1}{m}\sum^{m}_{i=1} [\log{D(x^{(i)})} + \log{(1-D(G(z^{(i)})))}] 値は、サンプリングされたデータサンプルを生成するために発電機に通し、次いで弁別器は、生成されたデータサンプルを使用してbackpropogatedされます。ジェネレータがデータを生成すると、それは弁別子のトレーニングでそれ以上の役割を果たしません。言い換えると、ジェネレータは、データサンプルを生成し、サンプルのみを処理することで、メトリックから完全に削除できます。zzz ただし、ジェネレーターのトレーニング方法については少し混乱しています。次のグラデーションを使用します。 ∇θg1メートルΣi = 1メートル[ ログ(1 − D (G (z(私)))) ]∇θg1メートルΣ私=1メートル[ログ⁡(1−D(G(z(私))))]\nabla _{\theta_g} \frac{1}{m}\sum^{m}_{i=1} [\log{(1-D(G(z^{(i)})))}] この場合、弁別子はメトリックの一部です。前のように取り除くことはできません。通常の判別モデルにおける最小二乗や対数尤度のようなものは、適切に形成された見事な定義を持っているため、簡単に区別できます。ただし、メトリックが別のニューラルネットワークに依存している場合に、逆伝播する方法について少し混乱しています。本質的に、ジェネレータの出力を弁別器の入力に接続し、全体を弁別器部分の重みが一定である1つの巨大ネットワークのように扱いますか?

4
マルチクラスのマシューズ相関係数
マシューズ相関係数()は、バイナリ分類の品質を測定する測定値です([Wikipedia] [1])。定式化は、真陽性()、偽陽性()、偽陰性()、および真陰性()の値を利用して、以下のようにバイナリ分類を行います。MCCMCC\textrm{MCC}MCCMCC\textrm{MCC} T P F P F N T NTPTPTPFPFPFPFNFNFNTNTNTN MCC = TP× TN− FP× FN(TP+ FP)(TP+ FN)(TN+ FP)(TN+ FN)−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−√MCC=TP×TN−FP×FN(TP+FP)(TP+FN)(TN+FP)(TN+FN)\textrm {MCC} = \frac{TP\times TN - FP\times FN}{\sqrt{\left(TP+FP\right)\left(TP+FN\right)\left(TN+FP\right)\left(TN+FN\right)}} 、、 3つの異なるクラスを分類する必要がある場合があります。上記の定式化を適用して、以下に示すように各クラスの、、、および値を計算した後、マルチクラスケースのを計算できますか? あAABBBCCCMCCMCC\textrm{MCC}TPTPTPTNTNTNFPFPFPFNFNFNTP=TPA+TPB+TPC;TN=TNA+TNB+TNC;FP=FPA+FPB+FPC;FN=FNA+FNB+FNC;TP=TPA+TPB+TPC;TN=TNA+TNB+TNC;FP=FPA+FPB+FPC;FN=FNA+FNB+FNC; TP = TP_A + TP_B + TP_C;\\ TN = TN_A + TN_B + TN_C;\\ FP = FP_A + FP_B + …

2
統計学習入門のAIC式
Hastieの「Introduction to Statistical Learning」で提示された式に少し戸惑っています。第6章、212ページ(6番目の印刷、ここで利用可能)では、次のように述べられています。 A IC= R SSnはσ^2+ 2 Dんあ私C=RSSんσ^2+2dんAIC = \frac{RSS}{n\hat\sigma^2} + \frac{2d}{n} ガウスノイズのある線形モデルの場合、は予測子の数、は誤差分散の推定値です。しかしながら、dddσ^σ^\hat\sigma σ^2= R SS(n − 2 )σ^2=RSS(ん−2)\hat\sigma^2 = \frac{RSS}{(n-2)} これについては、第3章の66ページで説明されています。 それは意味するでしょう: A IC= (n − 2 )ん+ 2 Dんあ私C=(ん−2)ん+2dんAIC = \frac{(n-2)}{n} + \frac{2d}{n} これは正しくありません。誰かが私が間違っていることを指摘できますか?


5
強化学習のサンプルから報酬関数を学習する必要があるのはなぜですか?
強化学習では、エージェントに現在の行動と状態がどの程度うまく行っているかをエージェントに通知する報酬機能があります。いくつかの一般的な設定では、報酬関数は3つの変数の関数です。 現在の状態SSS 現在の状態での現在のアクションπ(s)=aπ(s)=a\pi(s) = a 次の状態S′S′S' したがって、次のようになります。 R(S,a,S′)R(S,a,S′)R(S, a, S') 私の質問は何ですか(おそらく私の誤解です)、通常、強化学習を使用している人が報酬を決定します。たとえば、目標に到達するために1000ポイントを割り当てたり、自律ロボットをクラッシュさせるために-1000ポイントを割り当てたりします。これらのシナリオでは、なぜRを学習するためにサンプルが必要になるのかがはっきりしません。Rは事前に指定されたものであり、エージェントを使用します。正しい?しかし、私は私が間違っていることを知っています。 報酬関数が明確にわからないと彼が言ったところ。それは私には奇妙に思えます。私は間違っていることを知っています。実際にサンプルからRを学習する必要があるシナリオを誰かに説明してもらえたら幸いです。 (明らかに、環境によってエージェントがアプリオリにどのように動くのかわからないため、遷移確率を学習する必要があります)。

2
クロスエントロピー損失のベクトル化
パラメータ使用して、クロスエントロピー損失関数の勾配を見つけることに関連する問題を処理しています。θθ\theta CE(θ)=−∑iyi∗log(y^i)CE(θ)=−∑iyi∗log(y^i)CE(\theta) = -\sum\nolimits_{i}{y_i*log({\hat{y}_{i}})} ここで及びθ iは、ベクトル入力されます。y^i=softmax(θi)y^i=softmax(θi)\hat{y}_{i} = softmax(\theta_i)θiθi\theta_i また、正しいクラスのワンホットベクトルであり、yはソフトマックス関数を用いて各クラスの予測です。yyyy^y^\hat{y} したがって、例えば有することができ 及びY iは = (0.10 0.20 0.10 0.40 0.20)yi=⎛⎝⎜⎜⎜⎜⎜⎜00010⎞⎠⎟⎟⎟⎟⎟⎟yi=(00010)y_i = \begin{pmatrix}0\\0\\0\\1\\0\end{pmatrix}y^i=⎛⎝⎜⎜⎜⎜⎜⎜0.100.200.100.400.20⎞⎠⎟⎟⎟⎟⎟⎟y^i=(0.100.200.100.400.20)\hat{y}_{i} = \begin{pmatrix}0.10\\0.20\\0.10\\0.40\\0.20\end{pmatrix} 偏微分見つけるには∂CE(θ)∂θik=−yik−y^ik∂CE(θ)∂θik=−yik−y^ik\frac{\partial{CE(\theta)}}{\partial{\theta{ik}}} = -{y_{ik} - \hat{y}_{ik}} 各そこから取っ個々の部分勾配はなり ∂ C E (θ )iii∂CE(θ)∂θi=⎛⎝⎜⎜⎜⎜⎜⎜yi1−y^i1yi2−y^i2yi3−y^i3yi4−y^i4yi5−y^i5⎞⎠⎟⎟⎟⎟⎟⎟∂CE(θ)∂θi=(yi1−y^i1yi2−y^i2yi3−y^i3yi4−y^i4yi5−y^i5)\frac{\partial{CE(\theta)}}{\partial{\theta{i}}} = \begin{pmatrix}y_{i1} - \hat{y}_{i1}\\y_{i2} - \hat{y}_{i2}\\y_{i3} - \hat{y}_{i3}\\y_{i4} - \hat{y}_{i4}\\y_{i5} - \hat{y}_{i5}\end{pmatrix} ただし、1つのホットベクトルのプロパティを使用したため、4番目の行を除く他のすべての行の勾配は実際には0になるため、これは当てはまりません。だから、実際の勾配があるべき ∂CE(θ)∂θi=⎛⎝⎜⎜⎜⎜⎜⎜000yi4−y^i40⎞⎠⎟⎟⎟⎟⎟⎟∂CE(θ)∂θi=(000yi4−y^i40)\frac{\partial{CE(\theta)}}{\partial{\theta{i}}} = \begin{pmatrix}0\\0\\0\\y_{i4} - …

1
ニューラルネットワークで入力ベクトルの長さの変更を処理する方法
文字のシーケンスを入力ベクトルとして使用して、ニューラルネットワークをトレーニングします。学習例は長さが異なるため、それらを表現する方法がわかりません。 ここに名前の2つのシーケンスの例があるとします。 john doe maurice delanoe 最初の例は長さ8、2番目の例は長さ15です。 これらの両方の例を学ぶ方法はありますか?同じ学習システムでサイズ8と15の両方の入力ベクトルを使用することを意味します。 ご協力いただきありがとうございます !

2
線形判別分析射影プロットを再現
線形判別分析(LDA)で投影点と格闘しています。多変量統計手法に関する多くの本は、LDAの考え方を下の図で示しています。 問題の説明は次のとおりです。まず、決定境界を描き、垂直線を追加し、データポイントの投影をプロットする必要があります。垂線に投影点を追加する方法を知りたい。 提案/ポインタはありますか?

2
scikit-learnでカテゴリ変数の相互作用を準備する方法は?
scikit-learnでフィッティングする前に、カテゴリ特徴の相互作用を準備する最良の方法は何ですか? とstatsmodels私はRスタイルで便利に言うことができましたsmf.ols(formula = 'depvar ~ C(var1)*C(var2)', data=df).fit()(とスタタで同じですregress depvar i.var1##i.var2)。 sklearn.preprocessing.PolynomialFeatures(v0.15では、現在開発中)カテゴリ変数を使用できますか?

2
RBMの持続的なコントラストの相違
制限付きボルツマンマシンに永続的CD学習アルゴリズムを使用する場合、最初の反復でデータポイントからギブスサンプリングチェーンを開始しますが、通常のCDとは異なり、後続の反復ではチェーンから開始しません。代わりに、前の反復のギブスサンプリングチェーンが終了したところから開始します。 通常のCDアルゴリズムでは、各反復でデータポイントのミニバッチが評価され、それらのデータポイント自体から始まるギブスサンプリングチェーンが計算されます。 永続CDでは、各データポイントのギブスサンプリングチェーンを維持する必要がありますか?それとも、現在の反復で現在評価されていないデータポイントから始まったギブスサンプリングチェーンのミニバッチも保持する必要がありますか? 各データポイントのギブスサンプリングチェーンを維持するのは面倒すぎるように思えますが、一方で、現在のサンプルの信号を、現在のところから始まっていない長いギブスチェーンの後の信号と比較することは不適切のようです。サンプル。

4
回帰モデルの評価
分類の問題については、ニューラルネットワークを使用して、このリソース (ミラー)に従って混同行列とその測定値を使用してタイプIおよびIIのエラーを測定してきました。これは非常に簡単です。 推定の問題に直面した場合、モデルのパフォーマンスをどのように評価しますか?クラスがなく、出力が実際の形式で解釈されると仮定します。距離測定基準の平均化を超えて、それは多くの洞察を与えません。

2
HMM Baum-Welchでの後方変数のスケーリング
スケーリングされたBaum-Welchアルゴリズムを実装しようとしていますが、スケーリング後の後方変数が1の値を超えているという問題に遭遇しました。これは正常ですか?結局のところ、確率は1を超えてはなりません。 私はフォワード変数から取得したスケール係数を使用しています: ct=1/∑s∈Sαt(s)ct=1/∑s∈Sαt(s) c_t = 1 / \sum_{s\in S}\alpha_t(s)\\ ここで、c_tは時間tのスケーリング係数、alphaは前方変数、sはhmmの状態です。 後方アルゴリズムについては、以下のJavaで実装しました。 public double[][] backwardAlgo(){ int time = eSequence.size(); double beta[][] = new double[2][time]; // Intialize beta for current time for(int i = 0; i < 2; i++){ beta[i][time-1] = scaler[time-1]; } // Use recursive method to calculate beta double tempBeta …

1
ガウス過程を理解しようとしています
私はGPMLブックを読んでおり、第2章(15ページ)で、Gaussian Process(GP)を使用して回帰を行う方法を説明していますが、それがどのように機能するかを理解するのに苦労しています。 パラメトリックモデルのベイズ推定では、まずモデルパラメーター事前分布、つまりp (θ )を選択します。次に、トレーニングデータDが与えられたときに、尤度p (D | θ )を計算します。そして最後に、我々は後方持っθのように、P (θ | D )で使用される、予測分布P (Y * | X *、D )= ∫ P (Y *θθ\thetap (θ )p(θ)p(\theta)DDDp (D | θ )p(D|θ)p(D|\theta)θθ\thetap (θ | D )p(θ|D)p(\theta|D) 以上、そして、我々は右、パラメトリックモデルのためのベイズ推論で何ですか?p (y∗| バツ∗、D )= ∫p (y∗| バツ∗、θ )p (θ | D )dθp(y∗|x∗,D)=∫p(y∗|x∗,θ)p(θ|D)dθp(y^*|x^*,D)=\int p(y^*|x^*,\theta)p(\theta|D)d\theta さて、本で述べたように、GPはノンパラメトリックであり、私が理解している限り、平均関数 と共分散関数k (x 、x …

2
高度に不均衡なテストデータセットと分類におけるバランスのとれたトレーニングデータ
約3000の正のインスタンスと3000の負のインスタンスのトレーニングセットがあります。しかし、私のテストデータセットはほとんどバランスが取れていません。正のセットには50個のインスタンスしかなく、負のセットには1500個のインスタンスがあります。これにより、精度が非常に低くなります。この問題を解決する方法はありますか?SVMを使用して分類子を作成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.