サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
qiita.com/jabberwocky0139
あらまし Couseraの機械学習コースをはじめました.前々から視界にはかすめていたのですが、やっと今頃重い腰を上げた次第です.しかし、Octaveで書くのが少々億劫1だったこと、コードの一部を埋めるのではなくインターフェイスから全て自分で書いたほうが勉強になると思い、Pythonで書き直してみることにしました.この記事は自分の勉強メモです. 一応Courseraを受講していない人でもなんとか追えるかな?という内容にしたつもりです.もし興味を持たれたら、ぜひ受講してみてください.最高に丁寧ですばらしい講義ですよ. 巷に溢れる機械学習の教材のひとつとして、利用して頂けると幸いです. 機械学習のキモ 機械学習で登場する重要キャラクターの紹介です.5人います: ① $X$: 入力データセット.例えば 1.土地の広さとか、 2.タイタニック号乗船者の性別・年齢とかとか ② $y$: 出力データセッ
対象 Python及びNumPy初心者に向けて書いています. 「C言語は使えるけど最近Pythonを始めた」とか「Pythonらしい書き方がよくわからない」に該当する物理系の数値計算を目的とした方には特に有用かもしれません. また, 自分の不勉強のために間違った記述があるかもしれません. ご容赦ください. あらまし NumPyを用いた数値計算の高速化 : 基礎 NumPy・SciPyを用いた数値計算の高速化 : 応用その1 NumPy・SciPyを用いた数値計算の高速化 : 応用その2 のおまけになります. 細々とした話が中心になります. numpy関数とmath関数 numpyのユニバーサル関数はndarrayを引数にとってndarrayを返します. math関数はintかfloatしか取ることができません. math関数はcomplexも取れません. complexを渡したい場合はcm
以前書いた Pythonでカオス・フラクタルを見よう! と似たような数理モデル一発ネタであります. Optimal Velocity Model 坂東昌子さんという素粒子畑の物理屋さんがつくった渋滞モデルです. これは自然渋滞を表現するモデルとして有名です. 「事故なんかなくても車の数がある程度ありゃあ渋滞は起きるよ!」ということです. このモデルの骨子は, 前の車との車間距離に応じて目標速度が変化することにあります. 車間距離が大きければ法定速度で走ろうとするし, 小さければ速度を下げようとします. これを微分方程式で表現すると以下のようなものになります: \frac{d}{dt}x_n = v_n, \hspace{1cm}\frac{d}{dt}v_n = a\left[V(x_{n+1} - x_n) - v_n\right] $c$ は適当な定数. $V(h)$ はこんな概形です
あらまし Effective Pythonをかいつまんで読みました. とても良い本だと思います. 自分はPython初級者だと思っているのですが, その自分がある程度じっくり考えて腑に落ちるレベルの事柄が載っていることから, 初級者と中級者の橋渡しをするという役目を十二分に果たしていると思います. 筆者はGoogleで大規模な開発に従事している方なので, 小さいコードばかり組んでいる自分には直感的に利便性が理解しづらい説明もいくらかあります. でもそれはBrett Slatkinのせいではありません. 自身の至らぬが故. 読んだだけでは忘れてしまいそうなので. 感心したポイントの一部をまとめておきたいと思います. ここで使用しているコードはGithub1にあります. 感心ポイント要約(販促) 一部抜粋して載せているので文脈が捉えづらいところもあると思いますが, 是非買って読んでみてください
対象 Emacs及びHelmの初心者〜初級者を対象にしています. これを書いているのは初級者です. あらまし 初心者〜初級者のためのHelm事始め : 前編 の続きです. A Package in a league of its own: Helm スルーしたコマンドがいくつかあります. 別のコマンドで代用可能だと感じたものが主です: 正規表現はそんなに喋れることないなあ... registerはkill-ringで代用可? eshellは重いしなあ...あんまり使わないや コマンド: helm-resume キーバインド: <prefix> b (デフォルトではC-x c. この記事の設定ではC-c h) 解説: これは直前まで開いていたhelmセッションとミニバッファの履歴をレジュームするコマンドです. これは複雑なコマンドを入力するときに便利です. ちょっとコマンドを間違えちゃったり
Spacemacsの解説記事ではありません. タイトル通りのポエムです. 生産性の向上を期待しないでください. あらまし : キーバインドのはなし 自分はEmacs使いです. 自分でゴリゴリチューニングして環境自体には満足していました. しかしかねてから気になっていたことがありました. キーバインドです. 「VimのほうがEmacsよりも優れたキーバインドを持っている」という論調はよく見かけますが, その逆はおもしろいほど見かけません. いやマジで. 限りなくゼロに近いと言って良いかと. もちろんEmacsをまともに使っている人でキーマップを全く変更せずに使っている人は皆無だと思います. それでもやはり基本というものはあって,C-f C-b C-n C-pやC-x C-sなどの基本となるキーを変更している人は少ないでしょう. Vimmerのよくある主張である「Ctrl/Alt押しながら..
日陰者の関数たち Pythonはバッテリー同梱と言われるだけあってbuilt-in関数やら標準ライブラリやらがとっても充実しています. 一方で充実しすぎて日の目を見ない関数たちも多いように思います. これを書いたそもそもの動機はprint関数です. もっと評価されるべき. 旅行に行こう! 一度は以下に目を通しておきましょう: Python チュートリアル 及び 標準ライブラリミニツアー 標準ライブラリミニツアー その2 print この子自体は超有名ですが, その引数たちは日陰者かも? Python2ではprint文だったのが, Python3からprint関数になりました. 下位互換性をぶった切る以外にどんな意味があるのかと思っていましたが, よくよく見るとすごい便利な関数に進化していました: print(value, ..., sep=' ', end='\n', file=sys.s
参考:Pixiv ...流石に自虐が過ぎました. とはいえ, 見た目のインパクトはAtomの圧勝です. ちょっと古いバージョンの画像を持ってきたのは不公平な気もしますが, たぶんどう見積もっても負けてます. そんな中, Emacs界に超新星が爆誕しました. イケメン『Spacemacs』顕る ざっくり言うとSpacemacsは「Emacs + Vim = 最強」という理念のもと生まれたプロジェクトです. こちらの記事が詳しいです: Vimも秘伝のタレも飲み込むEmacsの超強力ディストリビューションSpacemacsまとめ どれだけ便利かということはとりあえず置いておいて... Spacemacs from Github イケメンの息吹を放ち, 圧倒的な説得力を携えています. 「EmacsかVimはじめてみたい」という方には是非是非おすすめしたいです. Emacs + Vimが基調ではあり
対象 Linux(Ubuntu)でキーマップを変更したい 「xmodmapがちゃんと動かないんだけど?」 というビギナーさん向けです. xkbについての詳しい解説は載せていません. 環境は Ubuntu 16.04 LTS を想定しています. あらまし かつては, Linuxでキーボードレイアウトをカスタムしたいときはxmodmapを使うのがふつうでした. xevでキーコードを調べて, ホーム直下にある.Xmodmapに とでも書き込んでシェルでxmodmap .Xmodmapと打ち込んであげれば, 51番のキーコードを持つキーがReturn(Enter)キーになってくれるのです. この方法の解説はネットにたくさんあります. しかし最近のUbuntuではこの方法が有効ではなくなってしまいました. 設定した直後はちゃんと動くものの, しばらくすると元のキーマップに戻ってしまいます1. 最近の
あらまし 別に新年関係ないのですが, Ubuntuデフォルトテーマからの脱却を試みましょう. 何故に? デフォルトの外見に飽きました. どこを攻める? unity-tweak-toolでテーマを変えることができます. が, テーマだけでは生ぬるい. フォントも変えます. 壁紙も変えます. 方向性は? ゆるふわ. テーマ Numix ProjectというLinux用のテーマを作っているプロジェクトがあります. 最近流行りのフラットデザインです. こーで unity-tweak-toolのインストール:
対象 Emacs及びHelmの初心者〜初級者を対象にしています. これを書いているのは初級者です. あらまし HelmはEmacsにおける様々なものを検索するための統一的なインターフェイスを提供してくれる非常に大きなパッケージです. とっても便利らしいのだけど, 機能がいっぱいありすぎてちょっと手に余る子だなと思っていました. 実際自分が使えているのはほんの一部の機能だけです. 勉強しようにもどこから手を付けてよいかわからない状態でした. そんなときにHelmの主要な機能についてうまくまとめてくれている記事を見つけました. A Package in a league of its own: Helm tuhdoさんという方が書いてくれているようです. ありがたや. これほどHelmの機能について包括的にまとめている日本語の情報源もあまりないなと思ったので翻訳してみました. これを読めばHe
前日の@kimhさんといい感じにネタ被っちゃいました. ご容赦... あらまし カオスとかフラクタルとかって見てるだけで楽しいですよね. 簡単な数式や, 単純な物理から突拍子もないグラフが出てくるのはとても不思議でもあります. その世界を少しだけ覗いてみましょう. 当方カオス理論が専門ではないので, 深い話には立ち入りません. 眺めて楽しければよいのです. カオスとは? 決定論的であるがしかし, 非常にランダムな振る舞いをする非線形力学系をカオスと呼びます. 一番の特徴が「初期値鋭敏性」というもので, 初期値をほんのちょっと変えただけで全く異なる軌道を描きます. 二重振り子などが有名です. フラクタルとは? 自己相似性を持つ図形のこと. フラクタル次元のはなしは面倒なのでスルー. コッホ曲線などが有名です. めざすところ カオスやフラクタルのすごいところは, 単純なモデルから複雑怪奇なもの
あらまし 以前の記事でNumPy・SciPyの高速化にまつわる事柄を書きました: NumPyを用いた数値計算の高速化 : 基礎 NumPy・SciPyを用いた数値計算の高速化 : 応用その1 NumPy・SciPyを用いた数値計算の高速化 : 応用その2 ホントに早くなってるの?ちゃんと調べてみましょう. 調査方法 Pythonによるオレオレ実装と比較します. 速度よりシンプルさを重視した実装との比較なので正当な評価とは言い難いかもしれません. Pythonはanaconda3, 時間計測にはIPythonの%timeitを使用します. --実行環境-- OS : Ubuntu16.04 LTS 64bit Python : anaconda3-4.1.1 CPU : Intel Corei5 3550 (4-core / 4-thread) リストの初期化 たとえば行列の初期化です.
対象 量子力学を授業で習った or 自習した人に適した内容かと思います. 理系の学部生あたりでしょうか. プログラミングが好きだと尚良し! 量子力学をまったく知らない人向けの内容ではありませんので悪しからず... あらまし 量子力学の授業というと, 「おっかない計算を散々やらされた上に概念も理解できずに終わってしまった」という方も多いと思います. 御多分に洩れず自分もそのひとりでした. 量子力学には「概念の壁」と「数学の壁」の2つが存在する, と前野先生の本にはありました. その通りだと思います. 確かに量子力学の概念に慣れるのはなかなか骨の折れることです. 散々教科書を読みまくって, やっとなんとなく理解できてくるようなものだと思います. しかし, その過程で「数学の壁」が邪魔をしてきます. これが初学者にとっては大変に厄介で, 「数学」を越えようとしているうちに「概念」が頭から吹っ飛ん
対象 Python及びNumPy初心者に向けて書いています. 「C言語は使えるけど最近Pythonを始めた」とか「Pythonらしい書き方がよくわからない」に該当する物理系の数値計算を目的とした方には特に有用かもしれません. また, 自分の不勉強のために間違った記述があるかもしれません. ご容赦ください. あらまし NumPyを用いた数値計算の高速化 : 基礎 NumPy・SciPyを用いた数値計算の高速化 : 応用その1 の続きになります. 基礎的な数値計算の手法を追っていきますが, 今回は少し発展的な内容も含みます. 代数方程式 / 超越方程式 代数方程式はいわゆる手で解けるふつうの方程式です. 超越方程式は随分大仰な名前ですが, 代数的な手法で解けない方程式のことを指します. 具体的には $$ \sin(x) = \frac{x}{2} $$ こんな子です. この方程式は, 「$\s
対象 Python及びNumPy初心者に向けて書いています. 「C言語は使えるけど最近Pythonを始めた」とか「Pythonらしい書き方がよくわからない」に該当する物理系の数値計算を目的とした方には特に有用かもしれません. また, 自分の不勉強のために間違った記述があるかもしれません. ご容赦ください. あらまし 内容はNumPyを用いた数値計算の高速化 : 基礎のつづきです. ndarrayのユニバーサル関数や演算を用いて可能な限りforループを使わずに基礎的な数値計算を実装していきます. 今回からSciPyも仲間に加わります. 以下ではNumPy・SciPyの関数の詳しい実装についてはあまりコメントしていないので, わからないことがあったら是非リファレンスを読んでみてください. 言わずもがな, 車輪の再発明をしないことがとっても大事です. 微分 物理の基礎方程式には微分がつきものです
対象 Python及びNumPy初心者に向けて書いています. 「C言語は使えるけど最近Pythonを始めた」とか「Pythonらしい書き方がよくわからない」に該当する物理系の数値計算を目的とした方には特に有用かもしれません. また, 自分の不勉強のために間違った記述があるかもしれません. ご容赦ください. あらまし Pythonは数値計算系のライブラリが非常に充実しており, かつ使いやすくまとまっています. その多くはFortranで書かれた遺産のラッパーだったりするのですが, C/C++などから呼ぶよりもとても簡単です. 例えばC/C++からLAPACK1を呼んで固有値問題を計算しようとすると info = LAPACKE_zheevr(LAPACK_COL_MAJOR, 'V', 'A', 'L', H, (lapack_complex_double*)a, lda, vl, vu,
このページを最初にブックマークしてみませんか?
『jabberwocky0139 - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く