機械学習

CLMLのランダムフォレストを試してみる

ランダムフォレストは決定木ベースの分類/回帰モデルで、ニューラルネットやSVMなどと同様に非線形モデルなので線形分離不可能な問題にも使える。SVMはデータ数に対して指数的に計算時間がかかる一方、ランダムフォレストはデータ数をnとしてn*log(n)のオー…

Common Lispが機械学習に向いていると考えるこれだけの理由

Lisp Advent Calendar 2016参加記事ここ数年ディープラーニングの出現をきっかけにAIが再び盛り上がっているので、いよいよLispの復権があるかと思いきや、ないので(泣)、多少なりともLispに興味を持ってもらえるように、LispとAIの関係について私見を述べ…

Common Lispによる線形分類器ライブラリcl-online-learningを書いた

去年、オンライン機械学習本(クマ本)を読んで線形分類器を実装する記事を書いたり、それらのアルゴリズムをまとめてcl-online-learningというライブラリを作ってLispmeetupで紹介したりした。 https://github.com/masatoi/cl-online-learning 書籍「オンライ…

MGLによる2クラスロジスティック回帰

人工知能に関する断創録 - Kerasによる2クラスロジスティック回帰音声でもとても参考にさせていただいたこちらのブログで今度からKerasの連載をするらしく、まず最初に最もシンプルな例としてロジスティック回帰の例が紹介されていたので、これをMGLでもやっ…

MGLで回帰:多次元出力

シンプルな例で多次元出力ができるかテスト (ql:quickload :mgl-user) (ql:quickload :clgplot) (in-package :mgl-user) ;;; 入力1次元、出力2次元のデータ (defparameter sin-cos-data (let* ((data-size 10000) (data (make-array data-size))) (loop for …

Common Lispによる深層学習ライブラリMGL(2): 回帰問題の場合

前回はMNISTの分類問題を解いたが、今回は回帰問題の場合。 コード https://github.com/masatoi/mgl-user/blob/master/src/regression.lisp データ点の表現とそれをまとめてモデルに設定する部分 分類と回帰で何が違うかというと、まず教師信号がラベルでな…

Common Lispによる深層学習ライブラリMGL

昨今の機械学習界隈では何故かPythonやRのライブラリが多いのだが、Common Lispも高速なネイティブコンパイラを持ち、C/C++のライブラリも呼べるので、機械学習にも問題なく使える。 実際にCommon Lispで実装された深層学習を可能とするライブラリにMGLがあ…

Common Lispで多層ニューラルネットを実装してみる

去年買ってはいたが積読状態だったこのディープラーニングの青い本。深層学習 (機械学習プロフェッショナルシリーズ)作者: 岡谷貴之出版社/メーカー: 講談社発売日: 2015/04/08メディア: 単行本(ソフトカバー)この商品を含むブログ (13件) を見る正月ヒマ…

書籍「オンライン機械学習」を買ったのでCommon Lispで実装してみた。(AROW編)

前回の記事ではパーセプトロンと線形SVMを実装したが、より高度な手法として、CW、AROW、SCWといったものがあるらしい。 パーセプトロン等では重みベクトルを直接更新していたのに対して、CWでは重みベクトルが正規分布に従って分布していると仮定して、その…

書籍「オンライン機械学習」を買ったのでCommon Lispで実装してみた。

オンライン機械学習を買ったので、書いてあるアルゴリズムから線形識別器をいくつか試してみた。オンライン学習とは、データを一括処理するバッチ学習に対して、個々のデータを逐次処理する学習手法のこと。オンライン学習だと以下のようなうれしいことがあ…

clml-svmの紹介

(LISP Library 365参加記事)この記事ではclml-svmを紹介する。SVMそのものの解説はしない。CLML (Common Lisp Machine Learning)は、数理システムからgithubに公開されているCommon Lisp用の機械学習ライブラリである。以前は売り物であったらしい。当初はラ…