sonoshouのまじめなブログ

情報系大学生からのウェブ見習い人生の記録

python

サポートベクターマシンを勾配法で解く。

最も代表的な教師あり分類手法の一つであるサポートベクターマシン。 訓練サンプルから、各データ点との距離が最大となるマージン最大化超平面を求めるという明確な分類基準がある、かつ、一見求めづらそうなこの超平面を一意に求められるということから 数…

python復習まとめ6

関数の引数をリストで渡す関数の引数をリストで渡すことができます。便利! def func(a, b, c): print a, b, c if __name__ == '__main__': f = func arglist = [1,2,3] f(*arglist) 関数のネストpythonは関数のネストに対応している。 すなわち、関数の中に…

非負値行列因子分解

このエントリーは、集合知プログラミング第8章を参照にしています。非負値行列因子分解は、データマイニングの手法の一つである。 データの重要な特徴を抽出するために用いられる。 非負値行列因子分解は、non-negative matrix factorizationの日本語訳であ…

減衰関数

機会学習(データマイニング)をしていると、 各要素の距離に応じた重み付けを行うことがある。 今回は、この時に使われる減衰関数に焦点当てる。このエントリーは、集合知プログラミング第8章を参照しています。 反比例関数 減法(引算)関数 ガウス関数 …

文章のカテゴリ分け

集合知プログラミング第6章を参考にしています。 集合知プログラミングのソースコードはこちらで公開されています。 http://examples.oreilly.com/9780596529321/本エントリーでは、文章の内容に応じて文章をカテゴライズ(分類する)方法についてです。 自…

最適化アルゴリズム

集合知プログラミングの第5章最適化の一部を自分なりにまとめます。ヒルクライム法(傾斜上り法) ヒルクライム法は、ある地点から少し値を変更し、 変更後の値が変更前の値より低ければ採用する。 これを繰り返して行けば、最小値へ近づくことが出来る。ヒ…

python復習まとめ5

リスト内包リスト内包は、シーケンス型(リスト、ディクショナリ、タプル)から リストを生成する簡単な表記です。 よくある使い方としては、あるシーケンスの要素それぞれに何らかの処理を加えて 新しいシーケンスを生成したり、 ある条件にかなう要素のみ…

python復習まとめ4

モジュールの例フィボナッチ数列の文字列から、モジュールについて学ぶ。 #fibo.pyの中身 def fib(n): a ,b = 0, 1 while b < n: print b, a, b = b, a+b print if __name__ == "__main__": import sys fib(int(sys.argv[1])) モジュールとして使う。 モジュ…

python復習まとめ3

リストについてリストオブジェクトのメソッドを以下に示す。 append(x)リストの末尾にアイテムを1つ追加する。 a[len(a):] = [x]と等価。 extend(L)リストの末尾に、与えられたリストLの全アイテムを追加することで、リストを延長する。 a[len(a):] = Lと等…

python復習まとめ1

pythonについて忘れてきたので復習。 やらなくなるとすぐ忘れてしまう……。四則演算+α >>> a = b = 2 #同時に代入可能。 >>> x , y = 2 , 3 #別の値も同時に代入可能。 >>> a+b 4 >>> 8/5 #切り捨てない。 1.6 >>> 7//3 #切り捨てるには//を使う。 2 >>> a=1…

Scipyのインストール

SciPyのダウンロードNumpyよりもさらに高水準の数学関数ライブラリが欲しい! そんなあなたには、Scipyのインストールをおすすめします。SciPy Wikipedia:SciPy前提: 筆者の環境はWindows (MacやLinuxでも導入可能だが、手順が若干異なる可能性があります。…

python 機械学習 環境構築まとめ

pythonを使った機械学習の環境構築まとめです。 python (プログラミング言語) pydev (eclipseのpython環境構築プラグイン) numpy (数学関数ライブラリ) scipy (数値解析ライブラリ) matplotlib (グラフ描画ライブラリ) cvxopt (最適化計算ライブ…

Byte Order Mark

Byte Order Mark(BOM)についての知識がなかったために、 プログラミング中悩んでしまったのでメモ。 BOMとは UnicodeのUTF-16など16ビット幅のエンコーディング方式において、 エンディアンを指定するためにファイルの先頭に記入される16ビットの値。 http:/…

matplotlib を使ってグラフを簡単表示

機械学習の勉強をしていく中でグラフを描画して、 機械学習の過程と結果を見たいことが増えてきました。というわけで、 Pythonを使って簡単にグラフ描画できるライブラリと高水準の数学関数ライブラリを導入してみたいと思います。Matplotlib (簡単にグラフ…

Scala 関数型 の勉強をしてみた。

Scala言語と関数型の考え方の勉強をしてみた。卒業論文・・・・・・。一通り本で学んだのだが、まだ身についていない感じ。 やはりコードを書かないと。 複数の言語で関数型言語風の関数(メソッド)を書いてみた。2つの引数の間の数を足し合わせる関数(メソッド…

codeforces初参戦!

「今日プログラミングコンテストあるからお前も出ろよ!」「うん!わかった!ボク・・・・・出てみるよ!!」というわけでcodeforcesというプログラミングコンテストに参加しました。 問題が出題され、解けたら順に提出していく。 全部で5題。問題を解くまでの速…

PyDev インストール

Pythonをeclipseで走らせるためのPyDevのインストール方法です。PyDevを使うためにはPythonの実行環境が必須です。 Pythonをインストールしていない人は、まずPythonをインストールしましょう。Python インストール 私は日本語化を行ったeclipseを使ってみま…

Python インストール

Python インストールPython Japan User's Group http://www.python.jp/Zope/download/pythoncore ここからPythonをダウンロードしてインストールすれば完了です。 以下私の環境でのインストール方法になります。環境: Windows 7 64bit versionインストール…