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

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

1
データセットで学習を行わない場合、分類エラーは低くなりますか?
単語の袋のデータセットがあります。私はランダムにいくつかのポイントを選択し、それらをテストに使用し、他のポイントはトレーニングに使用します。 ケース(1)テストセットから各データポイントを取得し、トレーニングセットからの最も近いポイントと同じクラスラベルを持つものとして分類します。 ケース(2)既知の教師付き分類子を使用して分類を行います。 ケース(1)の方が常に認識率が高くなります。つまり、このデータセット(およびその他のデータセット)については、監視付き学習を使用するよりも、まったく学習を行わない方が優れています。それは頻繁な状況ですか?

6
機能選択と交差検証に同じデータを使用しているか、偏っているか?
最適なフィーチャサブセットを選択した後にバイナリ分類器を構築する小さなデータセット(約250サンプル* 100フィーチャ)があります。データを次のように分割するとします。 トレーニング、検証、テスト 特徴選択については、分類子X、Y、Zのパフォーマンスを個別に最適化する特徴の選択に基づくラッパーモデルを適用します。この前処理ステップでは、分類器をトレーニングするためのトレーニングデータと、すべての候補フィーチャサブセットを評価するための検証データを使用します。 最後に、さまざまな分類子(X、Y、Z)を比較します。もちろん、データのテスト部分を使用して、公正な比較と評価を行うことができます。ただし、私の場合、テストデータは非常に小さく(約10から20サンプル)、モデルの評価に相互検証を適用します。 正と負の例の分布は非常に不均衡です(約8:2)。したがって、交差検証では、パフォーマンスの評価に失敗する可能性があります。これを克服するために、2番目の比較方法としてテスト部分(10〜20サンプル)を用意し、相互検証を検証する予定です。 まとめると、トレーニング、検証、テストにデータを分割しています。トレーニングおよび検証パーツは、機能の選択に使用されます。次に、同じデータに対する交差検証を適用してモデルを推定します。最後に、テストを使用して、データの不均衡を考慮した相互検証を検証します。 問題は、分類器X、Y、Zのパフォーマンスを最適化する機能の選択に使用したのと同じデータ(トレーニング+検証)を使用する場合、特徴選択に使用した同じデータ(トレーニング+検証)に交差検証を適用できるかどうかです。最終的なパフォーマンスを測定し、分類子を比較するには? この設定が偏りのある相互検証メジャーにつながり、正当化されない比較になるかどうかはわかりません。

1
SVMでラプラシアングラフを使用した多様体正則化
Matlabのサポートベクターマシン(SVM)に多様体正則化を実装しようとしています。Belkin et al。(2006)の論文の指示に従っていますが、その中に方程式があります。 f∗=argminf∈Hk∑li=1V(xi,yi,f)+γA∥f∥2A+γI∥f∥2If∗=argminf∈Hk∑i=1lV(xi,yi,f)+γA‖f‖A2+γI‖f‖I2f^{*} = \text{argmin}_{f \in H_k}\sum_{i=1}^{l}V\left(x_i,y_i,f\right)+\gamma_{A}\left\| f \right\|_{A}^{2}+\gamma_{I}\left\| f \right\|_{I}^{2} ここで、Vはある損失関数であり、γAγA\gamma_AはRHKSの関数のノルム(または周囲のノルム)の重みであり、は可能な解に平滑性条件を適用し、γIγI\gamma_Iは関数のノルムの重みです。低次元多様体(または固有ノルム)。これは、サンプリングされたMに沿って滑らかに実行されます。アンビエントレギュラライザーは問題を適切な状態にします。その存在は、多様体の仮定が低い程度に当てはまる場合、実用的な観点から本当に役立ちます。 。 それはBelkin等で示されました。(2006) 、そのf∗f∗f^*の点で拡張を認めnnn Sの点、 f∗(x)=∑ni=1α∗ik(xi,x)f∗(x)=∑i=1nαi∗k(xi,x)f^*(x)=\sum_{i=1}^{n}\alpha_i^*k(x_i,x) その決定関数クラス+1と-1を区別するのはy(x)=sign(f∗(x))y(x)=sign(f∗(x))y(x)=sign(f^*(x))です。 ここでの問題は、MATLABでLIBSVMを使用してSVMをトレーニングしようとしているが、元のコードを変更したくないため、入力データを取得する代わりに、事前に計算されたバージョンのLIBSVMを見つけ、出力グループをパラメーターとして取得したことです。 、計算されたカーネル行列と出力グループを取得し、SVMモデルをトレーニングします。私は、正規化されたカーネルマトリックス(グラムマトリックス)を使用してフィードを試行し、残りを実行させます。 カーネルを正規化する式を見つけようとしましたが、次のようになりました。カーネル行列と同じ次元を持つ恒等行列としての定義、IIIKKK G=2γAI+2γILKIG=2γAI+2γILKIG=\frac{2\gamma_AI + 2\gamma_ILK}{I} Gram=KGGram=KGGram = KG ここで、はラプラシアングラフ行列、はカーネル行列、は単位行列です。そして、は2つの行列と内積を使用して計算されます。LLLKKKIIIGramGramGramKKKGGG これがどのように計算されるかを理解するのを手伝ってくれる人はいますか?

1
ベイズの定理を使用する場合の信頼区間
いくつかの条件付き確率と、95%の信頼区間を計算しています。私のケースの多くでは、(分割表からの)試行からのx成功の単純なカウントがあるnため、で提供さbinom.confint(x, n, method='exact')れてRいるような二項信頼区間を使用できます。 しかし、他の場合では、そのようなデータがないので、ベイズの定理を使用して、持っている情報から計算します。たとえば、イベントおよび与えられた場合:baaabbb P(a | b )= P(B |)⋅ P(a )P(b )P(a|b)=P(b|a)⋅P(a)P(b) P(a|b) = \frac{P(b|a) \cdot P(a)}{P(b)} \ textrm {binom.confint}(\#\ left(b \ cap {} a)、\#(a)\ right)を使用してP(b | a)の周りの95%信頼区間を計算でき、比率P(a)/ P(b)を周波数比\#(a)/ \#(b)として。この情報を使用してP(a | b)の周囲の信頼区間を導出することは可能ですか?P(b | a )P(b|a)P(b|a)binom.confint(#(B ∩a )、#(a ))binom.confint(#(b∩a),#(a))\textrm{binom.confint}(\#\left(b\cap{}a),\#(a)\right)P(a )/ P(b )P(a)/P(b)P(a)/P(b)#(a )/#(b )#(a)/#(b)\#(a)/\#(b)P(a | b )P(a|b)P(a|b) ありがとう。



3
歪んだ/高い尖度データのサポートベクター回帰
サポートベクター回帰を使用して、かなり歪んだデータ(尖度が高い)をモデル化しています。データを直接モデル化しようとしましたが、主にデータの分布が原因であると誤った予測を取得しています。いくつかの外れ値(これは正当なデータポイントです)がSVRトレーニングに影響を及ぼしていると確信しています。また、おそらくクロスバリデーションでも影響があり、現時点では平均二乗誤差を最小限に抑えることでハイパーパラメーターを最適化しています。 SVRを適用する前にデータをスケーリング(たとえば、sqrt関数を使用して外れ値を減らす)したり、別のハイパーパラメーター最小化関数(たとえば、絶対誤差)を使用したりしましたが、より良い結果が得られるようですが、それでもあまり良くありません。誰かが同様の問題に遭遇したかどうか、そして彼らがそれにどのように取り組みましたか?どんな提案や代替方法でも大歓迎です。

1
分類モデルと同様のスコアのランダム生成
こんにちは仲間の数クラッカー バイナリ分類モデルによって生成されたかのように、(クラスラベルと共に)n個のランダムスコアを生成したいと思います。詳細には、次のプロパティが必要です。 すべてのスコアは0から1の間です すべてのスコアは、値が「0」または「1」のバイナリラベルに関連付けられています(後半は陽性クラス) スコアの全体的な精度は、たとえば0.1(<-ジェネレータのパラメータ)である必要があります ラベル「1」のスコアの比率は、上部セクション全体の精度より高く、下部セクションでは低くする必要があります(<-「モデル品質」もジェネレーターのパラメーターである必要があります) スコアは、結果のroc曲線が滑らかになるようにしてください(たとえば、ラベル「1」のスコアの束が上部にあり、ラベル「1」の残りのスコアが下部にあるなどリスト)。 これにどのように取り組むかについて誰かが考えを持っていますか?多分roc-curveの生成を介して、その治療法からポイントを生成しますか?前もって感謝します!

3
時間経過実験における遺伝子のクラスター化
時系列のクラスタリング、具体的にはクラスタリングに関するクエリをいくつか見ましたが、それらが私の質問に答えるとは思いません。 背景:酵母での時間経過実験で遺伝子をクラスター化したい。t1、 t2、 t3 、 t4の 4つの時点と、遺伝子の総数Gがあります。私はデータを行列Mの形式で持っています。ここで、列は処理(または時点) t1 t2 t3 および t4 を表し、行は遺伝子を表します。したがって、MはGx4行列です。 問題:すべての時点t1、 t2、 t3 、および t4 で、また特定の時点tiで同じように動作する遺伝子をクラスター化したい(iは{1、2、3、4}にある)(両方のクラスタリングを組み合わせた場合、ある時点でのクラスタリングは、複数の時点でのクラスタリングよりも重要です。これに加えて、ヒートマップも描きたいです。 私の解決策: 以下のRコードを使用して、ヒートマップとhclustRの関数を使用したクラスターを取得します(ユークリッド距離で階層的クラスタリングを実行します)。 row.scaled.expr <- (expr.diff - rowMeans(expr.diff)) / rowSds(expr.diff) breaks.expr <- c(quantile(row.scaled.expr[row.scaled.expr < 0], seq(0,1,length=10)[-9]), 0, quantile(row.scaled.expr[row.scaled.expr > 0], seq(0,1,length=10))[-1] ) blue.red.expr <- maPalette(low = "blue", high = "red", mid = …

2
非常に高い次元での相互検証(非常に高い次元の分類で使用される変数の数を選択するため)
私の質問は、観測値よりも多くの変数がある場合の相互検証についてです。アイデアを修正するために、非常に高い次元(観察よりも多くの機能)の分類フレームワークに制限することを提案します。 問題:各変数について、分類問題の特徴の関心度を正確に測定するよりも重要度測定値があると仮定します。特徴のサブセットを選択して分類エラーを最適に減らすという問題は、特徴の数を見つけるという問題に減少します。i=1,…,pi=1,…,pi=1,\dots,pT[i]T[i]T[i]iii 質問:この場合に相互検証を実行する最も効率的な方法は何ですか(相互検証スキーム)?私の質問は、コードの記述方法ではなく、選択された機能の数を見つけようとするときに使用する交差検証のバージョン(分類エラーを最小限に抑えるため)ではなく、交差検証を実行するときに高次元を処理する方法(したがって、上記の問題は、CVを高次元で議論するための「おもちゃの問題」のようなものです。 表記: は学習セットのサイズ、pは特徴の数(つまり、特徴空間の次元)です。非常に高い次元とは、p >> nを意味します(たとえば、および)。nnnp=10000p=10000p=10000n=100n=100n=100

1
SVMクラスの重みの事前選択
不均衡なデータを持つマルチクラスSVMでは、(X検証ではなく)トレーニングデータからクラスの重みを決定する方法があったことをどこかで見たり読んだりしたことを覚えています。誰がその方法が何であるか、またはどの紙からのものか知っていますか? ありがとう

2
ブースティングの基本分類子
AdaBoostなどのブースティングアルゴリズムは、複数の「弱い」分類子を組み合わせて、単一のより強力な分類子を形成します。理論的には、基本分類子でブースティングが可能であるはずですが、実際には、ツリーベースの分類子が最も一般的であるようです。 どうしてこれなの?ツリー分類子のどのプロパティがこのタスクに最適ですか?ブースティングのメリットが大きい他の基本分類子はありますか?分類の問題を念頭に置いて質問しますが、回帰アプリケーションに関する回答にも興味があります。

1
オープンソースのペアワイズ学習モデル
ペアワイズ学習トレーニングセットを使用して分類問題を解決しています。私たちは2つのクラスを持っています:悪いと良い。オブジェクトのペアもあります(a私、b私)んi = 1(ai,bi)i=1n(a_i,b_i)_{i=1}^n、つまりそのオブジェクト a私aia_i 優れているよりもb私bib_i。各オブジェクトは、その実際の座標を通じて記述されます。a私=バツ1私、バツ2私、…バツk私ai=xi1,xi2,…xika_i = x_i^1, x_i^2, \dots x_i^k。私の目的は、そのようなアルゴリズムを構築することです。それは、悪いテストオブジェクトと優れたテストオブジェクトについて述べています。 問題は、この種のペアワイズ学習問題を解決するために、どのオープンソースのアルゴリズム/プログラム/パッケージを提案できるかです。そのようなペアワイズトレーニングデータを処理するsvm-lightプロジェクトからのsvm-rankアルゴリズムのみを見つけました。matlab / R / rapidminerで同様のものが見つからなかったのでしょうか。

2
SVM rbfカーネル-ガンマを推定するためのヒューリスティックな方法
この交換で、SVMのrbfカーネルのガンマを推定するヒューリスティックな方法を読みました。誰かがもう少し詳しく説明してくれるのではないかと思いました。データセットから1000(または多数)のデータポイントのペアを選択し、各ペアの差のノルムを計算すると思います。どうやら、.1、.9の分位数と中央値の逆数は、rbfカーネルに適したガンマの良い候補です。 ありがとう

1
コンテンツに基づく会話の分類
会話の種類を区別できる分類子を設計できるようにしたいと思います(気分、誠実さ、または結果について必ずしも何も伝えられていませんが、少し離れすぎています)。 たとえば、会話の50のサンプルのうち、10は将来のイベントに関する情報を求める両方の当事者を含み、30は目標がないように見え、10は過去のイベントについて別の当事者から情報を求めることを含みます(実際、アルゴリズムはこれらは、実際の状況に関係なく、タイプI、II、またはIIIです。 言い換えると、話者の順序はコンテンツと一緒に重要であり、おそらく特定のキーワードでアルゴリズムをシードすることによって助けられるでしょう。 このタスクをかなり高い精度で実行できる分類システムはありますか?

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