問題タブ [unsupervised-learning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - K-Meansアルゴリズム
Javaでk-meansアルゴリズムをプログラムしようとしています。いくつかの配列を計算しました。各配列にはいくつかの係数が含まれています。このすべてのデータをグループ化するには、k-meansアルゴリズムを使用する必要があります。このアルゴリズムの実装を知っていますか?
ありがとう
machine-learning - 教師あり学習と教師なし学習の違いは何ですか?
人工知能と機械学習の観点から、教師あり学習と教師なし学習の違いは何ですか?例を挙げて、基本的で簡単な説明を提供できますか?
r - Rでの教師なし学習? 行列の分類 - 適切なパッケージは何ですか?
最近、私はスタンフォード大学の陽気な公開教室のビデオ講義をたくさん見ました。特に、教師なし機械学習に関する部分が私の注目を集めました。残念ながら、さらに面白くなる可能性がある場合は停止します。
基本的に、教師なしアルゴリズムによって離散行列を分類しようとしています。これらの行列には、同じ範囲の離散値が含まれているだけです。値が 1 ~ 3 の 20x15 行列が 1000 個あるとします。文献を読み始めたところですが、画像分類はより複雑で (カラー ヒストグラム)、私の場合はそこで行われていることを単純化したものだと感じています。
Machine LearningとCluster Cran Task Viewsも調べましたが、実際の例をどこから始めればよいかわかりません。
だから私の質問は次のとおりです。どのパッケージ/アルゴリズムが、Rで遊んで問題に取り組み始めるのに適しているでしょうか?
編集: 不正確だった可能性があることに気付きました: 私の行列には個別の選択データが含まれているため、平均クラスタリングは (!) 正しい考えではない可能性があります。ベクトルと観察についてあなたが言ったことは理解していますが、時間の経過とともにいくつかの観察があるため、行列またはdata.framesを受け入れる関数を望んでいます。
EDIT2:カテゴリデータの教師なし分類に焦点を当てたパッケージ/関数の紹介が、今最も役立つものであることを認識しています。
machine-learning - 適切な類似度指標の選択と k-means クラスタリング モデルの妥当性の評価
300 個のオブジェクトのクラスターを決定するために k-means クラスタリングを実装しました。私のオブジェクトにはそれぞれ約 30 の次元があります。距離は、ユークリッド メトリックを使用して計算されます。
私は知る必要がある
- アルゴリズムが正しく機能しているかどうかを判断するにはどうすればよいですか? 私のアルゴリズムの正しさについて何らかの考えを与えるようなグラフを持つことはできません。
- ユークリッド距離は距離を計算するための正しい方法ですか? 次元が 30 ではなく 100 の場合はどうなりますか?
nlp - バウムウェルチアルゴリズムの実装のデバッグ(品詞タグ付け用)
私はプロジェクトに取り組んでおり、その一部はPOSタグ付け用の教師なしHMMトレーナーを開発することであり、現在、可能性のあるバグをテストしたいと考えています。
モデルのトレーニングにバウムウェルチアルゴリズムを使用しています。入力は(コーパスから抽出された)シーケンスワードであり、出力は一連の状態からの非表示状態のシーケンスです(s1, s2, ... sn)
。これでコーディングは完了しましたが、バグがないかどうかはわかりません。
誰かが私にいくつかのデバッグのアイデアを提案できますか?何のように出力をチェックインする必要がありますか?アルゴリズムの精度を確認するにはどうすればよいですか?
artificial-intelligence - クラスタリングを評価するにはどうすればよいですか?
クラスタリング (教師なし学習) を使用して形成されたクラスターの評価についてはまだ研究中ですか?
グーグルで調べてみましたが、得られる測定値は理論的すぎます。形成されたクラスターを評価するために使用しているメカニズムを人々が共有できれば素晴らしいことです。Java EE、Java ME、RMI、JVM などを含む Java クラスターがあるとします。別のクラスターには NoSQL があり、Neo4j、OrientDB、CouchDB などがあります。正確なクラスター。
ただし、トレーニングとテストの後、MySQL、NoSQL クラスターの下の Oracle と言う場合があるため、手動/視覚的な解釈を行ってから、アルゴリズムを再トレーニングするか微調整して、より良いクラスタリングを取得します。
今、クラスターを手動で視覚化するこのプロセスを自動化し、形成されたクラスターの精度を提供するシステムを手に入れたいと考えています。検索で使用される Precision 、 Recall 、 NDCG 、 Map などに似たものを探しています。私のクラスターの長さはさまざまであり、n 個の異なるクラスターが形成される可能性があるため、精度/再現率は適切ではありません。
algorithm - 教師なし分類-特徴ベクトルが取得されます
市販品を分類する必要があります。あなたは価格比較エンジンが何をするか知っています。
特徴ベクトルを取得しました。彼らは最高ではありませんが、かなり良いです。私の最後のステップは、クラスターがいくつあるかを知らずにそれらを分類することです。したがって、k-meansのようなアルゴリズムは、クラスがいくつある必要があるため、機能しません。
したがって、ここでは特徴ベクトルのセットの例を示します。ここでは(例として)順番に並んでいますが、順序に依存しないアルゴリズムが必要です。
人間のように見える場合、これらの特徴ベクトルを使用するだけで製品を簡単に分類できます。しかし、私はアルゴリズムを介してそれを達成する必要があります。また、事前情報を必要とせず、特徴ベクトルを使用するだけのアルゴリズムでそれを実現する必要があります。
上記の特徴ベクトルセットから、47-54はクラスター、55-60は別のクラスター、61-69は別のクラスターです(各クラスターは実際の製品を意味します)。したがって、アルゴリズムは、これらの種類の特徴ベクトルを使用するだけで、これらを正しく分類する必要があります。
アルゴリズムは、特徴ベクトルの行の順序やクラスの数に依存することはできません。私たちは何も知りません、そして私たちはただ特徴ベクトルを持っています。
この分類問題についてのあなたの提案を待っています。ありがとうございました。
haskell - Haskellによる教師なしクラスタリング
私は、データセット間で同様のパターンが現れる頻度と近さを報告できるアルゴリズムを開発しようとしています。
簡単な例:
これらの各セットには1、2、および3がありますが、これらの番号はset2とset3で近接しています。
リスト内包表記でこのタスクを実行できると思います。データを変数xとyに描画し、各一致をリストのリストにカタログ化できます。ここで、埋め込まれたリストの1つの1番目の要素は見つかった一致の文字列であり、2番目と3番目の要素はそれらの位置です。そして、このリストを別の関数で実行して、それらの一致が発生する頻度と近さを計算し、パーセンテージを報告することができます。
それとも、これを行うためのよりエレガントな方法がありますか?
私はまだHaskellの初心者です。何かアドバイスをいただければ幸いです。
node.js - Nodejs テンプレート システムのドキュメント
node.js 用の独自のテンプレート システムを作成したい (教育目的のみ) が、最初に役立つ情報が見つかりません。私を助けることができる良いチュートリアルはありますか?ありがとう!
r - 教師なし学習のための合成データの生成
ランダムフォレストで教師なし学習用のデータを用意したい。手順は次のとおりです。
- データを取得し、すべての例に値 1 の属性「クラス」を追加します
- 元のデータから合成データを生成します。
- 元のデータ ビルドの例と同じ数の例はありませんが、次のようになります。
- 元のデータのその属性のすべての値から新しい属性値を抽出する
- すべての属性に対してそれを行い、それらを新しい例に結合します
- 元のデータ ビルドの例と同じ数の例はありませんが、次のようになります。
- 合成データ値 2 の属性「クラス」に割り当てます
- 両方のデータを結合する
最終的には次のようになります。
私のRコードは次のようになります。
私が R にまったく慣れていないことはおそらく明らかですが、うまくいきます。ただ 1 つの問題があります。合成データの属性の型は、元のデータの型と同じではありません。元は数字だったのに、今は因数になっています。合成データの生成中に同じ型を保持するにはどうすればよいですか?
ありがとうございました!
Data1 (数値は係数になります):
構造体 (リスト (V2 = c(1.51793、1.51711、1.51645、1.51916、1.51131)、V3 = c(13.21、12.89、13.44、14.15、13.69)、V4 = c(3.48、3.62、3.61、0、3.2)、V5 = c(1.41, 1.57, 1.54, 2.09, 1.81), V6 = c(72.64, 72.96, 72.39, 72.74, 72.81), V7 = c(0.59, 0.61, 0.66, 0, 1.76 ), V8 = c(8.43, 8.11、8.03、10.88、5.43)、V9 = c(0、0、0、0、1.19)、V10 = c(0、0、0、0、0)、realClass = 構造体(c(1L、2L、2L) , 5L, 6L), .Label = c("1", "2", "3", "5", "6", "7"), クラス = "因子")), .Names = c(" V2"、"V3"、"V4"、"V5"、"V6"、"V7"、"V8"、"V9"、"V10"、"realClass")、row.names = c(27L, 138L, 77L、183L、186L)、クラス = "data.frame")
Data2 (要因は chrs になります):
structure(list(realClass = structure(c(2L, 2L, 2L, 1L, 2L), .Label = c("e", "p"), class = "factor"), V2 = 構造(c(6L, 3L, 4L, 6L, 6L), .Label = c("b", "c", "f", "k", "s", "x"), class = "factor"), V3 = 構造体( c(4L, 4L, 3L, 1L, 1L), .Label = c("f", "g", "s", "y"), class = "factor"), V4 = 構造体(c(5L, 5L, 5L, 3L, 4L), .Label = c("b", "c", "e", "g", "n", "p", "r", "u", "w", "y"), class = "factor"), V5 = structure(c(1L, 1L, 1L, 2L, 1L), .Label = c("f", "t" ), クラス = "factor"), V6 = 構造 (c(3L, 9L, 3L, 6L, 3L ), .ラベル = c("a", "c", "f", "l", "m", "n", "p", "s", "y" ), クラス = "因子"), V7 = structure(c(2L, 2L, 2L, 2L, 2L ), .Label = c("a", "f"), class = "factor"), V8 = 構造体(c(1L, 1L, 1L, 1L, 1L), .Label = c("c", "w"), class = "factor"), V9 = structure(c(2L, 2L, 2L, 1L, 1L), .Label = c("b", "n" ), class = "factor"), V10 = structure(c(1L, 1L, 1L, 10L, 4L), .Label = c("b", "e", "g", "h", "k"、"n"、"o"、"p"、"r"、"u"、"w"、"y")、クラス = "因子")、V11 = 構造 (c(2L, 2L, 2L、2L、1L)、.Label = c("e", "t"), class = "factor"), V12 = 構造体(c(NA, NA, NA, 1L, 1L), .Label = c("b", "c", "e", "r"), class = "factor"), V13 = 構造体(c(3L, 2L, 3L, 3L, 2L), .Label = c("f", "k", "s", "y"), class = "factor"), V14 = 構造体(c(3L, 3L, 2L, 3L, 2L), .Label = c("f", "k", "s", "y") , class = "factor"), V15 = structure(c(7L, 8L, 7L, 4L, 7L), .Label = c("b", "c", "e", "g", "n", "o", "p", "w", "y"), class = "factor"), V16 = 構造体(c(7L, 7L, 8L, 4L, 1L), .Label = c("b", "c"、"e"、"g", "n", "o", "p", "w", "y" ), class = "factor"), V17 = structure(c(1L, 1L, 1L, 1L, 1L ), . Label = "p", class = "factor"), V18 = structure(c(3L, 3L, 3L, 3L, 3L), .Label = c("n", "o", "w", "y") ), class = "factor"), V19 = structure(c(2L, 2L, 2L, 2L, 2L), .Label = c("n", "o", "t"), class = "factor") , V20 = 構造体(c(1L, 1L, 1L, 5L, 3L), .Label = c("e", "f", "l", "n", "p"), class = "factor") , V21 = 構造体(c(8L, 8L, 8L, 4L, 2L), .Label = c("b", "h", "k", "n", "o", "r", "u" 、「わ」、"y"), class = "factor"), V22 = structure(c(5L, 5L, 5L, 5L, 6L), .Label = c("a", "c", "n", "s", "v", "y"), class = "factor"), V23 = 構造体(c(3L, 3L, 5L, 1L, 2L), .Label = c("d", "g", "l", "m", "p", "u", "w"), class = "factor")), .Names = c("realClass", "V2", "V3", "V4", "V5", 「V6」、「V7」、「V8」、「V9」、「V10」、「V11」、「V12」、「V13」、「V14」、「V15」、「V16」、「V17」、「V18」 "、"V19"、"V20"、"V21"、"V22"、"V23")、row.names = c(4105L、6207L、6696L、2736L、3756L)、クラス = "data.frame")