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

「経験とともに自動的に改善するコンピューターシステム」を構築する方法と原則。

3
多数の値に対する1つのホットエンコーディング
カテゴリ変数が取り得る値の数が多い場合、1つのホットエンコーディングをどのように使用しますか? 私の場合は56の値です。そのため、通常の方法のように、トレーニングデータセットに56列(56バイナリフィーチャ)を追加する必要があります。これにより、複雑さが大幅に増加し、トレーニング時間が増加します。 それでは、このような場合にどのように対処しますか?


2
トレーニングデータとテストデータの分布の違い
機械学習の基本的な前提は、トレーニングデータとテストデータが同じ母集団から抽出され、したがって同じ分布に従うことです。しかし、実際には、これはほとんどありません。共変量シフトはこの問題に対処します。誰かがこれに関する以下の疑問をクリアできますか? 2つの分布が統計的に異なるかどうかをどのように確認しますか?カーネル密度推定(KDE)を使用して、確率分布を推定して違いを伝えることはできますか?特定のカテゴリの画像が100枚あるとします。テスト画像の数は50で、トレーニング画像の数を5から50に5のステップで変更しています。KDEで推定した後、5つのトレーニング画像と50のテスト画像を使用すると、確率分布が異なると言えますか?

3
テキストフラグメントのパラメーターを使用したテンプレートの識別
パラメータを含むことができる固定構造のテキストフラグメントを含むデータセットがあります。次に例を示します。 Temperature today is 20 centigrades Temperature today is 28 centigrades または Her eyes are blue and hair black. Her eyes are green and hair brown. 最初の例は、1つの数値パラメーターを持つテンプレートを示しています。2つ目は、2つの因子パラメーターを持つテンプレートです。 テンプレートの数とパラメータの数は不明です。 問題は、テンプレートを識別し、各テキストフラグメントを対応するテンプレートに割り当てることです。 明白な最初のアイデアは、クラスタリングを使用することです。距離測定は、一致しない単語の数として定義されます。つまり、例1のレコードの距離は1で、例2の距離は2です。例1と2のレコード間の距離は7です。この方法は適切に機能し、クラスターの数がわかっている場合はそうではありません。役に立たない。 距離行列をスキャンして、距離1(または2、3、...)に多くの近傍を持つレコードを検索するプログラムによるアプローチを想像できますが、監視されていない機械学習アルゴリズムを適用して問題を解決できるかどうか知りたいです。Rが推奨されますが、必須ではありません。

1
からのデータの投影
いくつかのポイント、つまりに埋め込まれた次元の単位球があり、それらをに投影したい、つまり2次元単位球(埋め込まれている)を使用して、隣接する点が近くにあるという制約で視覚化します。私はしばらくt-sneで遊んでいますが、もちろん、ポイントはありません。投影を正規化しましたが、たとえば、あるデータセットの分散が他のデータセットと比較してで非常に小さい場合、でも同じであると期待していますSんSnS^nんnnRn + 1Rn+1\mathbb{R}^{n+1}S2S2S^2R3R3\mathbb{R}^3S2S2S^2SnSnS^nS2S2S^2予測; これは、t-sneを正規化する場合には当てはまりません。何か案は?私は前の声明を成立させるものを本当に望んでいます。

3
PCAをターゲットに適用するとなぜ適合不足になるのですか?
目標: 機械学習とニューラルネットワークの実験は初めてです。一連の5つの画像を入力として受け取り、次の画像を予測するネットワークを構築したいと考えています。私のデータセットは、実験のために完全に人工的なものです。例として、入力と予想される出力の例をいくつか示します。 データポイントとターゲットのイメージは同じソースからのものです。データポイントのターゲットイメージは他のデータポイントに表示され、その逆も同様です。 私がやった事: 今のところ、1つの非表示層を持つパーセプトロンを構築し、出力層が予測のピクセルを提供します。2つの層は密度が高く、シグモイドニューロンで構成されています。平均二乗誤差を目的として使用しました。画像はかなりシンプルで、それほど変化しないので、これはうまく機能します。200〜300の例と50の非表示の単位があるため、テストデータで適切なエラー値(0.06)と適切な予測が得られます。ネットワークは勾配降下法で学習されます(学習率のスケーリングを使用)。ここに私が得る学習曲線の種類とエポックの数によるエラーの進展があります: 私がやろうとしていること: これで十分ですが、データセットの次元を減らして、より大きな画像やより多くの例にスケーリングできるようにしたいと思います。PCAを適用しました。ただし、次の2つの理由により、データポイントのリストではなく画像のリストに適用しました。 全体としてのデータセットでは、共分散行列は24000x24000になり、ラップトップのメモリに収まりません。 同じ画像でできているので、画像上で行うことで、ターゲットを圧縮することもできます。 画像はすべて類似しているように見えるので、1e-6の差異のみを失いながら、なんとかサイズを4800(40x40x3)から36に減らしました。 機能しないもの: 削減されたデータセットとその削減されたターゲットをネットワークに供給すると、勾配降下法は非常に速く収束して高いエラー(約50!)になります。上記と同等のプロットを見ることができます: 学習曲線が高い値から始まり、その後下がって戻るとは思いもしませんでした...そして、勾配降下がそれほど速く停止する通常の原因は何ですか?パラメータの初期化にリンクできますか(私はlasagneライブラリのデフォルトであるGlorotUniformを使用しています)。 次に、削減されたデータをフィードしても、元の(非圧縮)ターゲットをフィードすると、最初のパフォーマンスに戻ることに気付きました。したがって、ターゲットイメージにPCAを適用することは良い考えではなかったようです。何故ですか?結局、入力とターゲットを同じ行列で乗算しただけなので、トレーニング入力とターゲットは、ニューラルネットワークが理解できるようにリンクされています。何が欠けていますか? シグモイドニューロンの総数が同じになるように4800ユニットの追加のレイヤーを導入しても、同じ結果が得られます。要約すると、私は試しました: 24000ピクセル=> 50シグモイド=> 4800シグモイド(= 4800ピクセル) 180 "ピクセル" => 50シグモイド=> 36シグモイド(= 36 "ピクセル") 180 "ピクセル" => 50シグモイド=> 4800シグモイド(= 4800ピクセル) 180 "ピクセル" => 50シグモイド=> 4800シグモイド=> 36シグモイド(= 36 "ピクセル") 180 "ピクセル" => 50シグモイド=> 4800シグモイド=> 36線形(= 36 "ピクセル") (1)および(3)正常に動作します。(2)、(4)、(5)ではなく、その理由がわかりません。特に、(3)は機能するので、(5)は(3)と同じパラメータと最後の線形層の固有ベクトルを見つけることができるはずです。ニューラルネットワークではそれは不可能ですか?


1
SparkとRのロジスティック回帰が同じデータに対して異なるモデルを返すのはなぜですか?
R(glm)とSpark(LogisticRegressionWithLBFGS)のロジスティック回帰モデルを390 obsのデータセットで比較しました。14変数の。 結果は切片と重みで完全に異なります。これを説明するには? 以下はSpark(LogisticRegressionWithLBFGS)の結果です。 model.intercept : 1.119830027739959 model.weights : GEST 0.30798496002530473 DILATE 0.28121771009716895 EFFACE 0.01780105068588628 CONSIS -0.22782058111362183 CONTR -0.8094592237248102 MEMBRAN-1.788173534959893 AGE -0.05285751197750732 STRAT -1.6650305527536942 GRAVID 0.38324952943210994 PARIT -0.9463956993328745 DIAB 0.18151162744507293 TRANSF -0.7413500749909346 GEMEL 1.5953124037323745 Rの結果は次のとおりです。 Estimate Std. Error z value Pr(>|z|) (Intercept) 3.0682091 3.3944407 0.904 0.366052 GEST 0.0086545 0.1494487 0.058 …

1
機能を抽出し、監視ツールからのアラートメールを適切なカテゴリに分類する方法
私の会社は多くのクライアントにマネージドサービスを提供しています。お客様は通常、次の監視ツールを使用してサーバー/ウェブアプリを監視します。 OpsView ナギオス Pingdom カスタムシェルスクリプト 問題が見つかると、Opsチームにアラートメールが送信され、問題を修正するためのアクションが行われます。 何千ものサーバーを管理しているため、運用チームの受信トレイは常に電子メールアラートで溢れています。カスケード効果がある単一の問題でも、20〜30通の電子メールをトリガーできます。 今、私がやりたいのは、サーバーのIPアドレス、問題のタイプ、問題の重大度などのアラート電子メールから重要な機能を抽出し、電子メールを適切なカテゴリに分類できるシステムを実装することです。CPU-Load-Customer1-Server2, MySQL-Replication-Customer2-DBServer3その後、運用チームが問題をより迅速に修正できるように、各カテゴリに対して事前に定義された一連のデバッグ手順を用意します。また、機能エクストラクタは、問題の入力データをチームに提供します。 これまでのところ、教師付き学習手法、つまりラベル付きトレーニングデータ(クラスターデータ)でNaiveBayesClassifierをトレーニングし、新しい未確認のメールを適切なクラスター/カテゴリに分類できました。電子メールは特定のテンプレートに基づいているため、分類子の精度は非常に高くなります。ただし、カスタムスクリプトからアラートメールを受信することもあるので、テンプレートに従っていない可能性があります。そこで、教師あり学習ではなく、教師なし学習を試したいと思います。KMeansクラスタリングを調べています。しかし、やはり問題は、事前にクラスターの数がわからないことです。では、この使用例に最適なアルゴリズムはどれですか?現在、分類にはPythonのTextBlobライブラリを使用しています。 また、アラートメールから機能を抽出するために、NLTK(http://www.nltk.org/book/ch07.html)ライブラリを調べています。試してみましたが、適切な英語のパラグラフ/テキストでうまく機能するようですが、アラートメールの場合は、多くの不要な機能が抽出されました。同じための既存のソリューションはすでにありますか?そうでない場合、同じものを実装するための最良の方法は何ですか?どのライブラリ、どのアルゴリズムですか? PS:私はデータサイエンティストではありません。 メールの例: PROBLEM: CRITICAL - Customer1_PROD - Customer1_PROD_SLAVE_DB_01 - CPU Load Avg Service: CPU Load Avg Host: Customer1_PROD_SLAVE_DB_01 Alias: Customer1_PROD_SLAVE_DB_01 Address: 10.10.0.100 Host Group Hierarchy: Opsview > Customer1 - BIG C > Customer1_PROD State: CRITICAL Date & Time: Sat …

1
単純ベイズ分類器はトレーニングで欠落データをどのように処理しますか?
Naive Bayesは、トレーニングまたはテスト/分類インスタンスに存在するかどうかに応じて、欠落データを異なる方法で処理します。 インスタンスを分類するとき、欠損値のある属性は確率計算に含まれません(http://www.inf.ed.ac.uk/teaching/courses/iaml/slides/naive-2x2.pdf) トレーニングでは、「[値が不足している]インスタンスは、属性値とクラスの組み合わせの頻度カウントに含まれていません。」(http://www.csee.wvu.edu/~timm/cs591o/old/BasicMethods.html) これは、特定のトレーニングレコードがトレーニングフェーズに含まれていないことを意味しますか?それとも別の意味ですか?

5
ニューラルネットワークのどこから始めるか
まず、質問がウェブサイトに適さない可能性があることはわかっていますが、ポインタを教えていただければ幸いです。 私は16歳のプログラマーです。さまざまなプログラミング言語の経験があり、しばらく前にCourseraでコースを開始しました。機械学習入門というタイトルで、その瞬間からAIについて学ぶ意欲が高まり、ニューラルネットワークについて読んで、Javaを使用して実用的なパーセプトロンを作成しましたが、それは本当に楽しかったですが、もう少し難しいこと(数字認識ソフトウェアの構築)を始めたとき、私は多くの数学を学ばなければならないことがわかりました。数学が大好きですが、ここの学校はあまり教えてくれません。数学の教師である誰かがAIを学ぶために数学(特に微積分)を学ぶ必要があると思いますか、それとも、それらを学ぶまで待つべきでしょうか。学校? また、私がAIと機械学習を学習する過程で、他にどのようなことが役立つでしょうか?他の手法(SVMなど)でも強力な計算が必要ですか? 私の質問が長い場合は申し訳ありませんが、AIの学習で経験したことを教えていただければ幸いです。

1
R Mapreduce(RHadoop)の線形回帰
私はRHadoopとRMRを初めて使用します... MapreduceでMapreduceジョブを作成する必要がありました。書き込みを試しましたが、実行中にエラーが発生しました。hdfsからファイルを読み取るためのTring エラー: Error in mr(map = map, reduce = reduce, combine = combine, vectorized.reduce, : hadoop streaming failed with error code 1 コード: Sys.setenv(HADOOP_HOME="/opt/cloudera/parcels/CDH-4.7.0-1.cdh4.7.0.p0.40/lib/hadoop") Sys.setenv(HADOOP_CMD="/opt/cloudera/parcels/CDH-4.7.0-1.cdh4.7.0.p0.40/bin/hadoop") Sys.setenv(HADOOP_STREAMING="/opt/cloudera/parcels/CDH-4.7.0-1.cdh4.7.0.p0.40/lib/hadoop-0.20-mapreduce/contrib/streaming/hadoop-streaming-2.0.0-mr1-cdh4.7.0.jar") library(rmr2) library(rhdfs) hdfs.init() day_file = hdfs.file("/hdfs/bikes_LR/day.csv","r") day_read = hdfs.read(day_file) c = rawToChar(day_read) XtX = values(from.dfs( mapreduce( input = "/hdfs/bikes_LR/day.csv", map= function(.,Xi){ yi =c[Xi[,1],] …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.