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

累積的な報酬の概念を最大化するために、ソフトウェアエージェントが環境内でアクションをどのように実行すべきかに関する機械学習の領域。

5
強化学習でのQ関数とV関数とは何ですか?
ように私には思えるVVV機能を簡単に表すことができるQQQ機能ひいてはVVV機能は、私には余分のようです。しかし、強化学習は初めてなので、何か間違ったことがあると思います。 定義 Q学習とV学習は、マルコフ決定プロセスのコンテキストにあります。A MDPは 5タプルである(S,A,P,R,γ)(S,A,P,R,γ)(S, A, P, R, \gamma)と SSSは状態のセットです(通常は有限) AAAはアクションのセットです(通常は有限) P(s,s′,a)=P(st+1=s′|st=s,at=a)P(s,s′,a)=P(st+1=s′|st=s,at=a)P(s, s', a) = P(s_{t+1} = s' | s_t = s, a_t = a)は、アクション aで状態sssから状態に到達する確率です。s′s′s'aaa R(s,s′,a)∈RR(s,s′,a)∈RR(s, s', a) \in \mathbb{R}状態から行く直後の報酬であるsss状態にs′s′s'アクションとaaa。(通常はのみがs′s′s'重要であるように思えます) γ∈[0,1]γ∈[0,1]\gamma \in [0, 1]割引率と呼ばれ、決定された場合は、1つの即時報酬に焦点を当てて(γ=0γ=0\gamma = 0)、総報酬(γ=1γ=1\gamma = 1)またはいくつかのトレードオフ。 政策ππ\piによると、強化学習:入門サットンによるとバート氏は、関数であるπ:S→Aπ:S→A\pi: S \rightarrow A(これは確率論することができます)。 よるマリオマルティンススライド、VVV関数である Vπ(s)=Eπ{Rt|st=s}=Eπ{∑k=0∞γkrt+k+1|st=s}Vπ(s)=Eπ{Rt|st=s}=Eπ{∑k=0∞γkrt+k+1|st=s}V^\pi(s) = E_\pi \{R_t | s_t …

1
xgboostがsklearn GradientBoostingClassifierよりもずっと速いのはなぜですか?
私は、100個の数値特徴を備えた50kの例で勾配ブースティングモデルをトレーニングしようとしています。XGBClassifier一方、私のマシンで43秒以内に、ハンドル500本の木、GradientBoostingClassifierハンドルのみ10樹木(!)1分2秒:(私は気にしませんでしたでは、それは時間がかかるだろうと500本の木を育てるしようとしている。私は、同じ使用していますlearning_rateし、max_depth設定を、 下記参照。 XGBoostがこれほど速くなったのはなぜですか?sklearnの人が知らない勾配ブースティングのためのいくつかの新しい実装を使用していますか?それとも、「角を切り」、より浅い木を育てるのですか? PS私はこの議論を知っています:https : //www.kaggle.com/c/higgs-boson/forums/t/10335/xgboost-post-competition-surveyが、そこに答えを得ることができませんでした... XGBClassifier(base_score=0.5, colsample_bylevel=1, colsample_bytree=1, gamma=0, learning_rate=0.05, max_delta_step=0, max_depth=10, min_child_weight=1, missing=None, n_estimators=500, nthread=-1, objective='binary:logistic', reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=0, silent=True, subsample=1) GradientBoostingClassifier(init=None, learning_rate=0.05, loss='deviance', max_depth=10, max_features=None, max_leaf_nodes=None, min_samples_leaf=1, min_samples_split=2, min_weight_fraction_leaf=0.0, n_estimators=10, presort='auto', random_state=None, subsample=1.0, verbose=0, warm_start=False)
29 scikit-learn  xgboost  gbm  data-mining  classification  data-cleaning  machine-learning  reinforcement-learning  data-mining  bigdata  dataset  nlp  language-model  stanford-nlp  machine-learning  neural-network  deep-learning  randomized-algorithms  machine-learning  beginner  career  xgboost  loss-function  neural-network  software-recommendation  naive-bayes-classifier  classification  scikit-learn  feature-selection  r  random-forest  cross-validation  data-mining  python  scikit-learn  random-forest  churn  python  clustering  k-means  machine-learning  nlp  sentiment-analysis  machine-learning  programming  python  scikit-learn  nltk  gensim  visualization  data  csv  neural-network  deep-learning  descriptive-statistics  machine-learning  supervised-learning  text-mining  orange  data  parameter-estimation  python  pandas  scraping  r  clustering  k-means  unsupervised-learning 

5
AlphaGoのポリシーネットワークとバリューネットワークの違い
GoogleのAlphaGoの概要(http://googleresearch.blogspot.co.uk/2016/01/alphago-mastering-ancient-game-of-go.html)を読んでいて、「ポリシーネットワーク」と「値ネットワーク」。高いレベルでは、ポリシーネットワークは移動を提案するために使用され、バリューネットワークは次の目的で使用されることを理解しています。「検索ツリーの深さを減らして[ゲームの終わり。」 これらの2つのネットワークは私にとって冗長なようです。価値ネットワークを使用してポリシーを整理していない場合、ポリシーネットワークは何をしますか?バリューネットワークがディープラーニングニューラルネットワークであることは明らかです。ポリシーネットワークは単なる理論上の抽象化であり、実際のニューラルネットワークではありませんか?値ネットワークのターゲット変数は勝ち負けのようです。ポリシーネットワークのターゲット変数はありますか?もしそうなら、それは何ですか?最適化しようとしているポリシーネットワークとは何ですか? Natureで公開されたGoogleの論文の完全なPDFは、https: //vk.com/doc-44016343_437229031?dl = 56ce06e325d42fbc72にあります。


1
「体験リプレイ」とは何ですか?その利点は何ですか?
私はGoogleのDeepMind Atariの論文を読んでおり、「エクスペリエンスリプレイ」の概念を理解しようとしています。経験リプレイは、他の多くの強化学習ペーパー(特にAlphaGoペーパー)で取り上げられるため、その仕組みを理解したいと思います。以下は抜粋です。 まず、データをランダム化するエクスペリエンスリプレイと呼ばれる生物学的にヒントを得たメカニズムを使用して、観測シーケンスの相関を取り除き、データ分布の変化を滑らかにしました。 次に、このペーパーは次のように詳しく説明します。 他の安定した方法は、ニューラルフィットQ-反復として、強化学習の設定でニューラルネットワークを訓練するために存在するが、これらの方法では、ネットワークの繰り返し訓練伴う新規の反復の数百人を。その結果、これらの方法は、私たちのアルゴリズムとは異なり、非効率的であり、大規模なニューラルネットワークではうまく使用できません。図1に示す深い畳み込みニューラルネットワークを使用して、近似値関数をパラメーター化します。ここで、は反復でのQネットワークのパラメーター(つまり重み)です。エクスペリエンスのリプレイを実行するために、各タイムステップエージェントのエクスペリエンスを保存しますQ (s 、a ; θ私)Q(s、a;θ私)Q(s, a; \theta_i)θ私θ私\theta_i私私iet= (st、t、rt、st + 1)et=(st、at、rt、st+1)e_t = (s_t, a_t, r_t, s_{t+1})tttデータセット内。学習中に、経験値サンプル(またはミニバッチ)にQ学習の更新を適用します。反復でのQ学習の更新では、次の損失関数が使用されます。Dt= { e1、… 、et}Dt={e1、…、et}D_t = \{e_1, \dots, e_t \}(s 、a 、r 、s′)〜U(D )(s、a、r、s′)〜うん(D)(s, a, r, s') \sim U(D)私私i L私(θ私)= E(s 、a 、r 、s′)〜U(D )[ ( r + γ最大a′Q (s′、′; θ−私)− Q (s …

4
AlphaGo(および強化学習を使用する他のゲームプログラム)、人間のデータベースなし
私はこの主題の専門家ではありません。私の質問はおそらく非常に素朴です。AlphaGoプログラムで使用されている強化学習の力と限界を理解するためのエッセイに基づいています。 プログラムAlphaGoは、特に、モンテカルロによる樹木の探索など)を使用して構築されています。ニューラルネットワークは、人間がプレイする囲gamesゲームの巨大なデータベースから訓練され、その後、それ自体に対して何度もプログラムします。 今、私は人間のデータベースなしでそのようなプログラムを構築しようとしたのだろうか、つまり、Goの基本プログラムでルールとツリーを探索する方法を知っているだけで開始し、ニューラルネットワークを改善するために自分自身と対戦することを試みますか?私たちは、それ自体に対して多くのゲームをした後、最高の人間のプレーヤーと競争したり、打ち負かすことができるプログラムに到達しますか?そして、もしそうなら、そのために必要なゲームの数は(大きさの順で)何ですか?それとも逆に、そのようなプログラムははるかに弱いプレーヤーに向かって収束しますか? AlphaGoは非常に新しいので、実験は行われていないと思います。しかし、それでも答えは専門家には明らかかもしれません。そうでなければ、経験に基づいた推測に興味があります。 「簡単な」ゲームについても同じ質問をすることができます。AlphaGoで使用されるほぼ同じ強化学習テクニックを使用しますが、チェスプログラムで人間のデータベースを使用しない場合、最終的には最高の人間を倒せるプログラムが得られるでしょうか?もしそうなら、どのくらいの速さ?これは試されましたか?それともチェスではない場合、チェッカー、またはより単純なゲームはどうですか? どうもありがとう。

1
単純な自己運転RCカーの教師あり学習と強化学習
私は楽しみのために遠隔操作の自動運転車を作っています。オンボードコンピューターとしてRaspberry Piを使用しています。また、車の周囲のフィードバックのために、Raspberry Piカメラや距離センサーなどのさまざまなプラグインを使用しています。OpenCVを使用してビデオフレームをテンソルに変換し、GoogleのTensorFlowを使用して複雑なニューラルネットワークを構築し、道路の境界と障害物を学習しています。私の主な質問は、教師付き学習を使用して車に運転を教えるべきですか、または目標と罰則を提供し、強化学習を行う必要がありますか?以下は、私が思いついた長所と短所のリストです。 教師付き学習プロ: 学習アルゴリズムへの入力は非常に簡単です。車は、ビデオフレームテンソルとセンサー距離の読み取り値を前方、後方、および角度のホイール変位に関連付けることを学習します 私は多かれ少なかれ自分の思い通りに運転するように車を教えることができます(もちろん、オーバーフィッティングなしで) 私はこれまでに多くの教師付き学習問題を行ってきましたが、このアプローチは既存のスキルセットに快適に適合するようです 教師付き学習の短所: 速度をどのように教えるかは明確ではありません。正しい速度は、車があまり速く進まないので、道を逸れる限り、かなりarbitrary意的です。トレーニング中は速く走れると思いますが、これは粗雑なアプローチのようです。トレーニング中にそのトレーニングセッションの速度に対応する定数変数を手動で追加し、学習アルゴリズムを展開するときに、必要な速度に応じてこの変数を設定できますか? 強化学習のプロ: 他の人の自動運転車をレースするという特定の目的で車を構築する場合、強化学習は私の車に「できるだけ早くそこに着く」ように言う自然な方法のようです 私はRLが自律型ドローンに時々使用されることを読んだことがあるので、理論的には車の方が簡単だと思います。 強化学習の短所: 強化学習には多くの追加センサーが必要だと感じており、率直に言って、足の長い車にはバッテリー、Raspberry Pi、ブレッドボードを取り付ける必要があることを考えると、それほどスペースがありません 車は最初は非常に不規則に振る舞うため、それ自体が破壊される可能性があります。また、学習に不当に長い時間がかかる場合があります(たとえば、数か月または数年) たとえば、おもちゃの赤信号に立ち寄るなど、明示的なルールを組み込むことはできません。教師あり学習により、多数のSLアルゴリズム(ストップライトを識別するHaar Cascade分類器など)を、各ビデオフレーム間で評価される構成可能なルールエンジンに組み込むことができました。したがって、ルールエンジンは、ストップライトがドライビングアルゴリズムのトレーニングの一部ではない場合でも、赤いストップライトが表示された場合、ドライビングSLアルゴリズムをオーバーライドできます。RLはこれを行うには連続しすぎているようです(つまり、最終状態でのみ停止します) 適用された強化学習の経験はあまりありませんが、関係なくそれを学びたいです

3
Python用のすぐに使える優れた言語モデルはありますか?
私はアプリケーションのプロトタイプを作成していますが、生成されたいくつかの文の複雑さを計算するための言語モデルが必要です。 すぐに使用できるPythonのトレーニング済み言語モデルはありますか?のような単純なもの model = LanguageModel('en') p1 = model.perplexity('This is a well constructed sentence') p2 = model.perplexity('Bunny lamp robert junior pancake') assert p1 < p2 一部のフレームワークを確認しましたが、必要なものが見つかりませんでした。私は次のようなものを使用できることを知っています: from nltk.model.ngram import NgramModel lm = NgramModel(3, brown.words(categories='news')) これはブラウンコーパスの優れたチューリング確率分布を使用していますが、1bワードデータセットなどの大きなデータセットで巧妙に作成されたモデルを探していました。一般的なドメイン(ニュースだけでなく)の結果を実際に信頼できるもの
11 python  nlp  language-model  r  statistics  linear-regression  machine-learning  classification  random-forest  xgboost  python  sampling  data-mining  orange  predictive-modeling  recommender-system  statistics  dimensionality-reduction  pca  machine-learning  python  deep-learning  keras  reinforcement-learning  neural-network  image-classification  r  dplyr  deep-learning  keras  tensorflow  lstm  dropout  machine-learning  sampling  categorical-data  data-imputation  machine-learning  deep-learning  machine-learning-model  dropout  deep-network  pandas  data-cleaning  data-science-model  aggregation  python  neural-network  reinforcement-learning  policy-gradients  r  dataframe  dataset  statistics  prediction  forecasting  r  k-means  python  scikit-learn  labels  python  orange  cloud-computing  machine-learning  neural-network  deep-learning  rnn  recurrent-neural-net  logistic-regression  missing-data  deep-learning  autoencoder  apache-hadoop  time-series  data  preprocessing  classification  predictive-modeling  time-series  machine-learning  python  feature-selection  autoencoder  deep-learning  keras  tensorflow  lstm  word-embeddings  predictive-modeling  prediction  machine-learning-model  machine-learning  classification  binary  theory  machine-learning  neural-network  time-series  lstm  rnn  neural-network  deep-learning  keras  tensorflow  convnet  computer-vision 

2
ポリシーグラディエント強化学習を行うときに割引特典を正規化するのはなぜですか?
カートポール問題を解決するための政策勾配アプローチを理解しようとしています。このアプローチでは、ポリシーの各パラメーターに対する損失の勾配を、シーケンス内のすべてのアクションのポリシー勾配の勾配の合計の期待値として表現し、そのシーケンスの割引された報酬の合計で重み付けします。 ∇θL(θ)=E[G(S0:T,A0:T)∑t=0T∇θlogπθ(At|St)]∇θL(θ)=E[G(S0:T,A0:T)∑t=0T∇θlogπθ(At|St)]\nabla_\theta L(\theta) = E[ G(S_{0:T}, A_{0:T})\sum_{t=0}^{T}\nabla_\theta log\pi_\theta (A_t|S_t) ] そして、エピソードのすべてのサンプルの経験的平均を使用してそれを推定します。 しかし、直感的ではない部分は、いくつかの実装でエピソード間の利点を正規化するための一般的な慣行を見た(そして実際にそれがよりうまく機能する)ことです。したがって、彼らが計算した後、彼らは直接利点を使用するのではなく、むしろそれを正規化します。例えば、ここでは彼らはすべてのエピソードの後に​​行います: discounted_epr = discount_rewards(epr) discounted_epr -= np.mean(discounted_epr) discounted_epr /= np.std(discounted_epr) それの正当化は何ですか-理論と直観の両方で?エピソードが長く、大きな利点がある場合、3ムーブのエピソードよりもそのエピソードから多くを学ぶ価値があるように私には思えます。何が欠けていますか?

2
協調強化学習
収益を最大化することを目的とした動的な価格設定問題に取り組んでいる単一のエージェントに対して、機能している実装がすでにあります。ただし、私が取り組んでいる問題には、相互に置き換えられるいくつかの異なる製品が含まれるため、一方の価格が他方の報酬に影響を与えるため、独立した学習者によるすべての製品の動的な価格設定は正しくないようです。目標は、個々の収益の合計を最大化するように、動的に価格を設定することです。Q(λ)Q(λ)Q(\lambda) 私はこのように強化学習を適用するものを見つけるためにいくつかの研究を行ってきましたが、私が見つけた多くのマルチエージェントの実装は、協調よりも競争ゲームに焦点を当てているか、他のエージェントの不完全な知識を想定していますこのシナリオの各エージェントの知識)。このように共同学習の十分に研究され、文書化されたアプリケーションはありますか?

2
チェスの時間差を実装する
私は、アルファベータ剪定アルゴリズムと、次の機能を使用して位置を評価する評価関数を使用するチェスプログラムを開発しています。つまり、材料、王の安全、移動性、ポーン構造、トラップされた駒などです。私の評価関数はから派生 f(p )= w1⋅ 素材+ w2⋅ 王の安全+ w3⋅ 移動度+ w4⋅ ポーン構造+ w5⋅ 閉じ込められた破片f(p)=w1⋅素材+w2⋅王の安全+w3⋅可動性+w4⋅ポーン構造+w5⋅閉じ込められた部分f(p) = w_1 \cdot \text{material} + w_2 \cdot \text{kingsafety} + w_3 \cdot \text{mobility} + w_4 \cdot \text{pawn-structure} + w_5 \cdot \text{trapped pieces} ここで、は各フィーチャに割り当てられた重みです。この時点で、時間差を使用して評価関数の重みを調整します。エージェントはそれ自体に対してプレーし、その過程でその環境からトレーニングデータを収集します(強化学習の形式です)。これをJavaで実装する方法についての洞察を得るために、いくつかの本や記事を読みましたが、それらは実用的ではなく理論的なようです。以前のゲームに基づいて評価関数の重みを自動的に調整する方法の詳細な説明と疑似コードが必要です。www


4
強化学習に関する書籍
私はかなり前から強化学習を理解しようと努めてきましたが、どういうわけかグリッド世界の問題を解決する強化学習のためのプログラムの書き方を視覚化することができません。強化学習の明確な概念を構築するのに役立つテキストブックをいくつか教えてください。

2
優先再生、重要度サンプリングは実際に何をするのですか?
優先再生(5ページ)の重要度サンプリングの重み(IS)の目的を理解できません。 トランジションは、その「コスト」が大きいほど、経験の再現からサンプリングされる可能性が高くなります。私が理解しているのは、「IS」は、十分な長さのトレーニングを終えた後、優先再生の使用をスムーズに放棄するのに役立つということです。 しかし、代わりに何を使用しますか、均一サンプリング? そのような係数の各成分が結果にどのように影響しているのか、私には理解できないと思います。誰かがそれを言葉で説明できますか? w私= (1N⋅ 1P(私))βwi=(1N⋅1P(i))βw_i = \left( \frac{1}{N}\cdot \frac{1}{P(i)} \right) ^\beta 次に、遷移から取得しようとする勾配を弱めるために使用されます。 どこ: w私wiw_iは「IS」 NはExperience Replayバッファーのサイズです P(i)は、「そのコストの大きさ」に応じて、遷移私iiを選択する機会です。 ββ\betaは0から始まり、新しいエポックごとに1にドラッグされます。 これらのパラメーターに対する私の理解も正しいですか? 編集回答が受け入れられた後、私は追加のソース、初心者に役立つかもしれないビデオを見つけました-MC Simmulations:3.5重要度サンプリング 1 / N1/N1/N ββ\betaP(私)P(i)P(i) 0.1 0.2 0.3 0.4 つまり、最初のエントリには10%が選択され、2番目には20%が選択されます。これらを反転すると、次のようになります。 10 5 3.333 2.5 1/N1/N1/N1/41/41/4 2.5 1.25 0.8325 0.625 ...which would add up to '5.21' 10,5,3.333,2.510,5,3.333,2.510, 5, 3.333, …

3
ゲームをプレイする簡単なAIプログラムを作成するには、どのような知識が必要ですか?
私は学士号を取得しています。私のコースの1つは「機械学習入門」でしたが、私は常にこのテーマで個人的なプロジェクトをやりたかったのです。 最近、マリオ、ゴーなどのゲームをプレイするためのさまざまなAIトレーニングについて聞いたことがあります。 ゲームをプレイする簡単なAIプログラムをトレーニングするには、どのような知識が必要ですか?そして、初心者にはどのゲームをお勧めしますか? これは私がこれまでに機械学習で知っていることです- コースと機械学習の概要。K最近傍アルゴリズム、およびK平均アルゴリズム 統計的推論 混合ガウスモデル(GMM)および期待値最大化(EM) 汎化境界とモデル選択を含む、おそらくおおよその(PAC)モデル 基本的な超平面アルゴリズム:PerceptronとWinnow。 サポートベクターマシン(SVM) カーネル 弱い学習者から強い学習者へのブースト:AdaBoost マージンパーセプトロン 回帰 PCA 決定木 決定木剪定とランダムフォレスト

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