記事"ランダムフォレストの予測トレンド"についてのディスカッション - ページ 12

 

To: サイバーコルテックス

SanSanychさん、巻き込んでしまってすみません。

このような高飛車で積極的なプロ意識に欠ける態度は見過ごせません。

アプリケーションプログラムの説明から、著者の発言を一つずつ考えてみよう。

引用:「サイバーコルテックスと既存の類似製品との比較における利点:

  • 使用されているアルゴリズム。 多くのトレーダーにとって、人工知能分野の技術は、古典的なニューラルネットワークの陳腐な話題で始まり、終わる。しかし、CyberCortexに実装されているブスティングアルゴリズムは、桁外れに強力で現代的なツール(?"

異議あり:

  1. 一般的にこの分野は機械学習と呼ばれ、人工知能はやや異なる。多くのトレーダーは、あなたが聞いたこともないような多くの種類のニューラルネットワーク(ディープネットワーク、畳み込みネットワーク、その他の最新のもの)に精通していると確信しています。ニューラルネットワークの話題は、MLPの 勉強に限定している人にとっては使い古されたものだ。ディープラーニングの手法が開発されたことで、ニューラルネットワークの話題は息を吹き返した。その上、我々は多くのR 言語パッケージで実装されている他の多くの分類アルゴリズムを知っている。

  2. 様々な改良が加えられたブスティング・アルゴリズムは、かなり長い間(1996年)知られており、ニューラルネットワーク・アルゴリズムよりも強力なものではありません。ところで、あなたのプログラムがどのアルゴリズムを使っているか教えてください。R -の パッケージをざっと見ると

  • "ADA"- adaptive stochastic bousting。私のお気に入りの一つで、オリジナルのアルゴリズムの3つの修正が実装されている: Gentle-、Logit-、Real AdaBoost

    .

  • "adabag"- 多クラスアルゴリズム Adaboost.M1(Freund and Schapire's)、AdaBoost-SAMME(Zhu et al., 2009) 、Breimanのバギングアルゴリズムを 使用するパッケージ

  • "boost"- 'BagBoost', 'LogitBoost', 'AdaBoost', 'L2Boost'などのブースティング手法の集合が含まれ、Wilcoxon検定統計量を用いた特徴量(予測変数)の事前選択が補足される

  • pga"- AdaBoostと Random Forestを 進化アルゴリズムと組み合わせたアルゴリズムのアンサンブル。

    もし世界的に知られていない独自のアルゴリズムがあれば、既存のものとの違いと、それらに対する優位性を 少なくとも一般論として記述してください

ご覧の通り、選択肢はかなり広いです。

専門外の方のために「バスト化」(増幅) - 元々は、統計計算に使用する例(実験結果)の数が 少なく、新しいものを抽出することが不可能であるか、非常に高価である 科学の分野の問題を解決する ために提案されたリサンプリングの方法。 この方法の本質は、最初の 小さな 集合から、より小さなサイズの標本をランダムに抽出することである この手順を何度も 繰り返し 、その結果、十分に大きな総標本が得られ、それを統計計算に使用する。

まず第一に。外国為替市場は「データ不足」のケースではない。逆に「データが豊富」なケースである。

第二に ・ブースティングとクロスバリデーションの実践と大学での研究と応用の 長い経験から、これらの手法は学習の過程、すなわち内部誤差によってモデルを選択する場合には使用するのは望ましくないことが分かっている。しかし、訓練されたモデルの評価段階、すなわち外部誤差を得る段階では非常に有用である。 したがって、「データが豊富」な 我々のケースでは、 トレーニング中に train/valid/testに 分割するのが 理想的である。データ選択と事前学習の過程で考慮すべき微妙な点は他にもたくさん あり、モデリング結果はそれらに大きく左右さ れるが、これは別の大きなトピックである

ADAを 使った長い実験の経験から 言うと、素晴らしい結果が出ることもあれば、うんざりするような結果が出ることもある。


引用:「このアルゴリズムは、入力データの次元を減らし、どの特徴が有益で、どの特徴が有益でないかを見つける必要はありません。それどころか、入力データが多ければ多いほど、正しく分類される確率は高くなります。有益でない特徴は自動的に捨てられる。"

質問 - 情報のない特徴はどのようにして 魔法のように 除外されるのですか? 予測変数の重要性の 決定(評価)は 、すべての決定木アルゴリズムに含まれていますが、重要性を決定するために使用される基準は非常に多く 、そのすべてが明確な結果を与えるわけではありません。 プログラムではどのように解決するの ですか?

引用: 「このアルゴリズムは、予備的なデータの正規化や予備的な操作をまったく必要としません。すべてのデータは自動的に単位分散とゼロ数学的期待値に縮小されます。"

本当に前処理を必要としないアルゴリズムはRandomForestだけですその他はすべて 様々な 前処理が 必要です つまり、標準化処理(xから平均を引いた値を標準偏差で割った値)をあなたのプログラムがユーザーのために行うということですね? 少なくとも十数種類の前処理 方法があり、個々のケースでどれが最適かを判断しなければならないからです。

引用:" このアルゴリズムは、ニューラルネットワークとは異なり、最適な分類結果を得るために学習パラメータを調整する必要はありません。"

そうではありません。どのような 既知の ブスティング・アルゴリズムでも、最良の結果を得るためには少なくとも2つのパラメータを調整する必要がある。

引用:"このアルゴリズムは、オーバートレーニングの傾向に対して事実上免疫がある。"

誤った発言。どんな機械学習アルゴリズムも、この病気-過剰学習-にかかりやすい。過学習のリスクを減らすには、正則化を行います。今日では、様々な正則化手法が知られており、ブスティングアルゴリズムを含め、うまく利用されている

引用:このアルゴリズムは、データを任意の数のクラスに分類することができます。

これはこのアルゴリズムの成果ではない今日、ほとんどすべての機械学習アルゴリズムがこれを実現している。

引用:実装されたアルゴリズムの特徴は、データにパターンがあれば、それが見つかるということです。逆に、データにパターンがない場合、プログラムの予測は単純なコイン・フリップに劣ることになる。

驚かれるかもしれませんが、すべてのアルゴリズムにはこの特徴があります

結論:あなたがお金のために提供する理解しがたいアルゴリズムは、 R 言語で 透過的に、 単純に、そして様々なバリエーションで 実装することが でき、絶対に無料、すなわち無償であることに注意してください。 このプログラムは10~15行の長さになる。 R言語の2つ目の紛れもない 利点は 、世界の科学界(実質的に世界のすべての大学)、そして今やソフトウェアビジネスの巨人たちによって開発され、サポートされていることだ。マイクロソフトは、 Microsoft Azure Machine Learning Studioを備えた クラウドサービス "Azure " を開始した 。このサービスでは、モデルの作成、トレーニング、評価の全段階をクラウド上で行うことができ、その後、モデルにデータを送ることで予測を得ることができる。このサービスは完全に R 言語に基づいて おり、プロセスを「絵を描く」ことに還元できるグラフィカル・インターフェースを備えている(もちろん単純化している)以前はこの言語が研究界ではデファクトスタンダードであったとすれば、今では応用分野や産業分野で実質的にそうなっている。

最後にもうひとつ。私は、プログラムに込められた労働を収益化することに反対しているわけではない。それは構わない。私が反対しているのは、あなたが宣伝のために存在しない、あるいは誇張された特質を製品に与えることだ。プロらしくない。

気をつけてください。クラシックが言ったように。

幸運を祈る


 
vlad1949:


こんにちは!

"一般的に、この分野は機械学習と呼ばれていますが、人工知能は少し違います。"- 機械学習は人工知能のサブセクションです。でも、忘れているだけでしょう。そうなんです。

私は新しいタイプのニューラルネットワークについて聞いたことがあります:)それに、私のプログラムの説明には、すべてのネットワークではなく「古典的な ニューラルネットワーク」と書かれています。古典的というのは、MLPやその派生型、ホップフィールドネットワーク、確率的ネットワークなどのことだ。

"多くのトレーダーのこの見下したような壮大な意見はどこから来るのでしょうか?"- このメガ・ハイパー・インポータントな意見は、弱い人工知能技術を使おうとするトレーダーの大多数が古典的 ニューラルネットワークを使っているという事実から来ている。

"ところで、あなたのプログラムが具体的にどのようなアルゴリズムで動いているのか、声を上げる必要があるだろう。"- 単一レベル決定木(切り株)の適応的ブッシング。そこに書いてある。目の前にお手本があるわけでもなく、インターネット上に普通の記述があるわけでもなく、自分でゼロから実装したので、開発時には私のヒューリスティクスをいくつか適用した。

「ご存じない方のために。「ブースティングとは ......」。- どこからコピーしたのか知りませんが、この定義で説明されているのはブースティングではなくブートストラップだと思います:)ブースティングは単純な分類器をブーストすることです。ブースティングでは,小さなサンプルmから1つの大きなサンプルNを得るわけではありません.ブースティングでは,後続の単純分類器ごとに,前の単純分類器で誤分類された例が優先的にサンプリングされます.例数は常に元の例数に等しくなります。その後、あなたの真面目な文章を読むと、特に面白い。xD

「まず第一に。外為市場は「データ不足」のケースではない。それどころか、"データが豊富 "なケースです。"- どちらから見るかによるね。外為相場や、昔の匂いのする「似非数学的な」インジケーターの数々、そしてそれらの派生物のことなら、そう、不足はない。しかし、あなたは誤ってブスティングとブートストラップを混同して、違う方向に行ってしまったので、あなたがどんな答えを待っているのか私にはわからないので、あなたの格言は聞き入れられないままでしょう。

"、ブースティングとクロスバリデーションを実践し、大学で研究し、適用してきた 長年の経験から..."- 本当に?つまらない...

" ADAを 使った長い実験の経験から 言えることは-時には素晴らしい結果、時にはうんざりするような結果=非常に不安定" "- あなたの経験は、私たちにとって公理ではない。わからない。

「ソフトウェアではどのように解決するのですか- すべての単純な分類器は、最小の分類エラーを生成する特徴に焦点を当てます。もしその特徴が有益でなければ、誤差は大きくなる。これがマジックなのだ。このロジックに、大学がどのように......という科学的なナンセンスで挑戦してみよう。いやマジで何か書いてくれ。

" 良い解決策だとは思えない"-ちょっと断定しすぎじゃない?ソフトウェア開発者は、意図したとおりに機能させるために何を追加する必要があるかについて、もう少し目が肥えているように私には思える。

「そんなことはない。どんな 既知の バスティングアルゴリズムでも、より良い結果を得るためには少なくとも2つのパラメータを調整する必要がある。"- Rでチューニングが必要なパラメータは何ですか?私はメモを取っている...

"引用:「このアルゴリズムは、オーバートレーニングの傾向に対して事実上免疫がある。 - 私はあなたの発言がとても好きです :)。まず、"practically "と書いてある。ロシア語では「ほとんど」という意味だ。しかし、例えば車のナンバープレート認識の実験のように、データに安定したパターンがある場合、アルゴリズムは再学習されません。訓練サンプルでは誤差はゼロになり、テストサンプルでは誤差は1%程度と一定に保たれる。質問は?

"これはこのアルゴリズムの成果ではありません。 今日、ほとんどすべての機械学習アルゴリズムがそうです。"- それが欠点だと言うのか?二値分類器と比べれば利点です。それともそう思わない?

"驚かれるかもしれませんが、すべてのアルゴリズムがこの機能を持っています"- よく読んで、"データにパターンがあれば、それが見つかる"。これが私の強調点だ。機械学習アルゴリズムの主な問題は、どれだけのパターンが見つかるかということだ。私のプログラムはこれでいい。あなたの論理では、多層ペルセプトロンは機械学習アルゴリズムであり、あなたは「すべてのアルゴリズムはこの特徴を持っている 」と言うので、MLPをいくつか持っている人は他のアルゴリズムを開発すべきではないということになります。

「あなたがお金で提供する曖昧なアルゴリズム」 - 私はアルゴリズムを提供しているのではなく、プログラムを提供しているのです。R言語には何の恨みもない。すべての人がプログラミング言語の論理と構文を理解し、アルゴリズムの設定を理解し、いくつかのファイルを変換し、さまざまな松葉杖を使って端末に接続して計算結果を使えるわけではない。もしそのようなことができる人がいれば、私はその人を賞賛する。ただ「箱から出してすぐ」動くことが必要な人もいる。あなたは、私があなたを追いかけて、私たちのソフトウェアを買うように強制していると思うだろう。Rを使えば、私が怒ることはない。

"あなたの苦労をソフトウェアで収益化してもかまわない"- ごめんなさい、あなたの意見を聞くのを忘れていました。でも、あなたがそれでいいと言うのであれば、私はそれでいいと思います。

"私は、あなたが広告の目的のために、存在しない、あるいは誇張された品質を製品に帰属させることに反対します。 " - そして、あなたが何も知らないことについて書くことに反対します。

ありがとう。ありがとう。クラシックが言ったように。

追伸:私はただ攻撃性に反応しただけです。悪気はない。

追伸:そうだね、君は僕と議論を始めるべきじゃなかったね:))

 
すべてのジグザグの値は将来の通貨価格に基づいて いるので、結果は楽観的すぎると思う。
 

Я не понимаю содержание Скрежет обучение режим? В частности, о том, как использовать платформу использовать платформу MT4 MQL предварительной подготоどうですか?

 
トレーニングしたモデルをMQL4で使用する例を教えてください。ありがとうございました!
 
ちょっとした冒険の末、MacOS Sierra上で最新のRattle 4.1.0を動作させることができたが、メニューのR Datasetではファイルを選択することができず、グレーアウトしたままだった。その代わり、RData FileではFilenameとして "TC.RData "を、Data Nameとして "TC "を選択することができ、Executeで実行できるようになった。
 
どうなっているのかさえ理解できない
 

君たち、こんにちは! 君たちのエネルギーは、正しい方向に向かっている!

おめでとう!

あなたの記事の最初の行を引用します:「取引システムを構築する目的は、ある市場商品、例えば通貨ペアの挙動を予測することです。

それ以上記事を読みませんでした。すべての予測方法を勉強したほうがいい!

トレーディングシステムを構築する目的は、「(自分の)行動モデルを作成する」ことです。

市場(リーダー)がどう動くかが重要なのではなく、自分がどう動くかが重要なのです:AND、OR、NOT。

例えば、AND - リーダーを追いかける(リーダーの行動を繰り返す)。

 

Linux(Kubuntu)にrattleをインストールしようとしましたが、うまくいきませんでした。

インストールエラーを分析したところ、Rでrattleをインストールする前にOS自体にインストールする必要があるパッケージのリストが以下のようになった:

console -
$ sudo apt-get install libxml2-dev unixodbc-dev libssl-dev libgtk2.0-dev

そしてRでインストールを実行する -
> install.packages("rattle", dependencies=TRUE)

また、rattleをインストールするための*.hファイルがまだ足りない場合は、以下のようにして必要なパッケージを見つけることができる。
$ sudo apt-get install apt-file
$ apt-file update
$ apt-file search /someheaderfile.h

もしかしたら、これが誰かの役に立つかもしれない :)

 

オペレーティング・システムをアップデートした後、rattleは動作しなくなり、rattle()を呼び出すとエラーが出ます
Error in method(obj, ...) : Invalid root element: 'requires'.

ほとんど役に立った最初の方法は、追加パラメータでrattleを実行することでした
rattle(useGtkBuilder = TRUE)
プログラムウィンドウは開きましたが、ボタンは機能せず、この方法は最後まで役に立ちませんでした。


install.packages("rattle", repos="https://rattle.togaware.com", type="source")
その後、すべてうまくいった。