• 締切済み

学習のアルゴリズム

次のようなケースで、学習させるうまいアルゴリズムをご存知の方はいっらしゃらないでしょうか? (1)基本のパターンは数万個あります。各パターンには番号が振ってあります。 (2)数百個のパターンの集合と、その中で「最も良い」パターンの番号のデータが数百万個あります。ただし、この「最も良い」の評価は人間の感性のような、結構いいかげんな物だと考えてください。 (3)このようなデータを学習させ、各パターンになんらかの方法で点数を与える。 このようにして出来た学習データを使い、(2)と同じデータを再度与え、「最も良い」パターンが最も点数の高いパターンに一致する確立をなるべく高くしたい。 (2)と同じデータではないが、同様のデータを与え、最も点数の高いパターンが、「同じ感性」で「最も良い」とされる確率ができるだけ高くなるようにしたい: このような学習を行うアルゴリズムについて、なにか良い論文、本などをご存知でしたら御教えください。

みんなの回答

回答No.1

ニューラルネットワークはどうでしょうか。

moritan2
質問者

お礼

ご回答ありがとうございました。 ニューラルネットでできれば「いいんですけど、データがあまりにも大きすぎて難しいような、、、

関連するQ&A

  • 自動で仮説を立てるような学習アルゴリズム

    疑似的な「創造性」「芸術的な感性」を生み出すような方法って イメージとしてはどういう風にアルゴリズムを組めば出来るのでしょうか 言語としてはC/C++(ネイティブ)を考えています。 ある程度のアイデアがあって その概念的な部分は既にコードに打ち込まれているなら あとは場数を踏んで点数計算(評価関数のパラメータの自動最適化とか)でいけると思うのですが 人間が思いついた「物の見方」だけで評価するプログラムでは 人間を遥かに超える処理能力・観察力は得られても 「思いもよらなかったそれ以上の概念・それ以外の概念」では計算できないと思うのです。 膨大なパラメータから、乱数等を用いて 「評価の方法」自体について自動で仮説を好きなだけ立て それを検証していく、という方法が可能ならそれを作ってみたいです。 (「有力な説」はより優先して計算する採用率を高めるとしておきつつ たまに全く違う角度からも考えるような感じに出来れば良いです。(遺伝的アルゴリズムっぽく?)) また、仮説を検証するために点数計算可能な種はあるとします。 膨大な入力パラメータとそれに対する処理毎に その「入力」と「結果」に対して与えられる総合での点数(の比率・あるいは総合評価の増減値) が膨大なパターン数得られるという状況で しかしながらボードゲームのように 勝ち負けがはっきりするものではなく 点数は人間が感性で判断して与える 「その処理をかけただけでは分からず、かけたうえで人間が判定する」 「それを膨大な回数行える」 という制約は呑むとして 人工知能工学的にはそういうことは可能でしょうか? 可能な場合は コード量は膨大になる可能性が高いと思うので どういうイメージで作るといいかの触りとかだけでも教えていただけると嬉しいです。

  • 学習時間とテストの点数(中学生のみ)

     大変失礼なことを伺いますが、中学生の方で、学習時間と、テストの点数を、差し支えなければ教えていただけないでしょうか?  現在、学習努力とその結果出る点数の関係についての論文(ってほど大層なものではないですが)を書いていて、少しデータが必要になりまして。  あと、カテゴリ違いますが、もしそのようなデータに関するサイトなどご存知の方がいらっしゃったら教えていただけないでしょうか。

  • データマイニングのいい文献教えてください

    データマイニングのいい文献教えてください 具体的には教師ありの学習について学びたいと考えています。 アルゴリズムやどのような計算が行われているのかが詳しくわかるようなものがあればいいのですが。 大学3年で研究に使いたいと考えています。 具体的なアルゴリズムが載っているようなサイトや論文でも教えていただければありがたいです。

  • 組み合わせを作るアルゴリズム

    アルゴリズムについてうまい考えが浮かばず、お知恵を拝借できればと思い質問致しました。 要件は、値が100個ほど入った配列があり、この配列から任意の個数の値を取り出して処理をする、というものなのですが、とにかく全ての組み合わせを取り出したいのです。 例えば @data = (3, 6, 8, 6); という配列から2個取り出すとすれば、 (3, 6) (3, 8) (3, 6) (6, 8) (6, 6) (8, 6) という全6パターンが欲しいのです。(パターンの出現順は無視できます。) 順番違いはなくてよいので、たとえば (6, 3) というリストはなくて結構です。 また (3, 6) のように、全く同じリストが複数出現してもOKです。 取り出す個数が固定ならばforループのネストで処理のしようもあるのですが、任意ということでここの処理方法が浮かびません。 (ちなみにrは最大で10まで取り、できればforのネストも避けたいところなのですが。) このような処理に適した処理方法をご存知の方おられましたら、ぜひともご教授ください。 よろしくお願い致します。

    • ベストアンサー
    • Perl
  • CRCのアルゴリズムって、どんな計算するんですか?

    こんにちはお世話になります。 私はネットワークに興味があるオジサンです。 先日、データリンク層のプロトコル群を勉強していたとき、誤り訂正でCRCが出てきました。誤り訂正ではパリティーチェックやチェックサム等は聞き覚えがありましたが、CRCは始めて見たので興味を持ち少し調べてみようと思いました。 それが間違いの元でした。 インターネットでCRCの構造を詳しく解説するサイトが少なく、その解説は難しすぎて手におえません。 数学にはめっぽう弱い私には、多項式同士の加減乗除算などは頭痛の肥やしにしかなりません。 今ではCRCが気になって勉強に集中できない状態です。 そこで、表題にもあるCRCのアルゴリズムを、何方か分かり易く教えてくださいませんか。もしくは、CRCのアルゴリズムを簡単に解説している書籍をご存知でしたら教えてください。 カテゴリー(本来は数学系?)が違うかもしれませんが、何卒よろしくお願い申し上げます。

  • <再度> 強化学習(Q-learning)について

    はじめまして。 以前質問させていただいたのですが、回答が0であっ たため、再度質問させていただきました。  どなたかすこしでも情報をお持ちの方がいらっしゃいましたら、何卒よろしくお願いいたします。 (自分で手当たり次第に調べてみても、見つからなか ったので・・・・) 私は現在大学院の研究において専門外ながら、強化学 習(Q-learning)について調べている者です。 学習アルゴリズムについてはGAやEPなどでプログラム を組んだ経験がある程度です。(あくまで、専門外です。) 以下の点についてご存知の方がいらっしゃいましたら、お聞かせいただきたいと思います。 Q-learningでは 「状態sで行動aをとったとき、確率的に状態がs'へと 遷移し、同時に確率的に報酬rが得られる。」 その後それらによってQ値を更新する。  ということのようなのですが、このときの報酬rがそ の後の行動の影響を受けてしまいかねないようなモデ ルではQ-learningは使えないのでしょうか? また、上記のようなモデルにおいて適したアルゴリズムをお知りの方がおられましたら、お聞かせいただけないでしょうか?  よろしくお願いいたします。

  • 複数の文章を照合するフリーソフトかアプリケーション

    番号1から100番までの名称のテキストファイルがあるとします。 これら100個のテキストファイルを、1つのデータの集合A(データベース?)として扱い、 新しく用意したテキストデータと照合して、そのなかの集合Aに一致する単語と、その単語が属するテキストファイルの番号を表示させたいのです。 上記のことを可能とするにはどうすればよいでしょうか。 上記の機能をそなえるフリーソフトやアプリケーションがあれば、教えてください。

  • GAを用いた微分方程式の係数同定について

     以前QPchanさんが 実際のデータとfittingすることによって、微分方程式の係数を、遺伝的アルゴリズムを用いて推定するほうほうについて質問されていましたが、遺伝的アルゴリズムを用いた方法について回答が出ないまま締め切られたようです。  私も非常に関心のある問題です。関連事項が記載された文献等ご存知の方がおられれば、教えてください。  論文でも結構ですが、出来れば参考書的なものをお願いします。

  • 相互的な検索のできるハッシュテーブル?

    こんにちは。データ構造とアルゴリズムを学習しているJava入門者です。 「名前」と「電話番号」の二つのデータを格納するハッシュテーブルを実装したプログラムを考えています。名前をキーにして電話番号を呼び出すところまではいったのですが、 それと同時に電話番号と名前のどちらを入力しても、もう片方が検索できるようなプログラムを作れ、というのが今回の課題なのです。 基本的なハッシュテーブルの構造は学んでいるのですが、 どうしても「名前と番号、どちらのデータからも同じデータに辿り着く」ようなハッシュ関数が頭に浮かびません。 検索して色々調べてみたのですが、それらしい記事を見つけることが出来ませんでしたので、ここに投稿させていただきました。 どうぞよろしくお願いします。

    • ベストアンサー
    • Java
  • Javaの勉強順序

    なかなかプログラミングのコツがつかめません。 そもそもプログラミング的な考えができないんですかね。 現在はJavaの基礎文法を一通り終えて、今後の学習をどう進めようか、というところなんですが、デザインパターンを学習するべきか、逆引きライブラリのような本をみてよく使うクラスなどに習熟すべきか、アルゴリズムとデータ構造などをかじって一回り血肉をつけるか、というふうに悩んでいます。  趣味で何か作りたい、という動機はなく、一日でもはやく現場での業務用プログラムを読み書きできるようになりたいです。皆さんはどのように力をつけていきましたか?アドバイスがあればきかせてください。

    • ベストアンサー
    • Java