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

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

3
分類性能を評価するための相互検証またはブートストラップ?
特定のデータセットで分類器のパフォーマンスを評価し、他の分類器と比較するための最も適切なサンプリング方法は何ですか?クロスバリデーションは標準的なプラクティスのようですが、.632ブートストラップなどの方法の方が良い選択だと読みました。 フォローアップとして:パフォーマンスメトリックの選択は回答に影響しますか(精度ではなくAUCを使用する場合)? 私の最終的な目標は、特定のデータセットについて、ある機械学習法が別の機械学習法よりも優れているとある程度自信を持って言えるようにすることです。

3
毎日の時系列分析
私は時系列分析を行おうとしており、この分野は初めてです。2006年から2009年までのイベントを毎日数えており、時系列モデルをそれに合わせたいと考えています。これが私が達成した進歩です。 timeSeriesObj = ts(x,start=c(2006,1,1),frequency=365.25) plot.ts(timeSeriesObj) 結果のプロットは次のとおりです。 データに季節性と傾向があるかどうかを確認するには、この投稿に記載されている手順に従います。 ets(x) fit <- tbats(x) seasonal <- !is.null(fit$seasonal) seasonal そしてロブ・J・ハインドマンのブログで: library(fma) fit1 <- ets(x) fit2 <- ets(x,model="ANN") deviance <- 2*c(logLik(fit1) - logLik(fit2)) df <- attributes(logLik(fit1))$df - attributes(logLik(fit2))$df #P value 1-pchisq(deviance,df) どちらの場合も、季節性がないことを示しています。 シリーズのACFとPACFをプロットすると、次のようになります。 私の質問は: これは、毎日の時系列データを処理する方法ですか?このページは、週ごとと年ごとのパターンを検討する必要があることを示唆していますが、そのアプローチは明確ではありません。 ACFプロットとPACFプロットを取得した後、どのように進めるかわかりません。 auto.arima関数を単純に使用できますか? fit <-arima(myts、order = c(p、d、q) ***** Auto.Arimaの結果を更新****** ここでRob Hyndmanのコメントに従ってデータの頻度を7に変更すると、auto.arimaは季節ARIMAモデルを選択して出力します。 …

7
機械学習モデルまたは推奨システムで地理または郵便番号を表す方法
モデルを構築していますが、地理的位置はターゲット変数の予測に非常に適していると考えています。各ユーザーの郵便番号を持っています。ただし、モデルに予測機能として郵便番号を含める最善の方法については完全にはわかりません。郵便番号は数字ですが、数字が上がったり下がったりしても意味がありません。30,000のすべての郵便番号を2値化し、それらを機能または新しい列として含めることができます(たとえば、{user_1:{61822:1、62118:0、62444:0など}}。しかし、これはトンを追加するようですモデルの機能の。 この状況を処理する最良の方法についての考えはありますか?

3
スパースPCAはPCAよりどれくらい正確ですか?
数回前に授業でPCAについて学びました。この魅力的な概念についてさらに掘り下げることで、まばらなPCAについて知ることができました。 私が間違っていなければ、これはまばらなPCAです:PCAでは、変数を持つデータポイントがある場合、PCAを適用する前に次元空間で各データポイントを表すことができます。PCAを適用した後、同じ次元空間で再び表すことができますが、今回は、最初の主成分に最大の分散が含まれ、2番目の主成分に2番目に大きな分散方向が含まれます。したがって、データの多くの損失を引き起こさないため、最後のいくつかの主要コンポーネントを削除でき、データを圧縮できます。右?p pnnnpppppp スパースPCAは、ベクトル係数に含まれる非ゼロ値がより少ない主成分を選択しています。 これはどのようにデータをよりよく解釈するのに役立つと思われますか?誰でも例を挙げることができますか?

3
ガウスカーネルの機能マップ
SVMでは、ガウスカーネルは次のように定義されます: ここで、X、Y \で\ mathbb {R ^ N} 。\ phiの明示的な方程式はわかりません。知りたいです。X、Y∈RnはK(x,y)=exp(−∥x−y∥222σ2)=ϕ(x)Tϕ(y)K(x,y)=exp⁡(−‖x−y‖222σ2)=ϕ(x)Tϕ(y)K(x,y)=\exp\left({-\frac{\|x-y\|_2^2}{2\sigma^2}}\right)=\phi(x)^T\phi(y)x,y∈Rnx,y∈Rnx, y\in \mathbb{R^n}ϕϕ\phi 私はまたかどうか知りたい ∑iciϕ(xi)=ϕ(∑icixi)∑iciϕ(xi)=ϕ(∑icixi)\sum_ic_i\phi(x_i)=\phi \left(\sum_ic_ix_i \right)どこci∈Rci∈Rc_i\in \mathbb R。今、私はそれが等しくないと思います。なぜなら、カーネルを使用すると、線形分類が機能しない状況を処理するからです。ϕϕ\phi xを無限の空間に投影することを知っています。そのため、次元がいくつあっても線形のままである場合、svmは依然として適切な分類を行うことができません。

2
フィルター行列の要素を初期化する方法は?
ライブラリ(ConvnetやTensorFlowなど)に依存しないPythonコードを作成することで、畳み込みニューラルネットワークをよりよく理解しようとしていますが、カーネルマトリックスの値を選択する方法に関する文献にこだわっています。画像の畳み込みを実行します。 CNNのレイヤーを示す以下の画像の機能マップ間のステップで、実装の詳細を理解しようとしています。 この図によると: カーネルマトリックスカーネルは画像上で「ステップ」し、特徴マップを作成します。各ピクセルは、カーネル(またはフィルターマトリックス)の各重みと入力画像の対応するピクセル値の間のすべての要素ごとの積の合計です。 私の質問は、カーネル(またはフィルター)行列の重みをどのように初期化するのですか? 上記のデモンストレーションでは、これらは1と0にすぎませんが、これは図のために単純化されていると思います。 これらの重みは、何らかの前処理ステップでトレーニングされていますか?または、ユーザーが明示的に選択しましたか?

4
オーバーサンプリング、アンダーサンプリング、SMOTEはどのような問題を解決しますか?
最近の好評の質問で、Timは、機械学習で不均衡なデータが本当に問題になるのはいつかを尋ねます。質問の前提は、クラスバランスと不均衡クラスの問題について議論する多くの機械学習文献があるということです。考え方は、ポジティブクラスとネガティブクラスの間に不均衡があるデータセットは、一部の機械学習分類(ここでは確率モデルを含む)アルゴリズムに問題を引き起こし、完全な50/50を復元するために、データセットを「バランス」する方法を探さなければならないということです。正と負のクラスに分割します。 賛成の回答の一般的な意味は、「少なくともモデリングに思慮深い場合はそうではない」ということです。M.ヘンリーL.は、受け入れられた答えに対する上向きのコメントで、次のように述べています。 [...]不均衡なデータの使用には、低レベルの問題はありません。私の経験では、「不均衡なデータを回避する」というアドバイスは、アルゴリズム固有のものか、継承された知恵です。私は、一般に、不均衡なデータは明確に指定されたモデルに概念的な問題をもたらさないというAdamOに同意します。 AdamOは、クラスバランスの「問題」は本当にクラス希少性の 1つだと主張 したがって、少なくとも回帰では(ただし、すべての状況で疑わしい)、不均衡なデータの唯一の問題は、サンプルサイズが事実上小さいことです。まれなクラスの人数に適した方法がある場合、そのメンバーシップの割合が不均衡であれば問題はありません。 これが目前の真の問題である場合、データセットのバランスを取ることを目的としたすべてのリサンプリング方法の目的は何ですか:オーバーサンプリング、アンダーサンプリング、SMOTEなど、未解決の問題が残ります。 明らかに、サンプルサイズが暗黙的に小さいという問題に対処していないため、何もないところから情報を作成することはできません!


4
ニューラルネット/ MLアルゴリズムの*理論*の教科書?
これまでに見てきたすべての教科書は、MLアルゴリズムとその実装方法について説明しています。 これらのアルゴリズムの動作の定理と証明を構築する教科書もありますか?例えば条件場合、勾配降下は常につながると述べていますか?x 、y、zバツ、y、zx,y,zA 、B 、CA、B、CA,B,C

4
最適化アルゴリズムが他の最適化問題に関して定義されているのはなぜですか?
機械学習の最適化手法に関するいくつかの研究を行っていますが、他の最適化問題に関して多数の最適化アルゴリズムが定義されていることに驚いています。以下にいくつかの例を示します。 たとえば、https://arxiv.org/pdf/1511.05133v1.pdf すべてが素晴らしくて良いように見えが、更新にはこのがあります。...を解決するアルゴリズムは何ですか?私たちは知りません、そしてそれは言いません。魔法のように、内積が最小になるように最小化ベクトルを見つけるという別の最適化問題を解決します。これはどのように行うことができますか?z k + 1 argminargminバツargminx\text{argmin}_xzk + 1zk+1z^{k+1}argminargmin\text{argmin} 別の例をご覧ください:https : //arxiv.org/pdf/1609.05713v1.pdf アルゴリズムの途中でその近位の演算子をヒットするまで、すべてが素晴らしくて見栄えがよく、その演算子の定義は何ですか? ブーム: さて、近位オペレーターでこのをどのように解決したらよいでしょうか。それは言いません。いずれにせよ、その最適化問題はが何であるかに応じて困難に見えます(NP HARD)。 fargminバツargminx\text{argmin}_xfff 誰かが私に啓発してください: なぜ他の最適化問題に関して非常に多くの最適化アルゴリズムが定義されているのですか? (これはある種の鶏と卵の問題ではありません。問題1を解決するには、問題3を解決する方法を使用して問題2を解決する必要があります。 これらのアルゴリズムに組み込まれているこれらの最適化問題をどのように解決しますか?たとえば、、右側のを見つける方法は?バツk + 1= argminバツ本当に複雑な損失関数xk+1=argminxreally complicated loss functionx^{k+1} = \text{argmin}_x \text{really complicated loss function} 最終的に、これらのアルゴリズムを数値的に実装する方法について私は困惑しています。ベクトルの追加と乗算はPythonでは簡単な操作であると認識していが、については、関数の最小化を魔法のように与える関数(スクリプト)はありますか?argminバツargminx\text{argmin}_x (報奨金:著者が高レベル最適化アルゴリズムに埋め込まれた副問題のアルゴリズムを明確にしている論文を参照できますか?)

1
TensorBoardでTensorFlowによって与えられたヒストグラムをどのように解釈しますか?
私は最近、テンソルフローを実行して学習しており、解釈方法がわからないヒストグラムをいくつか取得しました。通常、バーの高さは頻度(または相対頻度/カウント)と考えます。しかし、通常のヒストグラムのようにバーが存在しないという事実と、陰影が付いているという事実は、私を混乱させます。また、一度に多くの行/高さがありますか? 誰かが次のグラフを解釈する方法を知っていますか(そしておそらくテンソルフローでヒストグラムを読むのに役立つ一般的なアドバイスを提供します): 元の変数がベクトルまたは行列またはテンソルである場合、実際にテンソルフローは各座標のヒストグラムのように表示されますか?また、この情報を取得して人々を自立させる方法を参照することは、ドキュメントで有用なものを見つけるのが困難であるため、今は素晴らしいでしょう。たぶん、いくつかのチュートリアルの例など?それらを操作する上でのアドバイスもいいかもしれません。 参考として、これを与えたコードの抜粋を以下に示します。 (X_train, Y_train, X_cv, Y_cv, X_test, Y_test) = data_lib.get_data_from_file(file_name='./f_1d_cos_no_noise_data.npz') (N_train,D) = X_train.shape D1 = 24 (N_test,D_out) = Y_test.shape W1 = tf.Variable( tf.truncated_normal([D,D1], mean=0.0, stddev=std), name='W1') # (D x D1) S1 = tf.Variable( tf.constant(100.0, shape=[]), name='S1') # (1 x 1) C1 = tf.Variable( tf.truncated_normal([D1,1], mean=0.0, stddev=0.1), name='C1' ) …

2
最終(生産準備完了)モデルは、完全なデータでトレーニングするのか、それともトレーニングセットでトレーニングするのか?
トレーニングセットで複数のモデルをトレーニングし、クロス検証セットを使用して最適なモデルを選択し、テストセットでパフォーマンスを測定したと仮定します。だから今、私は1つの最終的な最高のモデルを持っています。使用可能なすべてのデータで再トレーニングするか、トレーニングセットのみでトレーニングしたソリューションを出荷する必要がありますか?後者の場合、なぜですか? 更新:@ P.Windridgeが指摘したように、再訓練されたモデルを出荷することは、基本的に検証なしでモデルを出荷することを意味します。しかし、テストセットのパフォーマンスを報告することができます。その後、最適なモデルとより多くのデータを使用するため、パフォーマンスが向上することを期待して、完全なデータでモデルを再トレーニングできます。そのような方法論からどのような問題が発生する可能性がありますか?

4
数学者のための機械学習の紹介
ある意味では、これはmath.stackexchangeからの私のクロスポストであり、このサイトは幅広い読者を提供するかもしれないと感じています。 機械学習の数学的な紹介を探しています。特に、見つけることができる多くの文献は比較的不正確であり、多くのページがコンテンツなしで費やされています。 しかし、そのような文献から始めて、パターン認識に関する司教の本であり、最後にスモラの本であるアンドリュー・ンのコースラ・コースを発見しました。残念ながら、Smolaの本はドラフト状態のみです。Smolaの本には証拠もあり、それは私にとって魅力的です。ビショップの本はすでにかなり良いが、ある程度の厳密さが欠けている。 要するに、私はスモーラのような本を探しています。つまり、可能な限り正確で厳密であり、数学的な背景を使用しています(もちろん短い紹介でも大丈夫です)。 推奨事項はありますか?

2
トピックモデルのトピックの安定性
私は、一連の自由記述式エッセイの内容に関する情報を抽出したいプロジェクトに取り組んでいます。この特定のプロジェクトでは、148人が、大規模な実験の一環として、仮想の学生組織についてのエッセイを書きました。私の分野(社会心理学)では、これらのデータを分析する典型的な方法はエッセイを手作業でコーディングすることですが、ハンドコーディングは労働集約的であり、私にとっては少し主観的であるため、これを定量的に行いたいと思います味。 無料の応答データを定量的に分析する方法についての調査中に、トピックモデリング(またはLatent Dirichlet Allocation、またはLDA)と呼ばれるアプローチを見つけました。トピックモデリングでは、データの単語の表現(用語ドキュメントマトリックス)を使用し、単語の共起に関する情報を使用して、データの潜在的なトピックを抽出します。このアプローチは私のアプリケーションに最適のようです。 残念ながら、トピックモデリングをデータに適用すると、2つの問題が見つかりました。 トピックモデリングによって明らかにされたトピックは、解釈が難しい場合があります 別のランダムシードを使用してトピックモデルを再実行すると、トピックが劇的に変化するように見える 特に問題2は私に関係しています。したがって、2つの関連する質問があります。 解釈可能性と安定性のためにモデル適合手順を最適化するために、LDA手順でできることはありますか?個人的に、私は、最も低いパープレキシティおよび/または最高のモデル適合性を持つモデルを見つけることについてあまり気にしません-私は主にこの手順を使用して、この研究の参加者がエッセイで書いたものを理解し、特徴づけるのを助けたいです。ただし、結果がランダムシードのアーティファクトになりたくないのは確かです。 上記の質問に関連して、LDAを実行するために必要なデータ量の基準はありますか?この方法を使用した私が見たほとんどの論文は、大きなコーパスを分析します(たとえば、過去20年間のすべてのScience論文のアーカイブ)が、実験データを使用しているため、ドキュメントのコーパスははるかに小さくなります。 手を汚したい人のために、ここにエッセイデータを投稿しました。使用しているRコードを以下に貼り付けました。 require(tm) require(topicmodels) # Create a corpus from the essay c <- Corpus(DataframeSource(essays)) inspect(c) # Remove punctuation and put the words in lower case c <- tm_map(c, removePunctuation) c <- tm_map(c, tolower) # Create a DocumentTermMatrix. The stopwords are the …

2
テストセットとトレーニングセットの分布の違いを処理する方法
機械学習またはパラメーター推定の基本的な前提の1つは、目に見えないデータがトレーニングセットと同じ分布に由来するということです。ただし、実際のケースによっては、テストセットの分布はトレーニングセットとほとんど異なります。 製品の説明を約17,000クラスに分類しようとする大規模な複数分類問題について考えてみましょう。トレーニングセットには、非常に歪んだクラス事前分布があります。そのため、一部のクラスには多くのトレーニング例があり、一部のクラスにはほんのわずかしかありません。クライアントから未知のクラスラベルを持つテストセットが与えられたとします。トレーニングセットでトレーニングされた分類器を使用して、テストセットの各製品を17,000クラスのいずれかに分類しようとします。テストセットのクラス分布は歪んでいる可能性がありますが、異なるビジネス分野に関連している可能性があるため、トレーニングセットのそれとはおそらく非常に異なっています。2つのクラス分布が大きく異なる場合、トレーニングされた分類器はテストセットでうまく機能しない可能性があります。これは、Naive Bayes分類器で特に明らかです。 確率的分類器のトレーニングセットと特定のテストセットの違いを処理する原則的な方法はありますか?「トランスダクティブSVM」はSVMでも同様のことを行うと聞きました。特定のテストセットで最高のパフォーマンスを発揮する分類器を学習するための同様の手法はありますか?次に、この実用的なシナリオで許可されているように、異なるテストセットに対して分類器を再トレーニングできます。

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