2015-01-01から1ヶ月間の記事一覧

Pythonで2変数関数に対してニュートン法を用いる

前回、Pythonで2変数関数に対して最急勾配法を用いる - minus9d's diaryにて、2変数関数に対する最急勾配法を Pythonで実装しました。 今回は、最急勾配法よりも収束が早いと言われるニュートン法を実装してみます。私の理解が正しければ、ニュートン法では…

Pythonで2変数関数に対して最急勾配法を用いる

以前、Pythonで最急勾配法を実装し、グラフを描く - minus9d's diary という記事にて、1変数関数に対して最急勾配法を用いて極値を求める実装を紹介しました。 今回の記事では、2変数関数に対して同じことをやってみます。目的関数はです。紙と鉛筆で極値を…

matplotlibをオブジェクト指向スタイルで使う その1

Matlabスタイルとオブジェクト指向スタイル matplotlibは、以下のようにmatplotlib.pyplotに属する関数を順番に呼んで使われることが多いです。 import matplotlib.pyplot as plt plt.plot([1,2,3,4]) plt.ylabel('some numbers') plt.show() これはMatlabで…

Pythonで最急勾配法を実装し、グラフを描く

最急勾配法(gradient method)は、ある目的関数の極値を求める方法の一つです。勾配がもっともきつい方向にを少しずつずらしていく方法です。極大値を求める場合は再急上昇法(gradient ascent method)、極小値を求める場合は最急降下法(gradient descent meth…

一変数関数、多変数関数の凸性を求める方法

機械学習の教科書「言語処理のための機械学習入門 (自然言語処理シリーズ) 」を再び読み始めました。勉強したことを忘れないように、メモがてらなにか書いていこうと思います。 今回は関数の凸性、つまりある関数が上に凸か、下に凸か、もしくはそのどちらで…

zshで、コマンドライン実行時にもコメントを使えるようにする

zsh

zshで過去のコマンド履歴を検索する機能(数文字タイプしてCtrl + R)を頻繁に使う人なら、自分の打ったコマンドにコメントを打って検索のキーワード代わりにしたいことがあるかもしれません。例えばこんな風に: ls -1 # print one entry per line しかし普…

Pythonのループはelseを持てる

Pythonのforループやwhileループは、elseを持つことができると聞いて驚きました。例えば以下のコードは合法です。 for i in range(5): print("i = ", i) else: print("loopは無事に終了しました") 実行例は以下です。 i = 0 i = 1 i = 2 i = 3 i = 4 loopは…

Pythonのsort(), sorted(), reverse(), reversed()の使い方

いまだに混乱してしまうのでメモ。Python3でテストしていますがPython2でも同じはずです。 sort() list.sort()という形で使います。元のリスト自体の中身が変わります。Rubyでいう「破壊的メソッド」にあたります。 nums = [2, 4, 1, 6] nums.sort() # 破壊…

Kindle for Androidで画面回転をロックまたは許可する方法

AndroidのKindleアプリで画面回転をロックまたは許可するには、本を開いた状態で画面の右下をタップします。 すると上図のように錠前アイコンが現れます。錠が外れた状態だと画面を自由回転でき、錠がはまった状態だと画面がロックされます。 どうも開く本の…