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

データのパターンを自動的に発見し、それらに基づいて適切な決定を行うコンピューターアルゴリズムに関する質問。

1
平均検索パフォーマンスを最小化する、固定長の決定木に似た特徴選択
私は、複雑なクエリ持っデータセットを検索するために使用されるが、Sを見つけるためにH 正確な = { S ∈ S | Q (sが) 真であるが }。各クエリは、平均時間を取るトンリニアサーチの全体的な時間があるので、T ⋅ | S | 。私は単純サブクエリQ_Iにダウンクエリを破り、見つけることができますHを約 = { S ∈ S | ∀ のq J(sが)真です}QQQSSSHexact={s∈S∣where Q(s) is True}Hexact={s∈S∣where Q(s) is True}H_\text{exact} = \{s \in S \mid \text{where $Q(s)$ is True}\}tttt⋅|S|t⋅|S|t\cdot |S|Happrox={s∈S∣∀qj(s)is True}Happrox={s∈S∣∀qj(s)is True}H_\text{approx} = \{s\in S \mid \forall q_j(s) …


1
構造計算の観点から穴を埋める一般的なアルゴリズムはありますか?
Calculus of Constructionsを「穴」で拡張するとします。つまり、まだ埋めていない不完全なコード片です。これらの役割を自動的に埋めるアルゴリズムはあるのでしょうか。例(モートの構文を使用): ケースA: λ (pred : ?) -> λ (Nat : *) -> λ (Succ : Nat -> Nat) -> λ (Zero : Nat) -> (Succ (pred Nat Succ Zero)) このような状況では、型推論アルゴリズムは、それが識別することができ?、明らかに唯一できる∀ (Nat : *) -> (Nat -> Nat) -> Nat -> Natので、pred受信Nat : *、Succ : Nat -> Nat、Zero : …

1
現代の正規表現の表現力
私は最近、主に単語のグループを特別なプロパティと照合する正規表現の課題を提案するWebサイトについて友人と話し合いました。彼は||||||||、数|が素数であるような文字列に一致する正規表現を探していました。そのような言語は、通常であれば、補題をポンプの翻訳が素数のためにあるという事実与えますので、私はすぐにそれが今まで動作しません彼に言われた十分な大きさ、それが存在するのk ≤ pがあるようP + N kは、すべての主要ですN ≥ - 1、よく、これは全くケースしにくい(素数の配分、そのような未知の自明とプロパティを破砕、...)pppk≤pk≤pk \leq pp+nkp+nkp + nkn≥−1n≥−1n \geq -1 しかし、誰かが解決策に付属している:一致しない(||+?)\1+ キャプチャグループに一致するように、この表現しようとする(つまりすることができ||、|||、||||などの上の出現箇所)のn ≥ 2回。一致する場合、文字列で表される数はkで割り切れるので、素数ではありません。それ以外の場合です。k≥2k≥2k \geq 2|n≥2n≥2n \geq 2kkk そして、グループ化と後方参照により、正規表現が理論的な意味で...正規表現よりも実際にはるかに表現力豊かになることが明らかになったので、私は愚かに感じました。今では、実際の正規表現を実行するときに私が知らなかったルックアラウンドやその他の演算子も追加されました。 ウィキペディアによると、文脈自由文法によって生成された言語よりもさらに表現力があります。だからここに私の質問があります: 現代の正規表現エンジンを使用して、(文脈自由文法から生成された)代数言語を表現できますか より一般的な説明、または現代の正規表現で説明できる言語の種類の複雑さの少なくとも上限はありますか? より実用的には、その背後に深刻な理論がありますか、それとも有限オートマトンに基づく実際の正規表現の最初のブロックに実装可能と思われるたびに新しい機能を追加するだけですか? 「モダンな正規表現」は質問が具体的ではないことを知っていますが、少なくとも後方参照を使用することを意味します。もちろん、この「現代の正規表現」言語に対する特定の制限を想定している部分的な回答者がいる場合は、遠慮なく投稿してください。

1
収束するのではなく分岐するニューラルネットワーク
2層のニューラルネットワーク(CUDAを使用)を実装しました。(レイヤーあたり2ニューロン)。私は、バックプロパゲーションを使用して2つの単純な2次多項式関数を学習させるようにしています。 しかし、収束するのではなく、それは発散します(出力は無限大になります) これが私が試したことの詳細です: 初期の重みを0に設定しましたが、発散していたため、初期の重みをランダム化しました(範囲:-0.5〜0.5) 学習率が高すぎるとニューラルネットワークが分岐する可能性があるため、学習率を0.000001に下げました。 追加しようとしている2つの関数は次のとおりです。3* i + 7 * j + 9およびj * j + i * i + 24(レイヤーiおよびjを入力として指定しています) 私は以前にそれを単一の層として実装しました、そしてそれは今それをしているよりも多項式関数をよりよく近似することができました このネットワークに勢いをつけることを考えていますが、それが学習に役立つかどうかはわかりません 線形(noのように)アクティベーション関数を使用しています 最初は振動がありますが、いずれかのウェイトが1を超えると出力が発散し始めます コードをチェックして再チェックしましたが、コードになんら問題はないようです。 だから私の質問です:ここで何が問題になっていますか? どんなポインタでも大歓迎です。

1
LSTMのトレーニングの直感的な説明(ゲート/ピープホールを忘れた場合)?
私はCSの学部生です(ただし、AIについてはよく知りませんが、AIについてのコースを受講していません。最近までNNについてはまったく何もしていませんでした)。AIで学校のプロジェクトをやろうとしているので、ニューラルネットワークで強化学習を使用した(文脈自由言語およびおそらく文脈依存言語のサブセットの)文法誘導。私は以前に成功したアプローチを最初に研究してそれらを微調整できるかどうかを確認し始めましたが、今私は長期短期記憶による教師あり学習を使用してアプローチを理解しようとしています。私は「忘れる学習:LSTMによる継続的予測」を読んでいます。。私ものぞき穴に関する論文を読んでいますが、それはさらに複雑に思われ、単純なことを最初に試みています。私は、メモリセルとネットワークトポロジがどのように機能するかを正しく理解していると思います。現時点では取得できないのは、トレーニングアルゴリズムです。だから私は尋ねるいくつかの質問があります: 異なる入力はどの程度正確に区別されますか?どうやらネットワークは各入力の後にリセットされず、異なる入力を区切る特別な記号はありません。ネットワークは、入力の終わりと次の始まりがどこであるかについての手掛かりなしに、文字列の連続ストリームを受信するだけですか? 入力と対応するターゲット出力の間のタイムラグはどれくらいですか?確かにある程度のタイムラグが必要であるため、ネットワークは、処理するのに十分な時間がない入力からターゲット出力を取得するようにトレーニングすることはできません。使用されたのがReberの文法ではなく、より多くの情報を格納および取得する必要がある可能性のあるより複雑なものである場合、情報にアクセスするために必要な時間は、入力によって異なり、おそらく予測できないものです。トレーニングを行うためのタイムラグを決定している間。 トレーニングアルゴリズムのより直感的な説明はありますか?すべての複雑な数式の背後で何が行われているのかを理解するのは難しいと思います。後で強化学習アルゴリズムに微調整する必要があるため、理解する必要があります。 また、このペーパーでは、ノイズの多いトレーニングデータについては何も触れられていません。ネットワークが非常にノイズの多いテストデータを処理できることを他の場所で読んだことがあります。LSTMが、トレーニングデータが不要な情報で破損/上書きされる可能性がある状況を処理できるかどうかを知っていますか?

1
ダイナミクスの学習
私は最近、州で行動を起こすことの期待値を直接推定する強化学習手法であるQラーニングについて学びました。 システムのダイナミクスを推定するために「ダイナミクス学習」を行う手法はあるのでしょうか。「ダイナミクス学習」エージェントは、状態遷移関数の推定に役立つアクションを選択したり、既知の遷移関数のパラメーターを推定したりできます。 たとえば、カートポールシステムの「ダイナミクス学習」エージェントは、カートポールの運動方程式を近似する関数を発見します。または、エージェントはこれらの方程式を知っているかもしれませんが、振り子の慣性モーメントやカートの質量などのシステムのパラメータは知りません。 「ダイナミクス学習」を行うにはどのようなテクニックがありますか?


1
PAC学習モデルの定義
おそらくほぼ正しい(PAC)学習モデルは、次のように定義されます。 概念クラスアルゴリズムが存在する場合PAC-学習可能であると言われていると多項式関数そのような任意のそれ> 0ε及びδ> 0は、すべての分布のために、D上のX及びターゲットコンセプトc∈Cの場合、サンプルサイズm≥poly(1 /ε、1 /δ、n、size(c))について次のことが成り立ちます。CCCAAApoly(⋅,⋅,⋅,⋅)poly(·,·,·,·)poly(·,·,·,·)ε>0ε>0ε>0δ>0δ>0δ>0DDDXXXc∈Cc∈Cc∈Cm≥poly(1/ε,1/δ,n,size(c))m≥poly(1/ε,1/δ,n,size(c))m≥poly(1/ε,1/δ,n,size(c)) Pr[R(hs)≤ε]≥1−δPr[R(hs)≤ε]≥1−δPr[R(hs)≤ε]≥1-δ ここで、R(hs)R(hs)R(hs)は、分布Dに続く変数Xのインスタンスを含むサイズmのサンプルSの一般化誤差であり、size(c)は、c∈Cの計算表現の最大コストです。SSSmmmXXXDDDsize(c)size(c)size(c)c∈Cc∈Cc∈C poly(1/ε,1/δ,n,size(c))poly(1/ε,1/δ,n,size(c))poly(1/ε,1/δ,n,size(c))が多項式であることを知っています。しかし、poly(1 /ε、1 /δ、n、size(c))の明示的な形式は何poly(1/ε,1/δ,n,size(c))poly(1/ε,1/δ,n,size(c))poly(1/ε,1/δ,n,size(c))ですか?変数は何ですか?その程度は何ですか?

1
機械学習での文字列入力
ロジスティック回帰やニューラルネットワークなどの一般的な機械学習アルゴリズムでは、入力を数値にする必要があります。 私が興味を持っているのは、これらのアルゴリズムを非数値入力(短い文字列など)で機能させる方法です。 例として、入力機能の1つが送信者アドレスである電子メール分類システム(スパム/非スパム)を構築しているとしましょう。 学習アルゴリズムを使用できるようにするには、送信者アドレスを数値として表す必要があります。1つの方法は、送信者に単純に番号を付けることです1..n。トレーニングセットは次のようになります。 ただし、ロジスティック回帰やニューラルネットワークなどのアルゴリズムは入力データのパターンを学習するため、これは機能しませんが、この例では、出力はアルゴリズムに対して完全にランダムに見えます。実際、大学のクラスに入ると、このようなデータセットでニューラルネットワークをトレーニングしようとしましたが、ネットワークは何も学習できませんでした(学習曲線はフラットでした)。 この例では、ロジスティック回帰またはニューラルネットワークを使用しますか?はいの場合、その方法は?そうでない場合、送信者アドレスに基づいて電子メールを分類する良い方法は何でしょうか? 完璧な答えは、一般的なMLでの短い文字列の処理だけでなく、メール分類の例についても説明します。

1
ニューラルネットワークの適応
いくつかのケースでは、かなり複雑なデータセット(バックギャモンの位置とOCR)を使用して、ニューラルネットワーク(バックプロパゲーションネットワーク)をトレーニングしました。これを行う場合、学習に最適な構成を見つけるために、多くの作業にネットワークのさまざまな構成を試すことが含まれるようです。多くの場合、使用/学習がより速い小さなネットと、より多くの知識を表すことができる大きなネットとの間には妥協点があります。 次に、高速で大規模なネットワークをいくつか作成できるかどうか考えます。すべてのニューロンが完全に接続されていないネットワークでは、すべての層で完全に接続されているネットよりも計算が速くなるはずだと私は考えています。特定のニューロンが特定の入力を必要としないため、それらの接続を削除することを検出したのはトレーニングである可能性があります。同様に、一部のニューロンが「過負荷」になっているように思われる場合、トレーニングには新しいニューロンの追加も含まれます。 これは成功して試されたものですか?この種の動作を持つネットワークのクラスは存在しますか?

2
ニューラルネットワークの重みから何を学ぶことができますか?
私はニューラルネットワークに非常に慣れていないため、いくつかのことを理解しようとしています。したがって、100個の入力、200個のノードを持つ非表示層、および32個の出力を持つニューラルネットワークに遭遇したとします。また、ニューラルネットワークのこの特定のインスタンスの「発見者」であるあなたが、個々のニューロンの重みを読み取ることができるとしましょう。その機能について何を理解できますか? 1)ニューラルネットワーク内に含まれているアルゴリズムまたはロジックを特定できますか?すべての可能な入力をフィードし、それが生成する出力を調査する以外は。 2)ニューラルネットワークの接続に関する情報が提供された場合(ネットワークが完全に接続されていない可能性があります)、上記の質問を解決する方が簡単でしょうか?

1
Vapnik-Chervonenkis Dimension:ライン上の4つのポイントを長方形で粉砕できないのはなぜですか?
それで、私はBishopなどによる「機械学習入門」第2版を読んでいます。すべて。27ページで、彼らはVapnik-Chervonenkis Dimensionについて論じています。 「H [仮想クラス]によって粉砕できるポイントの最大数は、HのVapnik-Chervonenkis(VC)ディメンションと呼ばれ、VC(H)と表され、Hの容量を測定します。」 一方、「粉砕」は、N個のデータポイントのセットの仮説を示し、正の例と負の例を区別します。そのような例では、「HはNポイントを粉砕する」と言われています。H ∈ Hh∈Hh \in H これまでのところ、私はこれを理解していると思います。しかし、著者は次の理由で私を失います: 「たとえば、ライン上の4つのポイントを長方形で粉砕することはできません。」 なぜそうなるのか理解できないので、完全に理解していない概念がいくつかあるはずです。誰か私にこれを説明できますか?

1
機械学習:時系列データのパターンを特定する
私は再生可能エネルギーで働いています。私の会社は機器から多くのデータを収集しています。これには通常、プロセスデータ(変圧器の温度、ライン電圧、電流など)および個別のアラーム(ブレーカートリップ、インバーターアラーム値、変圧器過熱アラームなど)が含まれます。これは、データの大まかな例です(csvの行として読み取られます)。 タイムスタンプ、タグ、値 2016年5月25日14:30:01、INVERTER_1.VOLTAGE_DC、249.5 2016年5月25日14:30:06、INVERTER_1.VOLTAGE_DC、250.1 5/25/2016 14:45:02、TRANSFORMER_1.TEMP_ALARM、0 2016年5月25日14:45:15、TRANSFORMER_1.TEMP_ALARM、1 (少なくとも今のところ)リアルタイムではなく、静止しているこのデータに対して何らかのパターン分析を開始したいと思います。私が試みたいのは教師なしの特徴学習だと思いますが、完全にはわかりません。機械学習を1)明白でないパターンを特定し、2)アルゴリズムがデータ内のパターンのシグネチャを特定できるようにするとよいと思います(たとえば、ブレーカが作動すると、単一のフィーダのすべてのインバータが通信を失う)開いています)。 私の最初の質問:これは時系列データと見なされますか?これまでの私の研究では、時系列データは時間の関数であるデータを参照しているようです。ほとんどのデータについて、ドメインエキスパートとして、データの関数を定義することがこの分析に役立つとは思いません。また、私の研究では、時系列データは離散ではなく実数値を参照しているように見えます。 コメントや関連参照があれば参考になります。

1
主流のスピーチモデルで、パーソナライズされたトレーニングステップが不要になるのはなぜですか?
Windows XP時代に戻って、Windows OSに組み込まれた音声/ディクテーションをセットアップするとき、音声プロファイルをカスタマイズするために、プログラムされた一連のテキストサンプルを音声文字変換エンジンに話さなければなりませんでした。 今日、SiriやCortanaなどのネットワーク化された音声テキスト変換エンジンを使用して、口述筆記を始めることができます。 テキストからスピーチへの変換の品質は同等に見えますが、私の記憶はその点で不完全かもしれません。 スピーチモデルは、トレーニングデータのパーソナライズの必要性を超えて進んでいますか?または、明示的なトレーニングウィザードを使用せずに、カバーの下でパーソナライズを行うだけですか?あるいは、たとえそれがまだ有益であるとしても(例えば、それが不便だから)、彼らは訓練をしませんか?

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