今日覚えたNumPyのテクニック

今日覚えたNumPyのテクニックを紹介します。 numpy.stack で2次元配列を繋げて3次元配列を作る 1次元配列を繋げて2次元配列を作りたいような場合には numpy.vstack や numpy.hstack という関数があります。 a = numpy.array([1, 2, 3, 4]) b = numpy.array([…

ISUCON7の予選を学生枠で通過しました

ISUCON7の予選に @brook_bach さん,@mayoko_ さんと「座るだけのコンテストってな〜んだ?」で参加しました。 @brook_bach さんの記事 brookbach.com @mayoko_ さんの記事 mayokoex.hatenablog.com チーム結成の経緯 — しょラー (@shora_kujira16) 2017年9…

pyenv+Minicondaからdirenvに乗り換える

背景 pyenvを使っていた理由 Python 2.6のインストーラとして必要だったから CentOS 6 系でインストールされているPythonが2.6系で,Python 2.6系向けにスクリプトを書かなければならないことが稀にあった pyenv local を使うことでディレクトリを変更したと…

PyStanのログ出力を消す

背景 PyStanでMCMCするときには標準出力に有益なログが出力されます。 たとえば,サンプリングの途中経過が出力されます。 Iteration: 800 / 2000 [ 40%] (Warmup) Iteration: 800 / 2000 [ 40%] (Warmup) Iteration: 600 / 2000 [ 30%] (Warmup) Iteration:…

log(1-exp(x)) を安定に計算する

「ベルヌーイ分布のパラメータ x が与えられたときに,裏が出る確率 1-x を計算したい」「1-x ではなく log(1-x) がほしい」「x ではなく log x が与えられている」という状況で,タイトルのように log(1-exp(x)) を計算したい状況になりました。機械学習で…

Osaka.Stan #5 で LT してきた

『StanとRでベイズ統計モデリング』読書会(Osaka.Stan#5) : ATND speakerdeck.com これ↓についてLTで発表してきました。 kujira16.hateblo.jp 社会心理学や教育学が専門の人が多いコミュニティなのでIT系勉強会とは違った趣があっていいですね。

順列の簡潔データ構造

助教の先生と @yurahuna で簡潔データ構造の輪講をやっています。今週は順列のところを担当したのですが,とてもトリッキーで楽しいデータ構造だと思ったので一部を公開しておきます。これまでの章の内容(定数時間の rank, succ, pred を実現する Bitvector…

報酬が分散未知の正規分布に従うときのThompson Sampling

前回 kujira16.hateblo.jp 問題設定 行ったのはHondaらのAISTATS 2014の論文 [1] の中の実験の追試で,報酬が , の正規分布に従うアームと , の正規分布に従うアームがそれぞれ1本ずつあるという設定の多腕バンディット問題です。 原理 最初にパラメータ を …

報酬がベルヌーイ分布に従うときのThompson Sampling

報酬がベルヌーイ分布に従うときのThompson Samplingの追試をだいぶ前にやったのですが,あまり受けが良くなかったのでブログで供養をしていきます。 問題設定 Thompson Samplingは多腕バンディット問題に対する方策の1つです。多腕バンディット問題について…

StanでAizu Online Judgeの難易度・習熟度を推定したい(3:IRTモデルによる習熟度推定)

シリーズ一覧 kujira16.hateblo.jp kujira16.hateblo.jp はじめに 前回までの記事を公開したところ,Twitterで「問題に取り組んだときの正答確率の部分を項目応答理論でモデリングしないのはなぜか」というコメントをいただきました。 …すいません,項目応答…

StanでAizu Online Judgeの難易度・習熟度を推定したい(2:人工データによる実験)

シリーズ一覧 kujira16.hateblo.jp kujira16.hateblo.jp 目的 あるユーザがある問題に正答したというデータは得られますが,正答していない問題は,取り組んだけれども実力不足で解けなかったのか,そもそも取り組んでいないのかを区別することができません…

StanでAizu Online Judgeの難易度・習熟度を推定したい(1:モデル式)

シリーズ一覧 kujira16.hateblo.jp kujira16.hateblo.jp はじめに Aizu Online Judge (AOJ) という競技プログラミングの練習サイトがあります。 AIZU ONLINE JUDGE: Programming Challenge 解けるか解けないかくらいのちょうど良い難易度の問題に取り組むこ…

Stanの実行時間がchainごとに違う理由

warm-upよりもsamplingのほうが早く終わるのもよく分からない— しょラー (@shora_kujira16) 2017年4月15日 leapfrog法のステップ数LはPyStanでは fit.get_sampler_params()[i]['n_leapfrog__']) で取れるようです— しょラー (@shora_kujira16) 2017年4月17日

Indeed Machine Learning CodeSprint 2017

www.hackerrank.com 問題 求人の文面が与えられるので,以下のタグを付けるべきかどうかそれぞれのタグについて二値分類してください。 アルバイト フルタイム 時給制 月給制 短大卒対象 大卒対象 修士または博士対象 免許が必要 1年の経験が必要 2〜4年の経…

Go言語で競技プログラミングするときに使ってる入出力

Go

入力について 普通は fmt.Scan で問題ないのですが,高速な入力が要求される問題では fmt.Scan だと遅すぎることがあります。fmt.Scan では 3*106 個の整数の入力に10秒以上かかりました。 高速な入力のためには bufio を使います。bufio を使った方法では 3…

RUPC 2017 Day2 I: Tree-Light

http://judge.u-aizu.ac.jp/onlinejudge/cdescription.jsp?cid=RitsCamp17Day2&pid=I 深さ優先探索をしたときの訪問順序によって頂点を並べると,ある頂点を根とする部分木に含まれる頂点が連続した区間に含まれる性質を使います。以下のページが詳しいです…

AtCoder Regular Contest 038 C:茶碗と豆

C: 茶碗と豆 - AtCoder Regular Contest 038 | AtCoder 100点解法 見るからにNimとかGrundy数っぽい雰囲気を感じるので,ググってみると良質な記事がたくさん見つかります。今回は以下の記事を参考にしました。 pekempey.hatenablog.com 最初に,左からi番目…

NAISTから自転車で行ける本屋の紹介

私がNAISTの寮に引っ越してからもうすぐで1年になります。私は原付や自動車を持っていないので,移動はほとんど自転車頼りです。本記事では同じような状況の人のためにNAISTから自転車で行くことができる本屋を紹介したいと思います。 私は情報科学研究科の…

Androidのディスプレイが壊れて映らなくなったときの処置

東京への遠征中にスマートフォン(ASUS Zenfone 2 Laser)のディスプレイが突然映らなくなってしまいました。「充電を行うとバイブレーションが動く」「カメラを起動してから画面をタッチするとフォーカスを合わせる音がする」といった状況から,ディスプレ…

/usr/bin/xauth: timeout in locking authority file .Xauthority

研究室の計算サーバでX転送を使おうとして ssh -X hoge としてログインしようとすると,なぜかログインに数十秒の時間がかかり,その後 /usr/bin/xauth: timeout in locking authority file .Xauthority というメッセージが表示されました。 最初はパーミッ…

Go言語のデバッガをMacのIntelliJ IDEA CEで使う

IntelliJ IDEAのGo言語プラグインをインストールするとdelveというデバッガもインストールされます デバッガのように他のプログラムにアクセスするプログラムは安全なものではないため,delveを実行する際にパスワードの入力を求められます 証明書を作ってデ…

パワーポイントの発表者ツールを無効にする (PowerPoint 2016 for Mac)

学生・研究者のための 使える!PowerPointスライドデザイン 伝わるプレゼン1つの原理と3つの技術作者: 宮野公樹出版社/メーカー: 化学同人発売日: 2009/04/10メディア: 単行本購入: 31人 クリック: 748回この商品を含むブログ (15件) を見る 研究発表のための…

Preztoのforkを探してみる

zsh

github.com Preztoはzshの設定ファイルの詰め合わせで,よく書かれた便利な設定をプラグイン機構によって手軽に導入することが出来ます。 私は数ヶ月前にzshの設定ファイルを作り直したときにPreztoを導入しました。とても便利です。 kujira16.hateblo.jp 残…

Matplotlib 2.0.0rc1を試す

ダサくなくなったという話を聞いたので,試してみました。 私はpyenv+Anacondaの環境を使っています。せっかくなので分離した環境を作って,そこにインストールすることにしましょう。 # `matplotlib-v2` という名前で新しく環境を作る。 # Pythonのバージョ…

セグメント木をあきらめた人のための平方分割

この記事はCompetitive Programming Advent Calendar 2016(その2)の12月15日の記事です。 www.adventar.org はじめに 基本事項 1点に対する変更クエリ・区間に対する質問クエリ Range Sum Query Range Minimum Query 区間に対する変更クエリ・1点に対する…

Jupyter Notebookの小ネタ (display, tqdm, SSHポート転送)

この記事は jupyter notebook Advent Calendar 2016 の12月13日の記事です。 qiita.com Jupyter Notebookを使う上で,この機能を知らない人を見つけたら教えてあげたくなるような小ネタをいくつか紹介します。 IPython.display.display Jupyter Notebook上で…

ACM-ICPC 2016アジア地区つくば大会 参加記

結果 5完26位でした。 Results and Standings | ACM-ICPC 2016 Asia Tsukuba Regional メンバー @shora_kujira16 @menphim M2の先輩 @odashi_t(コーチ) 会場に行くまで 奈良に新幹線なんてあるわけないじゃん! 移動時間の見積もりで,1時間に2本のバスに…

末尾がトップレベルドメインになっている英単語を探してみた

del.icio.us や honokak.osaka のように接尾辞がトップレベルドメインになっている単語のドメインを買いたくなったので探してみました。 英単語のリストは以下のページから拝借 www.eigo-duke.com トップレベルドメインのリストはWikipediaから トップレベル…

リクルートホールディングスのサマーインターンシップ 2016に参加しました

r.recruit-jinji.jp 9月1日(木)~ 9月16日(金)の期間でデータアナリストコースに参加していました 私のスキルセットならエンジニアコースでは?と思う方もいらっしゃるかもしれませんが,学部の卒業研究では情報検索に取り組んでいましたし,リクルート…

サイボウズのエンジニアサマーインターン 2016に参加しました

blog.cybozu.io 8月22日(月) 〜 26日(金) の回に参加していました。 私が参加したのはWebアプリケーション開発コースで,kintoneに新機能のプロトタイプを実装するというのが課題でした。 1日目 初日から台風に見舞われました… 私が出勤した頃には雨はそれほ…