コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
Wikippe
検索
検索
表示
ログイン
個人用ツール
ログイン
機械学習のソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
機械学習
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
要求した操作を行うことは許可されていません。
このページのソースの閲覧やコピーができます。
'''機械学習'''(きかいがくしゅう、Machine learning)とは、[[人工知能]]における研究課題の一つで、人間が自然に行っている[[学習]]能力と同様の機能を[[コンピュータ]]で実現しようとする技術・手法のことである。 == 概要 == [[センサ]]や[[データベース]]などからある程度の数のサンプルデータ集合を入力して解析を行い、そのデータから有用な規則、ルール、知識表現、判断基準などを抽出し、[[アルゴリズム]]を発展させる。なおデータ集合を解析するので[[統計学]]との関連が深い。 そのアルゴリズムは、第一にそのデータが生成した潜在的機構の特徴を捉え、複雑な関係を識別(すなわち定量化)する。そして第二にその識別したパターンを用いて新たなデータについて予測を行う。データは観測された変数群のとりうる関係の具体例と見ることができ、アルゴリズムは機械[[学習]]者として観測されたデータの部分(訓練例などと呼ぶ)を学習することでデータに潜在する[[確率分布]]の特徴を捉え、学習によって得た知識を用いて新たな入力データについて知的な決定を行う<ref name=Wernick-Signal-Proc-July-2010>Wernick, Yang, Brankov, Yourganov and Strother, Machine Learning in Medical Imaging, ''IEEE Signal Processing Magazine'', vol. 27, no. 4, July 2010, pp. 25-38 </ref>。 1つの根本的な課題は、観測例に全てのとりうる挙動例を示すあらゆる入力を含めるのは(多くの実用的な関心事の場合)大きすぎて現実的でないという点である。したがって、学習者は与えられた例を一般化して、新たなデータ入力から有用な出力を生成しなければならない<ref name=Wernick-Signal-Proc-July-2010/>。 [[光学文字認識]]では、印刷された活字を事前の例に基づいて自動認識する。これは典型的な機械学習の応用例である<ref name=Wernick-Signal-Proc-July-2010/>。 機械学習は[[検索エンジン]]、[[医療診断]]、[[スパム (メール)|スパムメール]]の検出、金融市場の予測、[[デオキシリボ核酸|DNA]]配列の分類、[[音声認識]]や文字認識などの[[パターン認識]]、ゲーム戦略、[[ロボット]]、など幅広い分野で用いられている。応用分野の特性に応じて学習手法も適切に選択する必要があり、様々な手法が提案されている<ref>それらの手法は、''Machine Learning'' や ''IEEE Transactions on Pattern Analysis and Machine Intelligence'' などの学術雑誌などで発表されることが多い。</ref>。大量のデータから従来にない知見を得るという[[ビッグデータ]]の時代では、特にその応用に期待が集まっている<ref>[http://www.mizuho-ir.co.jp/publication/navis/017/special.html もう一度「ビッグデータ」を考える]</ref>。 === 定義 === 1959年、[[アーサー・サミュエル]]は機械学習を「明示的にプログラムしなくても学習する能力をコンピュータに与える研究分野」だとした<ref>http://holehouse.org/mlclass/01_02_Introduction_regression_analysis_and_gr.html</ref>。 {{仮リンク|トム・M・ミッチェル|en|Tom M. Mitchell}}は、よく引用されるさらに厳格な定義として「コンピュータプログラムがある種のタスクTと評価尺度Pにおいて経験Eから学習するとは、タスクTにおけるその性能をPによって評価した際に、経験Eによってそれが改善されている場合である」とした<ref> Mitchell, T. (1997). ''Machine Learning'', McGraw Hill. ISBN 0-07-042807-7, p.2.</ref>。 === 一般化 === この文脈における一般化とは、学習用データセットを使って訓練した後に新たな見たことのない例について正確に判断できるアルゴリズムの能力をいう。学習者の最も重要な目的は、経験から一般化することである<ref>Christopher M. Bishop (2006) ''Pattern Recognition and Machine Learning'', Springer ISBN 0-387-31073-8.</ref>。訓練例は一般に未知の確率分布に従っており、学習者はそこから新たな例について有用な予測を生み出す何か一般的なもの、その分布に関する何かを引き出す必要がある。 === 人間との相互作用 === 機械学習システムによっては人間の[[直観]]によるデータ解析の必要性を排除しようとしているが、人間と機械の協調的相互作用を取り入れたものもある。しかしそもそも、システムのデータ表現方法やデータの特徴を探る機構は人間が設計したものであり、人間の直観を完全に排除することはできない。 == データマイニングとの関係 == 機械学習と[[データマイニング]]は交差する部分が大きく、技法も同じなので混同されることが多いが、次のように定義できる。 * 機械学習の目的は、訓練データから学んだ「既知」の特徴に基づく予測である。 * データマイニングの目的は、それまで「未知」だったデータの特徴を[[発見]]することである。 この2つは様々な面でオーバーラップしている。データマイニングは機械学習の技法を使うが、その目的は若干異なることが多い。一方機械学習もデータマイニングの技法を「教師なし学習」として、あるいは学習者の正確性を向上させる前処理として用いる。2つの研究領域は、[[:en:ECML PKDD|ECML PKDD]] という例外はあるが、基本的に学会も学術誌も別々である。それらの間の混同の最大の原因は、それらの基本的前提に由来する。機械学習では既知の知識を再生成できるかどうかで性能を評価するが、データマイニングではそれまで「未知」だった知識を発見することが重視される。既知の知識によって評価するなら教師なしの技法より教師ありの技法の方が容易に優れた結果を示すことができるが、典型的なデータマイニングでは訓練データが用意できないので教師ありの技法を採用できない。 == アルゴリズムの分類 == 機械学習の[[アルゴリズム]]は、要求される結果により以下のように分類される。 ; [[教師あり学習]] : 入力とそれに対応すべき出力(人間の専門家が訓練例にラベル付けすることで提供されることが多いので'''ラベル'''とも呼ばれる)を写像する関数を生成する。例えば、[[統計分類]]問題では入力ベクトルと出力に対応する分類で示される例を与えられ、それらを写像する関数を近似的に求める。 ; [[教師なし学習]] : 入力のみ(ラベルなしの例)からモデルを構築する。[[データマイニング]]も参照。 ; {{仮リンク|半教師あり学習|en|Semi-supervised learning}} : ラベルありの例とラベルなしの例をどちらも扱えるようにしたもので、それによって近似関数または分類器を生成する。 ; [[強化学習]] : 周囲の環境を観測することでどう行動すべきかを学習する。行動によって必ず環境に影響を及ぼし、環境から報酬という形でフィードバックを得ることで学習アルゴリズムのガイドとする。例えば[[Q学習]]がある。 ; {{仮リンク|トランスダクション|en|Transduction (machine learning)}}(トランスダクティブ推論) : 観測された具体的な(訓練)例から具体的かつ固定の(テスト)例の新たな出力を予測しようとする。 ; {{仮リンク|マルチタスク学習|en|Multi-task learning}} : 関連する複数の問題について同時に学習させ、主要な問題の予測精度を向上させる。 == 理論 == 機械学習アルゴリズムとその性能についての分析は[[理論計算機科学]]の一分野であり、{{仮リンク|計算論的学習理論|en|computational learning theory}}と呼ばれている。訓練例は有限で未来は不確かであるため、学習理論は一般にアルゴリズムの性能を保証できない。その代わりに性能の確率的範囲を与えるのが一般的である。 それに加えて、学習の[[計算複雑性理論|時間複雑性]]と実現可能性についても研究している。計算論的学習理論では、[[多項式時間]]で終了する計算を実現可能とみなす。 機械学習と[[統計学]]は多くの点で似ているが、使用する用語は異なる。 == 技法 == ; [[決定木]]学習 : [[決定木]]を{{仮リンク|予測モデル|en|predictive modelling}}として使用した学習であり、アイテムについての観測をそのアイテムの目標値についての結論とマッピングする。具体例として[[ID3]]や[[Random forest]]がある。 ; {{仮リンク|相関ルール学習|en|Association rule learning}} : 大規模データベースにおける変数間の興味深い関係を発見するための技法。 ; [[人工ニューラルネットワーク]] (ANN) : 単にニューラルネットワーク (NN) とも呼ばれ、生物の[[神経]]ネットワークの構造と機能を模倣するという観点から生まれた学習アルゴリズムである。[[人工神経]]を相互接続したもので計算を構造化し、[[コネクショニズム]]的計算技法で情報を処理する。現代的ニューラルネットワークは[[非線形システム論|非線形]]な[[統計学|統計]]的[[データモデリング]]ツールである。入力と出力の間の複雑な関係をモデル化するのに使われ、データの[[パターン認識]]や観測された変数間の未知の[[同時分布]]における統計的構造を捉えるなどの用途がある。 ; [[遺伝的プログラミング]] (GP) : 生物の[[進化]]を模倣した[[進化的アルゴリズム]]に基づく技法であり、ユーザーが定義したタスクを実行する[[プログラム (コンピュータ)|プログラム]]を探索する。[[遺伝的アルゴリズム]]を拡張・特化させたものである。所定のタスクを実行する能力によって{{仮リンク|適応度地形|en|fitness landscape}}を決定し、それによってコンピュータプログラムを最適化させていく機械学習技法である。 ; {{仮リンク|帰納論理プログラミング|en|Inductive logic programming}} (ILP) : 例、背景知識、仮説を一様な表現とし、[[論理プログラミング]]を使って学習を規則化する技法である。既知の背景知識と例の集合をコード化して事実の論理データベースとし、全てのポジティブな例を[[論理包含演算|含み]]、ネガティブな例を全く含まない仮説的論理プログラムを生成する。 ; [[サポートベクターマシン]] (SVM) : [[統計分類]]や[[回帰分析]]に使われる一連の[[教師あり学習]]技法である。訓練例のラベルは2値(2つに分類される)であり、訓練アルゴリズムによってモデルを構築し、新たな例がどちらに分類されるかを予測する。 ; [[データ・クラスタリング|クラスタリング]] : クラスタリングは、観測された例をクラスタと呼ばれる部分集合に振り分けるもので、振り分けは事前に指示された基準に従って行う。クラスタリングはデータの構造についての仮説(基準)の立て方によって結果が異なる。仮説は「類似尺度」で定義され、「内部コンパクト性」(同一クラスタ内のメンバー間の類似性)や異なるクラスタ間の距離によって評価される。「推定密度」や「グラフ接続性」に基づく技法もある。クラスタリングは[[教師なし学習]]技法であり、[[統計学|統計]]的データ解析でよく使われる。 ; [[ベイジアンネットワーク]] : [[確率変数]]群とそれらの{{仮リンク|条件付き独立性|en|conditional independence}}を{{仮リンク|有向非循環グラフ|en|directed acyclic graph}} (DAG) で表した{{仮リンク|グラフィカルモデル|en|graphical model|label=確率論的グラフィカルモデル}}である。例えば、病気と症状の関係を確率的に表すことができる。そのネットワークに症状を入力すれば、考えられる病気の一覧を確率付きで出力できる。これを使って[[推論]]と学習を行う効率的アルゴリズムが存在する。 ; [[強化学習]] : 「エージェント」が「環境」の中でどのような「行動」をとるべきかを、何らかの長期的「報酬」を最大化するよう決定する。環境の「状態」からエージェントの行動への写像を行う「方針」を求めるのが強化学習アルゴリズムである。正しい入出力例は与えられないし、最適でない行動が明示的に訂正されることもないので、[[教師あり学習]]とは異なる。 [[教師なし学習]]アルゴリズムの一部は、訓練中に提供された入力のよりよい表現を発見しようとする。古典的な例として[[主成分分析]]や[[データ・クラスタリング|クラスタ分析]]がある。入力の持つ情報は保持したまま、分類や予測の前に入力をより便利な表現に変換するアルゴリズムもある。その際に入力データが従っている未知の確率分布から入力を再建できるようにするが、その確率分布においては信じがたい例も忠実に再現する必要はない。例えば{{仮リンク|多様体学習|en|Manifold learning}}アルゴリズムは、何らかの制約下で入力の次元を低く変換して表現する。{{仮リンク|スパースコーディング|en|Sparse coding}}アルゴリズムでは、入力が疎ら(ゼロが多い)という制約下で同様の表現の変換を行う。[[:en:Deep learning|deep learning]] アルゴリズムは複数レベルの表現または特徴の階層を発見するもので、低いレベルで抽出した特徴から高いレベルの抽象化した特徴までを求める。知的機械は、観測されたデータを説明する偏差の潜在的要因を解きほぐす表現を学習するものだという主張もある<ref>{{Cite book| title = Learning Deep Architectures for AI | author = Yoshua Bengio | publisher = Now Publishers Inc. | year = 2009 | isbn = 978-1-60198-294-0 | page = 1–3 | url = http://books.google.com/books?id=cq5ewg7FniMC&pg=PA3 }}</ref>。 == 応用分野 == 機械学習には以下のような応用分野がある。 {{Col-begin}} {{Col-break}} * {{仮リンク|機械知覚|en|Machine perception}} * [[コンピュータビジョン]] * [[自然言語処理]] * {{仮リンク|統語的パターン認識|en|Syntactic pattern recognition}} * [[検索エンジン]] * (人工知能による)[[診断]] * [[バイオインフォマティクス]] * [[ブレイン・マシン・インタフェース]] * [[ケモインフォマティクス]] * [[クレジットカード詐欺]]{{enlink|credit card fraud}}の検出 * [[証券市場]]分析 * [[塩基配列]]の分類 * {{仮リンク|シーケンスマイニング|en|Sequence mining}} {{Col-break}} * [[音声認識]]と[[手書き文字認識]] * [[物体認識]] ([[コンピュータビジョン]]) * {{仮リンク|ストラテジーゲーム|en|Strategy game|label=ゲームプレイ}} * [[ソフトウェア工学]] * {{仮リンク|適応型ウェブサイト|en|Adaptive website}} * {{仮リンク|移動ロボット|en|Robot locomotion}} * [[金融工学]] * {{仮リンク|構造ヘルスモニタリング|en|Structural health monitoring}} * {{仮リンク|感情分析|en|Sentiment analysis}}(意見マイニング) * {{仮リンク|感情コンピューティング|en|Affective computing}} * [[情報検索]] * [[レコメンダシステム]] {{Col-end}} 2006年、オンラインDVDレンタル会社[[ネットフリックス]]は、同社の[[レコメンダシステム]]より10%以上高性能な(ユーザーの好みをより正確に予測する)プログラムを捜す競技会 [[:en:Netflix Prize|Netflix Prize]] を開催した。この競技会は数年かけて行われ、AT&T Labs のチームが "Pragmatic Chaos" という機械学習プログラムで2009年に優勝し100万ドルを獲得した<ref>[http://www2.research.att.com/~volinsky/netflix/ "BelKor Home Page"] research.att.com</ref>。 == ソフトウェア == 各種機械学習アルゴリズムを備えた[[ソフトウェアスイート]]として、[[:en:RapidMiner|RapidMiner]]、[[:en:LIONsolver|LIONsolver]]、[[:en:KNIME|KNIME]]、[[Weka]]、[[:en:Oracle Data Mining|ODM]]、[[:en:Shogun (toolbox)|Shogun toolbox]]、[[:en:Orange (software)|Orange]]、[[:en:Apache Mahout|Apache Mahout]]、[[:en:Scikit-learn|scikit-learn]]、[[:en:Mlpy|mlpy]]、[[:en:Monte_Carlo_Machine_Learning_Library|MCMLL]]、[[OpenCV]] などがある。 == 学術誌と国際学会 == * ''[[:en:Machine Learning (journal)|Machine Learning]]''(学術誌) * ''[[:en:Journal of Machine Learning Research|Journal of Machine Learning Research]]''(学術誌) * ''[[:en:Neural Computation|Neural Computation]]''(学術誌) * [[:en:International Conference on Machine Learning|International Conference on Machine Learning]] (ICML)(国際学会) * [[:en:Conference on Neural Information Processing Systems|Neural Information Processing Systems]] (NIPS)(国際学会) == 脚注 == {{Reflist|2}} == 参考文献 == {{Refbegin}} * <span>Thomas Mitchell "Machine Learning" McGraw-Hill (1997) ISBN 978-0071154673</span> (入門用の教科書) →[http://www.cs.cmu.edu/~tom/mlbook.html サポートページ] * <span>Christopher M. Bishop "Pattern Recognition And Machine Learning" Springer-Verlag (2006) ISBN 978-0387310732</span> (中上級の教科書) →[http://research.microsoft.com/~cmbishop/PRML/ サポートページ](ここから、第8章 "Graphical Models" をpdf形式で入手可能) **<span>日本語版「パターン認識と機械学習 - ベイズ理論による統計的予測」シュプリンガージャパン (2007-2008) 上巻:ISBN 978-4431100133 下巻:ISBN 978-4431100317</span> →[http://ibisforest.org/index.php?PRML 日本語版サポートページ] * <span>Trevor Hastie, Robert Tibshirani, and Jerome H. Friedman "The Elements of Statistical Learning: Data Mining, Inference, and Prediction" Springer-Verlag (2001) ISBN 978-0387952840</span> (高度な内容も含む.数理・統計系の手法が中心) →[http://www-stat.stanford.edu/~tibs/ElemStatLearn/ サポートページ](ここから、全章をpdf形式で入手可能) * <span>David MacKay "Information Theory, Inference, and Learning Algorithms" (2003) </span> (ベイズ推論を中心に、情報理論と機械学習を包括的にカバーした教科書) →[http://www.inference.phy.cam.ac.uk/mackay/itila/book.html 著者ページ](ここから全文をPDF形式で入手可能) * Sergios Theodoridis, Konstantinos Koutroumbas (2009) "Pattern Recognition", 4th Edition, Academic Press, ISBN 978-1-59749-272-0. * Ethem Alpaydın (2004) ''Introduction to Machine Learning (Adaptive Computation and Machine Learning)'', MIT Press, ISBN 0-262-01211-1 * Bing Liu (2007), ''[http://www.cs.uic.edu/~liub/WebMiningBook.html Web Data Mining: Exploring Hyperlinks, Contents and Usage Data].'' Springer, ISBN 3-540-37881-2 * Toby Segaran (2007), ''Programming Collective Intelligence'', O'Reilly, ISBN 0-596-52932-5 * [[レイ・ソロモノフ|Ray Solomonoff]], "[http://world.std.com/~rjs/indinf56.pdf An Inductive Inference Machine]" A privately circulated report from the 1956 [[ダートマス会議|Dartmouth Summer Research Conference on AI]]. * Ray Solomonoff, ''An Inductive Inference Machine'', IRE Convention Record, Section on Information Theory, Part 2, pp., 56-62, 1957. * Ryszard S. Michalski, Jaime G. Carbonell, Tom M. Mitchell (1983), ''Machine Learning: An Artificial Intelligence Approach'', Tioga Publishing Company, ISBN 0-935382-05-4. * Ryszard S. Michalski, Jaime G. Carbonell, Tom M. Mitchell (1986), ''Machine Learning: An Artificial Intelligence Approach, Volume II'', Morgan Kaufmann, ISBN 0-934613-00-1. * Yves Kodratoff, Ryszard S. Michalski (1990), ''Machine Learning: An Artificial Intelligence Approach, Volume III'', Morgan Kaufmann, ISBN 1-55860-119-8. * Ryszard S. Michalski, George Tecuci (1994), ''Machine Learning: A Multistrategy Approach'', Volume IV, Morgan Kaufmann, ISBN 1-55860-251-8. * Bishop, C.M. (1995). ''Neural Networks for Pattern Recognition'', Oxford University Press. ISBN 0-19-853864-2. * Richard O. Duda, Peter E. Hart, David G. Stork (2001) ''Pattern classification'' (2nd edition), Wiley, New York, ISBN 0-471-05669-3. * Huang T.-M., Kecman V., Kopriva I. (2006), [http://learning-from-data.com Kernel Based Algorithms for Mining Huge Data Sets, Supervised, Semi-supervised, and Unsupervised Learning], Springer-Verlag, Berlin, Heidelberg, 260 pp. 96 illus., Hardcover, ISBN 3-540-31681-7. * KECMAN Vojislav (2001), [http://support-vector.ws Learning and Soft Computing, Support Vector Machines, Neural Networks and Fuzzy Logic Models], The MIT Press, Cambridge, MA, 608 pp., 268 illus., ISBN 0-262-11255-8. * Ian H. Witten and Eibe Frank (2011). ''Data Mining: Practical machine learning tools and techniques'' Morgan Kaufmann, 664pp., ISBN 978-0123748560. * Sholom Weiss and Casimir Kulikowski (1991). ''Computer Systems That Learn'', Morgan Kaufmann. ISBN 1-55860-065-5. * Mierswa, Ingo and Wurst, Michael and Klinkenberg, Ralf and Scholz, Martin and Euler, Timm: ''YALE: Rapid Prototyping for Complex Data Mining Tasks'', in Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD-06), 2006. * Vladimir Vapnik (1998). ''Statistical Learning Theory''. Wiley-Interscience, ISBN 0-471-03003-1. {{Refend}} == 関連項目 == * [[自動推論]] * [[計算知能]] * [[計算論的神経科学]] * [[認知科学]] * [[認知モデル]] * [[データマイニング]] * [[パターン認識]] * [[カーネル法]] * [[エンタープライズサーチ]] * [[次元の呪い]] * [[言語獲得]] * [[ワトソン (コンピュータ)]] == 外部リンク == * [http://www.ai-gakkai.or.jp/jsai/ 人工知能学会] * [http://ibisml.org/ 電子情報通信学会 情報論的学習理論と機械学習 (IBISML) 研究会] * [http://ibisforest.org/index.php?FrontPage 朱鷺の杜Wiki] 機械学習・データマイニングについてのWiki <!--*[http://opencv.jp/ OpenCV.オープンソースのライブラリ]--> * [http://www.spice.ci.ritsumei.ac.jp/~thangc/programs/japanese.htm 多層ニューラルネットワークと自己組織化写像のアプリケーション] * [http://machinelearning.org/ International Machine Learning Society] {{DEFAULTSORT:きかいかくしゆう}} [[Category:機械学習|*]] [[Category:人工知能]] [[Category:学習]] [[Category:サイバネティックス]]
このページで使用されているテンプレート:
テンプレート:Cite book
(
ソースを閲覧
)
テンプレート:Col-begin
(
ソースを閲覧
)
テンプレート:Col-break
(
ソースを閲覧
)
テンプレート:Col-end
(
ソースを閲覧
)
テンプレート:Enlink
(
ソースを閲覧
)
テンプレート:Refbegin
(
ソースを閲覧
)
テンプレート:Refend
(
ソースを閲覧
)
テンプレート:Reflist
(
ソースを閲覧
)
テンプレート:仮リンク
(
ソースを閲覧
)
機械学習
に戻る。
検索
検索
機械学習のソースを表示
話題を追加