下記は、筆者が特徴を述べられるものだけです。
RやPythonを人工知能の開発に使う場合は、自分ですべてのプログラムを書くのではなく、 既存の機械学習のライブラリを要所要所で使うのが普通です。
C言語には、このようなライブラリが充実していないため、自分で書く必要があります。 下記の参考文献は、そのようにしてC言語を使っています。 「自分で書く」というと、気が遠くなりそうでもありますが、 プログラミングにある程度慣れている人にとっては、特に問題になる分量ではないようです。
C言語を使う利点は、開発のしやすさではなく、コンピュータのコアの部分を考慮した開発ができる点かもしれません。
Pythonの参考文献は、 データサイエンスのソフト や 自動作文 にあります。
小高氏の本は、言語の実装例だけでなく、その手法自体の説明もコンパクトにまとまっています。
「自然言語処理と深層学習 C言語によるシミュレーション」 小高知宏 著 オーム社 2017
CNN
で文の分類、
RNN
で文の生成の話があります。
「強化学習と深層学習 C言語によるシミュレーション」 小高知宏 著 オーム社 2017
最終章が、深層強化学習になっています。
「機械学習(マシンラーニング)と深層学習(ディープラーニング) C言語によるシミュレーション」 小高知宏 著 オーム社 2016
強化学習
、
ニューラルネットワーク
、
畳み込みニューラルネットワーク(CNN)
のC言語による実装例があります。
「はじめてのAIアプリケーション C言語で作るネットワークエージェントと機械学習」 小高知宏 著 オーム社 2010
エージェント
(インターネットの中で人とやりとりできる人工知能)をC言語で開発する話があります。
「はじめての機械学習」 小高知宏 著 オーム社 2011
C言語のプログラムの説明が詳しく、実際にプログラミングしながら学べるようになっています。
機械学習の方法は5つに分けられています。
・パラメタ調整による学習 : 回帰分析・時系列データの傾向からの予測
・帰納的学習 : 形態素分析(テキストマイニング)
・教示学習 : 教師あり学習。
与えられたデータのカテゴリ分けの方法には、
論理式(and や or で表現)、
判断木(Yes と No で表現)、
プロダクションシステム(if文で表現)がある。
・規則の学習 : 焼きなまし法
・
遺伝的アルゴリズム
・ニューラルネット : ニューラルネットワーク
下記は、筆者が「XMLマスター」という試験の勉強に使ったものです。
「図解 最新テクノロジー XML」阿部秀嗣 著 ナツメ社
「10日でおぼえる XML入門教室」 山田祥寛 著 翔泳社 2001
「XML超入門」 藤田泰徳 著 セレンディップ
「作って覚える XML文書データベース」 川村博 著 ソシム 2001
「XMLがわかる本」 屋内恭輔 著 毎日コミュニケーションズ
順路 次は 特徴量エンジニアリング