Clojureについて
Clojureは、Rich Hickeyにより作られ2007年に登場した比較的新しい言語である。新しいとは言っても、言語自体は1958年に登場したLISP言語の方言の一つであり、またJVMの上で動作してレガシーなプログラミング言語であるJAVAのコードをそのまま利用できるという古い顔と新しい顔を併せ持つ言語となっている。
Clojureの特徴の一つとして関数型言語であるというものがある。これはpythonやjavascript等の通常の言語が手続きを書き並べていく言語であるのに対して、関数という機能ブロックで全てのプログラムを構成するというプログラミング言語の歴史の中では最新のトレンドに部類されるものとなる。
プログラミング言語の開発の視点の一つに再利用性の向上がある。関数型言語の前に一世を風靡したオブジェクト指向型言語もそのような観点で開発されたものだが、関数というブロックで構成するというアイデアは更なる再利用性の向上を実現している。
また、REPLと呼ばれるコードを書きながらその都度関数を評価していくしくみは、作成時のバグを低減し、コード生成の効率化をもたらす。更に、LISPの持つ「データ=コード」という特徴は、プログラムの自動生成を含めた人工知能技術を実現する可能性を持つ。
ここではClojureでの機械学習の参考図書についてまとめた。Clojureの機械学習の参考図書は以下のようになる。残念ながら日本語でのものは発行されていない。Clojure全般の参考図書に関しては別途述べる。
Clojureでの機械学習の参考図書
<
今回紹介する参考図書の中で最も実践的な事例が述べられているものとなる。
「Mastering Clojure Data Analysis」
Chapter 1 : Network Analysis - The Six Degrees of Kevin Bacon
第1章 ネットワーク分析 ケビン・ベーコンの6度
Chapter 2 : GIS Analysis - Mapping Climate Change
第2章 GIS分析 気候変動のマッピング
Chapter 3 : Topic Modeling - Changing Concerns in the State of the Union Addresses
第3章 トピックモデリング 一般教書演説における関心事の変化
Chapter 4 : Classifying UFO - Sightings
第4章 UFOを分類する. 目撃情報
Chapter 5 : Benford's Law - Detecting Natural Progressions of Numbers
第5章 ベンフォードの法則 自然な数列の検出
Chapter 6 : Sentiment Analysis - Categorizing Hotel Reviews
第6章 センチメント分析 ホテルの口コミを分類する
Chapter 7 : Null Hypothesis Test - Analyzing Crime Data
第7章 帰無仮説検定 犯罪データの分析
Chapter 8 : A/B Testing - Statical Experiments for Web
第8章 A/Bテスト Webのための統計的実験
Chapter 9 : Analyzing Social Data Participation
第9章 ソーシャルデータの参加状況を分析する
Chapter 10 : Modeling Stock Data
第10章 ストックデータのモデリング
「Clojure Data Structures and Algorithm Cookbook」 Chapter 1 : Revisiting Arrays 第1章 配列を見直す Chapter 2 : Alternative Linked Lists 第2章 リンクリストの代替 Chapter 3 : Walking Down Forests of Data 第3章 データの森を歩く Chapter 4 : Making Decisions with the Help of Science 第4章 科学の力で意思決定する Chapter 5 : Programming with Logic 第5章 ロジックを使ったプログラミング Chapter 6 : Sharing by Communicating 第6章 コミュニケーションによる共有 Chapter 7 : Transformations as First-class Citizens 第7章. 一流市民としての変貌
「Clojure for Machine Learning」 Chapter 1 : Working with Matrices 第1章. 行列の操作 Chapter 2 : Understanding Linear Regression 第2章 線形回帰を理解する Chapter 3 : Categorizing Data 第3章. データを分類する Chapter 4 : Building Neural Networks 第4章. ニューラルネットワークを構築する Chapter 5 : Selecting and Evaluating Data 第5章. データの選択と評価について Chapter 6 : Building Support Vector Machines 第6章. サポートベクトルマシンの構築 Chapter 7 : Clustering Data 第7章. データのクラスタリング Chapter 8 : Anomaly Detection and Recommendation 第8章. 異常検知とレコメンデーション Chapter 9 : Large-scale Machine Learning 第9章. 大規模な機械学習
「Clojure Data Science」 Chapter 1 : Statistics 第1章 統計 Chapter 2 : Inference 第2章 推論 Chapter 3 : Correlation 第3章 相関関係 Chapter 4 : Classification 第4章 分類 Chapter 5 : Big Data 第5章 ビッグデータ Chapter 6 : Clustering 第6章 クラスタリング Chapter 7 : Recommender Systems 第7章 推薦システム Chapter 8 : Network Analysis 第8章 ネットワーク分析 Chapter 9 : Time Series 第9章 時系列データ Chapter 10 : Visualization 第10章 ビジュアライゼーション
「Clojure Data Analysis Cookbook 2nd」 Chapter 1 : Importing Data for Analysis 第1章. 分析用データの取り込み Chapter 2 : Cleaning and Validating Data 第2章. データのクリーニングと検証 Chapter 3 : Managing Complexity with Concurrent 第3章 コンカレントで複雑性を管理する Chapter 4 : Improving Performance with Parallel Programming 第4章. 並列プログラミングによるパフォーマンスの向上 Chapter 5 : Distributed Data Processing with Cascalog 第5章 Cascalogによる分散データ処理 Chapter 6 : Working with Incanter Datasets 第6章. Incanterデータセットの操作 Chapter 7 : Statical Data Analysis with Incanter 第7章. Incanterによる統計的データ解析 Chapter 8 : Working with Mathematica and R 第8章. MathematicaとRを使って Chapter 9 : Clustering, Classifying, and Working with Weka 第9章 Wekaを使ったクラスタリング、分類、分析 Chapter 10 : Working with Unstructured and Texual Data 第10章. 非構造化データとテキストデータの取り扱い Chapter 11 : Graphing in Incanter 第11章. Incanterでのグラフ作成 Chapter 12 : Creating Charts for the Web 第12章. ウェブ用のチャートを作成する
コメント
[…] 国内外で出版されているClojureの参考図書についてまとめた。機械学習の参考図書に関しては別途まとめる。 […]
[…] Clojureでの機械学習参考図書 […]