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

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

1
パレート平滑化重要度サンプリング(PSIS-LOO)の失敗を防ぐ
私は最近、以下の論文で説明されているパレート平滑化重要度サンプリングのリーブワンアウト相互検証(PSIS-LOO)の使用を開始しました。 Vehtari、A.および&Gelman、A.(2015)。パレート平滑化重要度サンプリング。arXivプレプリント(リンク)。 Vehtari、A.、Gelman、A.、およびGabry、J.(2016)。Leave-one-out交差検証とWAICを使用した実用的なベイズモデル評価。arXivプレプリント(リンク) これは、MCMCを1回実行するだけでLOO-CVを実行できるため、サンプル外のモデル評価に対する非常に魅力的なアプローチを表しており、WAICなどの既存の情報基準よりも優れているとされています。 PSIS-LOOには、近似が信頼できるかどうか、つまり、重要度の経験的分布の裾にフィットするパレート分布の推定指数(データポイントごとに1つの重み)によって与えられるかどうかを診断する機能があります。つまり、推定重量場合、悪いことが発生する可能性があります。k^ik^i\hat{k}_ik^i≳0.7k^i≳0.7\hat{k}_i \gtrsim 0.7 悲しいことに、この方法を私の問題に適用したところ、関心のあるモデルの大部分で、\ hat {k} _i \ gg 0.7の大部分が見つかりましたk^i≫0.7k^i≫0.7\hat{k}_i \gg 0.7。当然のことながら、報告されたLOOの対数尤度の一部は、明らかに他のデータセットと比較して無意味でした。ダブルチェックとして、私は従来の(そして時間のかかる)10分割交差検証を実行しましたが、実際に上記のケースでは、PSIS-LOOがひどく間違った結果を与えていたことがわかりました(良い面では、結果は10と非常によく一致しました)すべてのk^i≪0.7k^i≪0.7\hat{k}_i \ll 0.7)のモデルのCVを折りたたみます。参考までに、Aki VehtariによるPSIS-LOOのMATLAB実装を使用しています。 多分私は、この方法を適用する私の現在の最初の問題がPSIS-LOOにとって「困難」であるという点で非常に不運なだけかもしれませんが、このケースは比較的一般的かもしれないと思います。私のような場合、Vehtary、Gelman&Gabryの論文は単に次のように述べています: PSIS推定値に有限の分散がある場合でも、場合、ユーザーは問題のあるについてから直接サンプリングすることを検討する必要があります倍交差を使用します検証、またはより堅牢なモデルを使用します。k^>0.7k^>0.7\hat{k} > 0.7p(θs|y−i)p(θs|y−i)p(\theta^s |y_{−i})iiikkk これらは明白ですが、時間がかかるか、追加の操作が必要であるため、実際には理想的なソリューションではありません(MCMC とモデルの評価はすべて操作に関するものですが、少ないほど優れています)。 PSIS-LOOの失敗を防ぐために事前に適用できる一般的な方法はありますか?暫定的なアイデアはいくつかありますが、人々が採用している実証的な解決策はすでにあるのでしょうか。

3
RBF SVMの使用例(対ロジスティック回帰とランダムフォレスト)
放射状ベース関数カーネルを備えたサポートベクターマシンは、汎用の教師付き分類器です。 私はこれらのSVMの理論的な基盤とその長所を知っていますが、それらが推奨される方法である場合については知りません。では、RBF SVMが他のML技術よりも優れているクラスの問題はありますか?(スコア、またはその他-堅牢性、開始の容易さ、解釈可能性など) 私のデフォルトのアプローチはロジスティック回帰(おそらくいくつかの相互作用による)、ランダムフォレスト、および少しのニューラルネットワークに集中しているので、私は尋ねています。私のMLをしている友達(Kaggleの勝者もいます)はSVMユーザーではありません(ただし、私のコミュニティのアーティファクトであるか、彼らが対処する問題である可能性があります)。


1
アンサンブル学習:モデルスタッキングが効果的なのはなぜですか?
最近、私はアンサンブル学習の一種としてモデルスタッキングに興味を持ちました。特に、回帰問題のおもちゃのデータセットを少し試してみました。基本的に、個々の「レベル0」リグレッサを実装し、各リグレッサの出力予測を「メタリグレッサ」が入力として受け取る新しい機能として保存し、このメタリグレッサをこれらの新しい機能(レベルからの予測)に適合させました。 0リグレッサ)。バリデーションセットに対してメタリグレッサーをテストしたところ、個々のリグレッサーに対してささやかな改善でさえあることに私は非常に驚きました。 それで、ここに私の質問があります:なぜモデルスタッキングは効果的ですか?直感的には、スタッキングを行うモデルは、レベル0の各モデルと比較して機能表現が貧弱であるように見えるため、パフォーマンスが低いことが予想されます。つまり、20の特徴を持つデータセットで3つのレベル0のリグレッサをトレーニングし、これらのレベル0のリグレッサの予測をメタリグレッサへの入力として使用する場合、これは、メタリグレッサに3つの特徴しか学習できないことを意味します。メタリグレッサがトレーニングに使用する3つの出力フィーチャよりも、レベル0リグレッサがトレーニングに持つ20の元のフィーチャにエンコードされた情報が多いようです。

1
PCAが大きなペアワイズ距離のみを保持することは何を意味しますか?
私は現在t-SNE視覚化手法について読んでいますが、主成分分析(PCA)を使用して高次元データを視覚化することの欠点の1つは、ポイント間の大きなペアワイズ距離しか保持されないことです。高次元空間で遠く離れている意味の点も低次元部分空間では遠く離れて表示されますが、他のすべてのペアワイズ距離が台無しになることを除いて。 なぜ誰かがそれを理解するのを手伝ってくれませんか?

2
バックプロパゲーションを介してSVMをトレーニングする方法は?
バックプロパゲーションを使用してSVMをトレーニングする(たとえば、物事を簡単にするために線形のものにする)ことが可能かどうか疑問に思いましたか? 現在、分類器の出力を f(x;θ,b)=sgn(θ⋅x−(b+1))=sgn(g(x;θ,b))f(x;θ,b)=sgn(θ⋅x−(b+1))=sgn(g(x;θ,b)) f(\mathbf{x};\theta,b) = \text{sgn}(\theta\cdot\mathbf{x} - (b+1)) = \text{sgn}(g(\mathbf{x};\theta,b)) したがって、「後方パス」(伝播エラー)を計算して計算すると、 以降の誘導体は sgn(x)dsgn(x)∂E∂バツ= ∂E∂f(x ; θ 、b )∂f(x ; θ 、b )バツ= ∂E∂f(x ; θ 、b )∂sgn (g(x ; θ 、b ))∂g(x ; θ 、b )∂g(x ; θ 、b )∂バツ= δdsgn (z)dzθ= δ⋅ 0 ⋅ θ= 0∂E∂x=∂E∂f(x;θ,b)∂f(x;θ,b)x=∂E∂f(x;θ,b)∂sgn(g(x;θ,b))∂g(x;θ,b)∂g(x;θ,b)∂x=δdsgn(z)dzθ=δ⋅0⋅θ=0 \begin{align} \frac{\partial E}{\partial …

3
ニューラルネットワークは、機能とその機能的派生物を学習できますか?
ニューラルネットワーク(NN)は、特定の仮定(ネットワークと近似する関数の両方)の下で、関数とその導関数の両方に対するユニバーサル近似と見なすことができることを理解しています。実際、私は単純であるが自明ではない関数(たとえば、多項式)に対していくつかのテストを行っており、確かにそれらとそれらの1次導関数をよく近似できるようです(例を以下に示します)。 しかし、私には明確でないのは、上記につながる定理が汎関数とその汎関数導関数に拡張される(または拡張される可能性がある)かどうかです。たとえば、汎関数: を汎関数微分: 考え ここで、は、完全かつ非自明に依存します。NNは上記のマッピングとその機能的導関数を学習できますか?より具体的には、ドメインをで離散化し、(離散化された点で)を入力として提供し、F[ f(x )] = ∫badx f (x )g(x )F[f(x)]=∫abdx f(x)g(x)\begin{equation} F[f(x)] = \int_a^b dx ~ f(x) g(x) \end{equation}δF[ f(x )]δf(x )= g(x )δF[f(x)]δf(x)=g(x)\begin{equation} \frac{\delta F[f(x)]}{\delta f(x)} = g(x) \end{equation}f(x )f(x)f(x)g(x )g(x)g(x)バツxx[ a 、b ][a,b][a,b]f(x )f(x)f(x)F[ f(x )]F[f(x)]F[f(x)]出力として、NNはこのマッピングを(少なくとも理論的には)正しく学習できますか?もしそうなら、それはマッピングの機能的導関数も学ぶことができますか? 私はいくつかのテストを行いましたが、NNは確かにある程度マッピング学習するようです。ただし、このマッピングの精度は問題ありませんが、それほど優れていません。そして厄介なのは、計算された関数微分が完全なガベージであるということです(これらの両方はトレーニングなどの問題に関連している可能性があります)。以下に例を示します。F[ f(x )]F[f(x)]F[f(x)] NNが汎関数とその汎関数微分の学習に適していない場合、別の機械学習方法はありますか? 例: A NNが関数学習するように訓練された:(1)以下では、関数とその導関数近似の例である範囲[-3,2]の上には: その妥当からへの近似が得られます: 予想どおり、へのNN近似とその1次導関数は、トレーニング中により良い最小値が見つかるなど、トレーニングポイントの数、NNアーキテクチャーとともに向上することに注意してください。f(x …

1
ランダムフォレストvs Adaboost
紙のセクション7でランダムフォレスト(Breiman、1999)、著者は以下の推測を述べている:「アダブーストはランダムフォレストです」。 誰かがこれを証明または反証しましたか?この1999年のポストを証明または反証するために何が行われましたか?

2
事前トレーニングとは何ですか?また、どのようにニューラルネットワークを事前トレーニングしますか?
従来のトレーニングの問題の一部を回避するために事前トレーニングが使用されていることを理解しています。オートエンコーダなどでバックプロパゲーションを使用すると、バックプロパゲーションが遅いために時間の問題が発生することを知っています。また、ローカルオプティマで動けなくなり、特定の機能を学習できない場合もあります。 私が理解していないのは、ネットワークをどのように事前トレーニングするか、具体的に事前トレーニングするために何をするかです。たとえば、制限されたボルツマンマシンのスタックが与えられた場合、このネットワークをどのように事前トレーニングしますか?

1
k最近傍のVC次元
kが使用されるトレーニングポイントの数と等しい場合、k最近傍アルゴリズムのVCディメンションは何ですか? コンテキスト:この質問は私が受講したコースで尋ねられ、そこに与えられた回答は0でした。しかし、なぜそうなのか理解していません。私の直感は、すべてのポイントが最初のモデルに従って1つのクラスに属し、別のクラスに属しているとラベル付けされるように、2つのモデル(つまり、トレーニングポイントのセット)を選択できるため、VCディメンションは1である必要があるということです2番目のモデルによれば、単一のポイントを粉砕することが可能であるはずです。私の推論のどこに間違いがありますか?

3
時系列分析対機械学習?
ただ一般的な質問です。時系列データがある場合、機械/統計学習手法(KNN、回帰)よりも時系列手法(別名、ARCH、GARCHなど)を使用する方がよいのはいつですか?クロスバリデーションされた上に存在する同様の質問がある場合は、私にそれを指摘してください-見たが見つかりませんでした。

2
ディシジョンツリーでAdaboostを使用する理由
私は分類タスク、特にAdaboostのブースティングアルゴリズムについて少し読んでいます。Adaboostの目的はいくつかの「弱い学習者」を取ることであり、トレーニングデータの一連の反復を通じて、分類子をプッシュして、モデルが繰り返し間違いを犯すクラスを予測することを学習することを理解しています。しかし、私がこれまでに行った非常に多くのリーディングで、決定木を弱い分類子として使用しているのはなぜかと思いました。これには特別な理由がありますか?Adaboostの特に良い候補または悪い候補になる特定の分類子はありますか?

2
小さいサンプルサイズのデータ​​のトレーニング、交差検証、およびテストセットのサイズを選択するにはどうすればよいですか?
サンプルサイズが小さいと仮定します(例:N = 100、2つのクラス)。機械学習のトレーニング、相互検証、テストセットのサイズをどのように選択すればよいですか? 直感的に選ぶ トレーニングセットのサイズは50 相互検証セットサイズ25、および サイズを25としてテストします。 しかし、おそらくこれは多かれ少なかれ理にかなっています。これらの値を実際にどのように決定すればよいですか?別のオプションを試してみてもいいですか(あまり好ましくないと思いますが...過剰学習の可能性が高くなります)? 3つ以上のクラスがある場合はどうなりますか?

1
PR曲線の下の領域の解釈
私は現在3つの方法を比較していますが、測定基準として精度、auROC、auPRがあります。そして、私は次の結果を持っています: 方法A-acc:0.75、auROC:0.75、auPR:0.45 方法B-acc:0.65、auROC:0.55、auPR:0.40 方法C-acc:0.55、auROC:0.70、auPR:0.65 私は正確さとauROCをよく理解しています(よく覚えておくために、「auROC =陽性クラスを予測する能力を特徴づける」などの文を考えようとすることがよくありますが、正確に正確ではないので覚えておくのに役立ちます)。私はこれまでにauPRデータを取得したことがなく、それがどのように構築されているかを理解している間は、その背後に「感覚」を得ることができません。 実際、メソッドCがauPRのスコアが非常に高いのに、精度とauPRが悪い/平均的である理由を理解できません。 誰かが私を理解するのを手伝ってくれれば、本当に素晴らしい簡単な説明でそれをより良く理解できます。ありがとうございました。

2
異常検出:使用するアルゴリズムは?
コンテキスト:私は、臨床データを分析して、タイプミスの可能性がある妥当ではないデータを除外するシステムを開発しています。 これまでに行ったこと: 妥当性を定量化するために、これまでの私の試みは、データを正規化し、セットD(=トレーニングセット)の既知のデータポイントまでの距離に基づいてポイントpの妥当性値を計算することでした: plausibility(p)=∑q∈DGauss(distance(p,q))plausibility(p)=∑q∈DGauss(distance(p,q))\text{plausibility}(p)=\sum_{q\in D}\text{Gauss}(\text{distance}(p,q)) その定量化により、妥当なデータと妥当でないデータを区別するしきい値を選択できます。私はpython / numpyを使用しています。 私の問題: このアルゴリズムは、独立した次元を検出できません。理想的には、レコードについて知っていることなら何でもアルゴリズムに入れて、次元Xがレコードの妥当性に影響を及ぼさないことをそれ自体で見つけることができます。 このアルゴリズムは、ブール値や選択入力などの離散値には実際には機能しません。それらは連続値にマッピングできますが、選択1が選択3よりも選択2に近いというのは直観に反しています。 質問: このタスクにはどのようなアルゴリズムを検討する必要がありますか?最近傍に基づく、クラスタリングに基づく、および統計的アプローチを含む多くのオプションがあるようです。また、この複雑さの異常検出に関する論文を見つけるのも困難です。 アドバイスは大歓迎です。 [編集]例: データが人の身長、人の体重、タイムスタンプで構成されているとしましょう。つまり、3Dデータです。体重と身長は相関していますが、タイムスタンプは完全に独立しています。ユークリッド距離を考慮する場合、交差検証データのほとんどに適合するように小さなしきい値を選択する必要があります。タイムスタンプは他のディメンションとまったく相関しないため、レコードが妥当であるかどうかを判断することは重要ではないため、アルゴリズムはタイムスタンプディメンションを無視するのが理想的です。どんなタイムスタンプももっともらしいです。 一方、タイムスタンプが重要な例を構成することができます。たとえば、フィーチャXの値Yは、特定の日付より前ではなく特定の日付より後に測定された場合に妥当である可能性があります。

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