タグ付けされた質問 「algorithms」

問題のクラスに対する解決策を見つけることに関与する計算ステップの明確なリスト。

3
ランキングアルゴリズムを評価するためのメトリック
ランキングアルゴリズムのいくつかの異なるメトリックを確認することに興味があります。Wikipediaのページにランク付けするためのリストがいくつかあります。 •平均平均精度(MAP)。 •DCGおよびNDCG。 •Precision @ n、NDCG @ n。「@ n」は、メトリックが上位n個のドキュメントでのみ評価されることを示します。 •平均相互ランク。 •ケンドールのタウ •スピアマンのロー •期待される相互ランク •Yandexのファウンド しかし、それぞれの利点/欠点、または他のものよりも優れたものを選択できる場合(またはNDGCで1つのアルゴリズムが他のアルゴリズムよりも優れていたが、MAPで評価した場合に悪化した場合の意味)は明確ではありません。 これらの質問についてさらに学ぶために行くことができる場所はありますか?

1
線形ガウスカルマンフィルターの対数尤度パラメーター推定
n次元状態ベクトルの線形ガウス状態空間解析用に、カルマンフィルタリングを実行できるコードをいくつか作成しました(多くの異なるカルマンタイプのフィルター[情報フィルターなど]を使用)。フィルターはうまく機能し、いくつかの素晴らしい出力を得ています。ただし、対数尤度推定によるパラメーター推定は私を混乱させます。私は統計学者ではなく物理学者なので、親切にしてください。 線形ガウス状態空間モデルを考えてみましょう yt= Ztαt+ ϵt、yt=Ztαt+ϵt、y_t = \mathbf{Z}_{t}\alpha_{t} + \epsilon_{t}, αt + 1= Ttαt+ Rtηt、αt+1=Ttαt+Rtηt、\alpha_{t + 1} = \mathbf{T}_{t}\alpha_{t} + \mathbf{R}_{t}\eta_{t}, ここで、は観測ベクトル、は時間ステップ状態ベクトルです。太字の量は、対象のシステムの特性に従って設定される状態空間モデルの変換行列です。私たちも持っていますytyty_{t}αtαt\alpha_{t}ttt η T〜N I D (0 、QはT)、α 1〜N I D (1、P 1)。ϵt〜N私D (0 、Ht)、ϵt〜N私D(0、Ht)、\epsilon_{t} \sim NID(0, \mathbf{H}_{t}), ηt〜N私D (0 、Qt)、ηt〜N私D(0、Qt)、\eta_{t} \sim NID(0, \mathbf{Q}_{t}), α1〜N私D (a1、P1)。α1〜N私D(a1、P1)。\alpha_{1} \sim NID(a_{1}, \mathbf{P}_{1}). ここで、です。ここで、初期パラメーターと分散行列を推測することにより、この一般的な状態空間モデルのカルマンフィルターの再帰を導出および実装しました\ mathbf …

1
LDAの代数。変数の線形判別分析と線形判別分析
どうやら、 フィッシャー分析の目的は、クラス内の分散を最小限に抑えながら、クラス間の分離を同時に最大化することです。したがって、変数の識別力の有用な尺度は、対角量与えられます。Bii/WiiBii/WiiB_{ii}/W_{ii} http://root.cern.ch/root/htmldoc/TMVA__MethodFisher.html p x pBetween(B)およびWithin-Class(W)行列のサイズ()は、入力変数の数で与えられることを理解していますp。これを考えると、単一変数の「識別力の有用な尺度」にするにはどうすればよいでしょうか。行列BとWを構築するには少なくとも2つの変数が必要であるため、それぞれのトレースは複数の変数を表します。Bii/WiiBii/WiiB_{ii}/W_{ii} 更新:Bii/WiiBii/WiiB_{ii}/W_{ii}は、和が暗示されるトレース上のトレースではなく、マトリックス要素BiiBiiB_{ii}を割ったものだと考えるのは正しいWiiWiiW_{ii}でしょうか?現在、それが式と概念を調和させることができる唯一の方法です。

1
LARSと投げ縄の座標降下
L1正規化線形回帰のあてはめにLARS [1]を使用する場合と座標降下を使用する場合の長所と短所は何ですか? 私は主にパフォーマンスの側面に興味があります(私の問題はN数十万とp20未満にある傾向があります)。しかし、他の洞察も歓迎されます。 編集:私は質問を投稿したので、chlは親切にフリードマンらによる論文[2]を指摘しました。そこでは、座標降下は他の方法よりもかなり速いことが示されています。その場合、実務家として座標降下を支持するLARSを単に忘れるべきですか? [1]エフロン、ブラッドリー。ヘイスティー、トレバー; ジョンストーン、イアンおよびティブシラーニ、ロバート(2004)。「最小角度回帰」。統計32(2):pp。407–499。 [2] Jerome H. Friedman、Trevor Hastie、Rob Tibshirani、「座標降下による一般化線形モデルの正規化パス」、Journal of Statistics Software、Vol。33、1号、2010年2月。



5
自動機械学習は夢ですか?
機械学習を発見すると、次のようなさまざまな興味深い手法が見つかります。 以下のような技術を用いて自動的に調整アルゴリズムgrid search、 同じ「タイプ」の異なるアルゴリズムの組み合わせにより、より正確な結果を取得します。つまりboosting、 異なるアルゴリズムの組み合わせにより、より正確な結果を取得します(ただし、同じタイプのアルゴリズムではありません)。つまりstacking、 おそらくもっと多くのことを発見する必要があります... 私の質問は次のとおりです。すべてのそれらの部分があります。しかし、それらをまとめて、すべての手法の中で最善のものを使用して、入力としてクリーンなデータを取得し、良好な結果を出力するアルゴリズムを作成することは可能ですか?(もちろん、プロのデータサイエンティストほど効率的ではありませんが、私よりも優れています!)はいの場合、サンプルコードを持っていますか、それを実行できるフレームワークを知っていますか? 編集:いくつかの答えの後、いくつかの絞り込みを行う必要があるようです。例を見てみましょう。カテゴリデータを含む1つの列があり、それyを呼び出して、Xダミーまたは実際の数値データ(高さ、温度)のいずれかである数値データから予測したいとします。クリーニングは以前に行われたものと想定しています。そのようなデータを取得して予測を出力できる既存のアルゴリズムはありますか?(複数のアルゴリズムのテスト、チューニング、ブースティングなど)はいの場合、計算は効率的ですか(通常のアルゴリズムと比較した場合、計算は妥当な時間内に行われますか)、コードの例はありますか?

1
PCAで行われたステップと比較した因子分析で行われたステップ
PCA(主成分分析)の実行方法は知っていますが、因子分析に使用する手順を知りたいです。 PCAを実行するために、たとえば、マトリックス考えてみましょう。AAA 3 1 -1 2 4 0 4 -2 -5 11 22 20 私はその相関行列を計算しましたB = corr(A): 1.0000 0.9087 0.9250 0.9087 1.0000 0.9970 0.9250 0.9970 1.0000 次に[V,D] = eig(B)、固有値分解を行い、固有ベクトルを作成しました。 0.5662 0.8209 -0.0740 0.5812 -0.4613 -0.6703 0.5844 -0.3366 0.7383 および固有値: 2.8877 0 0 0 0.1101 0 0 0 0.0022 111 PCAの手順と比較して、因子分析の手順を理解してください。


1
重み付けされたサンプルの変位値の定義
分位を計算したい重み付きサンプルがあります。1 理想的には、重みが等しい場合(= 1またはそれ以外)、結果はscipy.stats.scoreatpercentile()とRの結果と一致しquantile(...,type=7)ます。 単純なアプローチの1つは、指定された重みを使用してサンプルを「乗算」することです。これにより、重量が1を超える領域で局所的に「フラットな」ecdfが効果的に得られます。これは、サンプルが実際にサブサンプリングである場合、直感的に間違ったアプローチのように見えます。特に、すべてが1の重みを持つサンプルは、すべてが2または3の重みを持つサンプルとは異なる分位点を持つことを意味します(ただし、[1]で参照されている論文はこのアプローチを使用しているようです)。 http://en.wikipedia.org/wiki/Percentile#Weighted_percentileは、加重パーセンタイルの代替公式を提供します。この定式化では、同じ値を持つ隣接するサンプルを最初に組み合わせて重みを合計する必要があるかどうかは明確ではなく、いずれの場合も、その結果はquantile()、重みなし/等しい重みの場合のRのデフォルトタイプ7と一致しないようです。変位値に関するウィキペディアのページでは、加重ケースについてはまったく言及していません。 Rの「タイプ7」クォンタイル関数の加重一般化はありますか? [Pythonを使用しますが、アルゴリズムを探しているだけです。実際、どの言語でも実行できます] M [1]重みは整数です。重みは、http://infolab.stanford.edu/~manku/papers/98sigmod-quantiles.pdfで説明されているように、「折りたたみ」操作と「出力」操作で結合されるバッファーの重みです。基本的に、重み付けされたサンプルは、重み付けされていない完全なサンプルのサブサンプリングであり、サブサンプル内の各要素x(i)は、完全なサンプル内のweight(i)要素を表します。

2
ランダムフォレストは予測バイアスを示しますか?
これは簡単な質問だと思いますが、なぜか、なぜそうでないかの背後にある推論はそうではないかもしれません。私が尋ねる理由は、最近RFの独自の実装を記述したためです。RFのパフォーマンスは良好ですが、期待したパフォーマンスを発揮していません(Kaggle Photo Quality Prediction競争データセット、勝利スコア、および使用された手法について入手可能になった後続の情報)。 このような状況で最初に行うことは、モデルの予測誤差をプロットすることです。そのため、与えられた予測値ごとに、正しいターゲット値からの平均バイアス(または偏差)を決定します。私のRFについて、私はこのプロットを得ました: これがRFで一般的に観察されるバイアスパターンであるかどうか疑問に思っています(そうでない場合は、データセットや私の実装に固有のものである可能性があります)。もちろん、このプロットを使用してバイアスを補正することで予測を改善できますが、RFモデル自体に対処する必要があるより根本的なエラーや欠点があるのではないかと思っています。ありがとうございました。 ==補遺== 私の最初の調査は、このブログエントリ「ランダムフォレストバイアス-更新」です。

3
非常に小さなセットでの異常値の検出
12のサンプル光度値が与えられた場合、主に安定した光源の明るさの値をできるだけ正確にする必要があります。センサーは不完全であり、光は時々明るくまたは暗く「ちらつく」ことがありますが、無視してかまいません。そのため、外れ値を検出する必要があると思います(そうでしょうか)。 私はここでさまざまなアプローチについていくつか読んだことがありますが、どのアプローチを採用するか決定できません。外れ値の数は事前にわからないため、多くの場合ゼロになります。フリッカーは通常、安定した明るさからの非常に大きな偏差です(大きなものが存在する場合、平均値を実際に乱すのに十分です)が、必ずしもそうではありません。 質問を完全にするための12の測定値のサンプルセットを次に示します。 295.5214、277.7749、274.6538、272.5897、271.0733、292.5856、282.0986、275.0419、273.084、273.1783、274.0317、290.1837 292と295は少し高いように見えますが、私の直感では、その特定のセットにはおそらく異常値はありません。 だから、私の質問は、ここでの最善のアプローチは何でしょうか?値は、ゼロ(黒)ポイントからの光のRGおよびBコンポーネントのユークリッド距離をとることから得られることを述べておかなければなりません。必要に応じてこれらの値に戻すのは、プログラム的には困難ですが可能です。ユークリッド距離は、「全体的な強さ」の尺度として使用されました。私は色に興味がなく、出力の強さだけだからです。ただし、私が言及したフリッカーは、通常の出力とは異なるRGB構成になる可能性があります。 現時点では、許可された測定値の安定したメンバーシップに到達するまで繰り返される、ある種の機能をいじっています。 標準偏差を見つける 外のすべてのものを無視リストに2 SDと表示する 無視リストを除外して平均とSDを再計算する 新しい平均とSDに基づいて無視するユーザーを再決定(12をすべて評価) 安定するまで繰り返します。 そのアプローチに価値はありますか? すべてのコメントはありがたいことに受け入れられました!


1
アルゴリズム:値が不明な場合の二分探索
各ステップのテストで誤った結果が出る可能性がある場合に、バイナリサーチを実行するアルゴリズムが必要です。 背景: 最も適切な12の難易度に生徒を配置する必要があります。現在のアプローチはブルートフォースであり、難易度が増加し、3つの間違いの後で停止する60の4択多項式質問をし、生徒をfloor((score - 1) / 5) + 1最低1のレベルに配置します。 お客様が実際にプログラムを使用する前に最大60の質問を伴うテストに直面すると、お客様の電源が切れるのではないかと懸念しています。そのため、テストで行われる質問の数を最小限に抑えたいと考えています。また、お客様がプレースメントテストを(長いように思われるため)スキップし、プログラムが簡単すぎると思われるためにプログラムを放棄することも懸念しています。 配置の中央値は実際にはレベル2にあるため、学生の50%以上が11未満(つまり、14未満の質問に答える)のスコアです。逸話として、これは彼らが退屈して真剣に質問をするのをやめたためかもしれません(彼らは幼い子供です)。 提案された解決策: 難易度6/7の質問で始まり、質問が正しいか間違っているかに基づいて進行する12項目のバイナリ検索としてテストを実装します。理論的には、これは3〜4問で適切な難易度を見つけることができます。 問題: 既存のテストは3つの間違った答えの後にのみ終了し、60の質問を使用して12レベルから選択することから推測できるように、正しい答えをたどる生徒(25%の確率で行う)または誤って不正解(太った指、誤解した質問など)を与える。二分探索では、これがさらに重要です。最初の質問に正解をたどると、他のすべての質問が間違っていても、難易度の上半分になる可能性があるからです。 では、個々のテストが正確であることを保証できない二分探索の認識されたアルゴリズムはありますか? 単純に私は各ステップで3つまたは5つの質問を最もよく試す可能性があります。また、初期の質問は後の質問よりも最終結果に大きな影響を与えるため、これらの追加の質問を初期のステップにのみ追加し、後のステップには追加しないでください。それ以上のものはありますか?
11 algorithms 

2
実際の機械学習のすべては何ですか?
私は機械学習(一部統計も含む)の新人で、しばらくの間、知識(教師あり/教師なし学習アルゴリズム、関連する最適化手法、正則化、いくつかの哲学(バイアス分散のトレードオフなど))を学んでいます。実際の練習がなければ、これらの機械学習のことを深く理解することはできません。 したがって、手書きの数字分類(MNIST)などの実際のデータの分類問題から始めます。驚いたことに、フィーチャラーニング/エンジニアリングなしで、生のピクセル値を入力としてランダムフォレスト分類器を使用すると、精度は0.97に達します。パラメータを調整してSVM、LRなどの他の学習アルゴリズムも試しました。 それから私は迷子になりました、それはあまりにも簡単ですか、または私はここで何か不足していますか?ツールキットから学習アルゴリズムを取得して、いくつかのパラメーターを調整するだけですか? それが実際の機械学習についてのすべてであるなら、私はこの分野への興味を失います。私はいくつかのブログを数日間考えて読んだところ、いくつかの結論に達しました。 実際の機械学習の最も重要な部分は、特徴エンジニアリングです。つまり、データが与えられれば、特徴のより適切な表現を見つけます。 どの学習アルゴリズムを使用するか、またパラメータ調整も重要ですが、最後の選択は実験です。 私はそれを正しく理解しているとは思いません。誰かが私を訂正して、実際の機械学習についていくつかの提案をしてくれることを願っています。

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