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

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

3
マルチターゲットテクニックについて学ぶためのリソース
複数のターゲットを持つデータを処理できる手法(例:3つの従属変数:2つの離散と1つの連続)に関するリソース(本、講義ノートなど)を探しています。 誰かこれに関するリソース/知識はありますか?これにニューラルネットワークを使用することは可能です。

1
パフォーマンスの観点からの単語埋め込みアルゴリズム
約6000万のフレーズをベクトル空間に埋め込み、それらの間のコサイン類似度を計算しようとしています。CountVectorizerユニグラムとバイグラムを生成するカスタムビルドのトークナイザー関数でsklearnを使用してきました。意味のある表現を得るには、行数に比例した膨大な数の列を許可する必要があることがわかります。これは、非常にまばらな行列につながり、パフォーマンスを低下させます。約10,000列しかなかったとしてもそれほど悪くはありません。これは、単語の埋め込みにはかなり妥当だと思います。 私はword2vecそれがはるかに低次元でより高密度の埋め込みを生成すると確信しているので、Googleを使用しようと考えています。しかしその前に、最初に見ておくべき他の埋め込みがありますか?重要な要件は、約6,000万のフレーズ(行)をスケーリングできることです。 私は単語埋め込みの分野にかなり慣れていないので、アドバイスがあれば助かります。 また、パフォーマンスを向上させるために、特異値分解をすでに使用していることも付け加えておきます。

2
部分的に「不明な」データによる分類
入力として数値のベクトルを取り、出力としてクラスラベルを与える分類子を学びたいとしましょう。私のトレーニングデータは、多数の入出力ペアで構成されています。 ただし、新しいデータをテストする場合、このデータは通常、部分的にしか完成していません。たとえば、入力ベクトルの長さが100の場合、30個の要素にのみ値が与えられ、残りは「不明」です。 この例として、画像の一部が隠れていることがわかっている画像認識を考えてみます。または、データの一部が破損していることがわかっている一般的な意味で分類を検討してください。すべての場合において、データベクトルのどの要素が未知の部分であるかを正確に把握しています。 この種類のデータで機能する分類子をどのようにして学習できるのでしょうか。「未知の」要素を乱数に設定することもできますが、既知の要素よりも未知の要素の方が多いことが多いので、これは良い解決策のようには聞こえません。または、トレーニングデータの要素をランダムに「不明」に変更し、完全なデータではなくこれらでトレーニングすることもできますが、これには既知の要素と未知の要素のすべての組み合わせの徹底的なサンプリングが必要になる場合があります。 特に、ニューラルネットワークについて考えていますが、他の分類器を利用できます。 何か案は?ありがとう!

2
ガウス過程での観測のマージ
回帰にはガウス過程(GP)を使用しています。 私の問題では、2つ以上のデータポイントが長さに対して相対的に近いことがよくあります問題のスケール。また、観測は非常に騒々しいことができます。計算を高速化し、測定精度を向上させるために、より大きな長さスケールでの予測に関心がある限り、互いに近い点のクラスターをマージ/統合するのは自然なことのようです。x⃗ (1),x⃗ (2),…x→(1),x→(2),…\vec{x}^{(1)},\vec{x}^{(2)},\ldots これを行うには高速だが半原則的な方法は何ですか? 2つのデータポイントは完全に重複した場合、および観測ノイズ(すなわち、尤度)は、おそらくheteroskedasticしかしガウスであり、公知の、処理の自然な方法は、それらを単一のデータポイントにマージするようです:x⃗ (1)=x⃗ (2)x→(1)=x→(2)\vec{x}^{(1)} = \vec{x}^{(2)} x¯⃗ ≡x⃗ (k)x¯→≡x→(k)\vec{\bar{x}} \equiv \vec{x}^{(k)}、のために。k=1,2k=1,2k=1,2 観測値は、相対精度で重み付けされた観測値平均です:。y¯y¯\bar{y}y(1),y(2)y(1),y(2)y^{(1)}, y^{(2)}y¯=σ2y(x⃗ (2))σ2y(x⃗ (1))+σ2y(x⃗ (2))y(1)+σ2y(x⃗ (1))σ2y(x⃗ (1))+σ2y(x⃗ (2))y(2)y¯=σy2(x→(2))σy2(x→(1))+σy2(x→(2))y(1)+σy2(x→(1))σy2(x→(1))+σy2(x→(2))y(2)\bar{y} = \frac{\sigma_y^2(\vec{x}^{(2)})}{\sigma_y^2(\vec{x}^{(1)}) + \sigma_y^2(\vec{x}^{(2)})} y^{(1)} + \frac{\sigma_y^2(\vec{x}^{(1)})}{\sigma_y^2(\vec{x}^{(1)}) + \sigma_y^2(\vec{x}^{(2)})} y^{(2)} 等しい観測に関連するノイズ。σ2y(x¯)=σ2y(x⃗ (1))σ2y(x⃗ (2))σ2y(x⃗ (1))+σ2y(x⃗ (2))σy2(x¯)=σy2(x→(1))σy2(x→(2))σy2(x→(1))+σy2(x→(2))\sigma_y^2(\bar{x}) = \frac{\sigma_y^2(\vec{x}^{(1)}) \sigma_y^2(\vec{x}^{(2)})}{\sigma_y^2(\vec{x}^{(1)}) + \sigma_y^2(\vec{x}^{(2)})} ただし、近接しているが重複していない 2つのポイントをどのようにマージする必要がありますか? は、やはり相対的信頼性を使用して、2つの位置の加重平均である必要があると思います。理論的根拠は、重心の議論です(つまり、非常に正確な観測を、あまり正確でない観測のスタックとして考えます)。x¯⃗ x¯→\vec{\bar{x}} 用上記と同じ式。y¯y¯\bar{y} 観測に関連するノイズについては、上記の式に加えて、データポイントを移動しているため、ノイズに補正項を追加する必要があるのでしょうか。基本的に、と(それぞれ、信号分散と共分散関数の長さスケール)に関連する不確実性が増加します。この用語の形式はわかりませんが、共分散関数が与えられた場合の計算方法について、いくつかの仮のアイデアがあります。σ2fσf2\sigma_f^2ℓ2ℓ2\ell^2 先に進む前に、すでに何かがそこにあるのかどうか疑問に思いました。これが賢明な手順であると思われる場合、またはより迅速な方法がある場合。 …

2
RのglmnetとPythonのscikit-learnを使用したリッジ回帰の違いは何ですか?
James、Witten、Hastie、Tibshirani(2013)著の「An Introduction to Statistical Learning with Applications in R」の Ridge Regression / LassoのLABセクション§6.6を通過します。 より具体的にはRidge、Rパッケージ 'ISLR'の 'Hitters'データセットにscikit-learn モデルを適用しようとしています。Rコードに示されているのと同じ機能セットを作成しました。ただし、glmnet()モデルの結果に近づくことはできません。比較するL2チューニングパラメーターを1つ選択しました。(scikit-learnの「alpha」引数)。 Python: regr = Ridge(alpha=11498) regr.fit(X, y) http://nbviewer.ipython.org/github/JWarmenhoven/ISL-python/blob/master/Notebooks/Chapter%206.ipynb R: の引数alpha=0はglmnet()、L2ペナルティを適用する必要があることを意味することに注意してください(リッジ回帰)。ドキュメンテーションでは、に単一の値を入力しないように警告していますlambdaが、結果は、ISLの場合と同じで、ベクトルが使用されています。 ridge.mod <- glmnet(x,y,alpha=0,lambda=11498) 何が違いの原因ですか? 編集: Rのペナルティパッケージから 使用する場合penalized()、係数はscikit-learnと同じです。 ridge.mod2 <- penalized(y,x,lambda2=11498) おそらく問題は、「リッジ回帰を実行するときglmnet()と実行するpenalized()ときの違いは何ですか?」 Rパッケージglmnetで使用される実際のFortranコード用の新しいPythonラッパー https://github.com/civisanalytics/python-glmnet

1
最小リスク分類子の計算しきい値?
2つのクラスとに属性あり、分布がととします。次のコストマトリックスの前のが等しい場合:、C 2、X N(0 、0.5 )N(1 、0.5 )P (C 1)= P (C 2)= 0.5C1C1C_1C2C2C_2xxxN(0,0.5)N(0,0.5) \cal{N} (0, 0.5)N(1,0.5)N(1,0.5) \cal{N} (1, 0.5)P(C1)=P(C2)=0.5P(C1)=P(C2)=0.5P(C_1)=P(C_2)=0.5 L=[010.50]L=[00.510]L= \begin{bmatrix} 0 & 0.5 \\ 1 & 0 \end{bmatrix} なぜ、は最小リスク(コスト)分類器のしきい値ですか?x0&lt;0.5x0&lt;0.5x_0 < 0.5 これは私が誤解している私のメモの例です(つまり、このしきい値にどのように到達したのですか?) 編集1:尤度比のしきい値には、P(C1)/ P(C2)を使用できると思います。 編集2:しきい値に関するいくつかのテキストをパターンのDuda Bookから追加します。


1
オフライン学習とオンライン学習のモデル選択
私は最近オンライン学習についてもっと学びたいと思っています(それは本当に魅力的です!)、私が十分に理解できていないテーマの1つは、オフラインとオンラインのコンテキストでのモデル選択について考える方法です。具体的には、固定データセット基づいて分類子オフラインでトレーニングするとします。たとえば、相互検証によってそのパフォーマンス特性を推定し、この方法で最適な分類子を選択します。SSSDDD これは私が考えていたものです。それでは、をオンライン設定に適用するにはどうすればよいのでしょうか。オフラインで見つかった最高のがオンライン分類子としてもうまく機能すると想定できますか?をトレーニングするためにいくつかのデータを収集し、同じ分類子を取得し、で見つかった同じパラメーターを使用してオンライン設定で「操作」することは理にかなっていますか?これらの場合の警告は何ですか?ここで重要な結果は何ですか?などなど。SSSSSSSSSSSSDDD とにかく、それがそこにあるので、私が探しているのは、私(そしてうまくいけば、このようなことについて考えていた他の人)がオフラインで考えることから移行するのに役立ついくつかの参照またはリソースです、そして私の読書が進むにつれて、モデル選択の問題とこれらの質問をより首尾一貫した方法で考える精神的枠組みを開発します。

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

2
期待は平均と同じですか?
私は私の大学でMLをやっており、教授はガウシアンプロセスについていくつかのことを説明しようとしていたときに、期待(E)という用語を述べました。しかし、彼の説明から、Eは平均μと同じであることがわかりました。私は正しく理解しましたか? 同じであれば、両方の記号が使用されている理由を知っていますか?また、EはE()のように関数として使用できることも確認しましたが、μについては確認できませんでした。バツ2x2x^2 誰かが2つの違いをよりよく理解するのに役立ちますか?

1
期待の最大化の明確化
EMアルゴリズムに関する非常に役立つチュートリアルを見つけました。 チュートリアルの例と写真は単に見事です。 確率の計算に関する関連質問期待値の最大化はどのように機能しますか? チュートリアルで説明されている理論を​​例にどのように接続するかについて、別の質問があります。 Eステップ中に、EMは、どこでもを下回る関数を選択しますこの関数は、。gtgtg_tログP(x ; Θ )log⁡P(x;Θ)\log P(x;\Theta)gt(Θ^(t ))= ログP(x ; Θ^(t ))gt(Θ^(t))=log⁡P(x;Θ^(t))g_t( \hat{\Theta}^{(t)}) = \log P(x; \hat{\Theta}^{(t)}) したがって、この例のは、反復ごとに異なるように見えます。gtgtg_t さらに、例ではとをデータに適用すると、得られますおよび。私にとっては直観に反するように見えます。以前にいくつかの仮定があり、それをデータに適用して新しい仮定を取得したため、データは何らかの形で仮定を変更しました。がと等しくない理由がわかりません。 Θ (0 ) B =0.5 Θ (1 ) A =0.71 Θ (1 ) B =0.58 Θ(0) Θ(1)Θ^(0 )あ= 0.6Θ^A(0)=0.6\hat{\Theta}_A^{(0)} = 0.6Θ^(0 )B= 0.5Θ^B(0)=0.5\hat{\Theta}_B^{(0)} = 0.5Θ^(1 )あ= 0.71Θ^A(1)=0.71\hat{\Theta}_A^{(1)} = 0.71Θ^(1 …

4
一般化されたブースト回帰モデルでツリーの数を選択するにはどうすればよいですか?
GBMでツリーの数を選択するための戦略はありますか?具体的には、の関数のntrees引数。Rgbm なぜあなたがntrees最高の合理的な値に設定すべきでないのかわかりません。ツリーの数を増やすと、複数のGBMの結果のばらつきが明らかに減少することに気づきました。木が多いからといって、過剰適合になるとは思いません。 何かご意見は?

5
ニューラルネットワークの数学的背景
これがこのサイトに適しているかどうかはわかりませんが、私はMSEをコンピュータサイエンス(応用数学のBS)で始めており、機械学習の強力なバックグラウンドを取得したいと考えています(おそらく博士号を取得する予定です)。私のサブインタレストの1つはニューラルネットワークです。 ANNの良い数学的背景は何ですか?機械学習の他の領域と同様に、線形代数が重要だと思いますが、数学の他のどの領域が重要ですか? ニューラルネットワーク:体系的な紹介またはパターン認識のためのニューラルネットワークを読む予定です。誰かが何か入力や代替推奨事項を持っていますか?


2
このモデル化アプローチには過剰適合がありますか
最近、私が従ったプロセス(修士論文のコンポーネント)は適合しすぎていると見なすことができると言われました。私はこれをよりよく理解し、他の人が同意するかどうかを確認したいと思っています。 論文のこの部分の目的は 勾配ブースト回帰ツリーとデータセットのランダムフォレストのパフォーマンスを比較します。 選択した最終モデル(GBMまたはRF)のパフォーマンスを確認します。 R のgbmおよびrandomForestパッケージが、とともに使用されてい caretます。 実行されたプロセスは次のとおりです。 データの予備的な前処理(例:名目上の予測値の欠損値を "欠落"と呼ばれる明確なカテゴリで埋める)。ターゲット変数は、前処理に関しては調べられませんでした(これは非常に最小限でした)。 各アルゴリズムのメタパラメータの値のグリッドを作成します(GBMの反復回数など)。 データセットの25のランダムな分割を作成します(65%のトレーニングと35%のテスト)。 GBMに対して次の25回を繰り返します(毎回、ランダムトレイン/テストスプリットの1つを利用します。毎回、どのトレーニングとテストセットがコース変更の「最新」であるかを確認します。これは、グループ脱退相互検証の繰り返しです)。 5分割交差検証を使用して、グリッド検索でアルゴリズムの「最適な」パラメーター設定を見つけます。現在の実行では、以前の実行の何も使用されていません。 決定したら、モデルを完全な「現在の」トレーニングセットに適合させ、「現在の」テストセットを予測します。この実行のパフォーマンス測定を取っておきます。 この方法で25のパフォーマンス指標(実際にはドメイン固有の指標ですが、精度と考えることができます)が取得されたら、RFに対してまったく同じ独立したトレーニングとテストのサンプルを使用して、まったく同じプロセスに従います(同じプロセス、異なるプロセスのみ)もちろんグリッド検索)。 現在、GBMとRFの当時の「現在の」テストセットから、25のパフォーマンス測定があります。ウィルコクソン符号順位検定と順列検定を使用してそれらを比較します。GBMの方が優れていることがわかりました。また、GBMに対するこれらの25回の実行からのパフォーマンス測定の分布は、最終的なGBM分類器の期待されるパフォーマンスであると主張しました。 私がしなかったことは、ランダムなテストセットを最初から引き出して、すべてのトレーニングデータから構築された最終的なGBMモデルと比較するために脇に置いておくことでした。データの分割、モデルの調整、ホールドアウトプロセスのテストを25回繰り返したのと比べて1回だけ行ったので、実際に行った方がはるかに優れていたと私は思います。 ここに過剰適合がありますか?25回の実行を使用してGBMとRFを選択したので、プロセスから取得したパフォーマンス測定値を完全なモデルのパフォーマンス推定として使用できないことを意味しますか? 編集 ウェインのコメントに応えて、25回の実行のそれぞれの間に行われたことを以下に示します。 i番目のトレーニングセット(i = 1、..、25)についてサンプリングされたデータは、5つの同じサイズのグループに分割されました。5つのグループのうち4つを使用してモデルを適合させ、GBMパラメーター(たとえば、反復回数)をj番目(j = 1、..、18)グリッドの値と等しく設定しました。 5番目のグループのパフォーマンスは、このモデルを使用して計算されました。 ステップ1と2をさらに4回繰り返しました(k = 5の通常の古いk倍CV)。パフォーマンスは5回のサブランの平均であり、これは特定のパラメーター値のセットでGBMの予想されるパフォーマンスを構成しました。 グリッド内の他の17行について、手順1〜3を繰り返しました。 完了すると、上記の演習から最適なパラメーター値が決定され、GBMはこれらのパラメーター値と完全なi番目のトレーニングセットを使用して適合されました。そのパフォーマンスは、i番目のテストセットで推定されました。 このプロセス全体が25回実行されると、GBMで使用できるパフォーマンスの測定値は25になります。その後、彼らはまったく同じ方法でRFのために集められました。 GBMを比較して選択した後、25のパフォーマンス測定値を調べ、平均と標準誤差を使用して、このデータのGBMモデルの信頼区間を決定しました。

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