読者です 読者をやめる 読者になる 読者になる

Λάδι Βιώσας

http://profile.hatena.ne.jp/kenkitii/

快適仕事場の構築

今年3月末にやんごとなき事情で自宅に戻り、倉庫状態になっていた実家の調剤室をとりあえず仕事場にしたわけですが(過去記事)「モニタが少なすぎる、、、もっとモニタを!!」(前も書いたような)と思い、ちまちまとモニタ増設した記録です。

用意したもの

スガツネ工業 配線孔キャップPC2000Z 180EN028

スガツネ工業 配線孔キャップPC2000Z 180EN028

机が壁に直付してあるので、配線を机下へ通す穴を作るための配線孔キャップと、DELLの縦置き可能なモニタ3枚を購入しました。

配線孔の作業中

f:id:kenkitii:20151021175730j:plain:medium:left この←取り付け加工図のとおりの大きさで印刷したいのだけど、エクセルでミリ単位の印刷調整は難しいし。。。と3分考え、結局 C# で矩形を書いて印刷、が一番楽という結論に。以下コード↓

印刷した紙を繰り抜いててきとーにマーキングして電動ドリルでゴリゴリ・・・↓ f:id:kenkitii:20151008163902j:plain:w300

設置完了!(孔左側のテーブル板が余計に剥がれたけど)完璧です! f:id:kenkitii:20151010201600j:plain:w300

モニタの設置

f:id:kenkitii:20151016163515j:plain:w300:left ←買ったモニタたち(この他にもう1枚)

設置後

f:id:kenkitii:20151020190959j:plain サンコーのモニタアームなどを使えない設置場所なので、ピボット出来るモニタで揃えました。この構成だとテーブルさえあればマルチモニタ環境構築できるのでオススメです!しかし、この6枚の上に追加で横置き2枚おきたいなーうーんどうしたら良いものか。

Python pandas とか Jupyter とか入れた備忘録

最近は数年ぶりに C# を書いていて、今までエクセル + VBA で処理していた事は全て C#アプリ で痴漢置換し、その他アプリをごりごりと作っています。で、そんな前置きでなんなんですが、C# とはなんの関係もない Python のお話です。

ひと昔前、統計解析データ処理に使う言語というと、まず R 言語が思い浮かびました。さらに時系列データ(データフレーム)の処理をしようとすると、ほぼ R 一択かな〜と考え、シコシコ勉強するも独特の言語仕様の R はとても使いづらい。せめて普段使ってる ruby からなんとか使えないものかと、rsruby やら rinruby など試行錯誤してい(長いから以下略。)と、わたくしの稚拙で冗長な文よりも、時代の移り変わりをとても解りやすく書かれた英文の翻訳をされている方がいたので、以下に紹介してみます。

科学計算における均質化、あるいはなぜPythonが着実に他言語のシェアを奪っているか | once upon a time,跡地

一言で言うと、昔、自分が R でやりたかったことは今やほぼ Python で出来ちゃうよね!て感じです。そんなわけで以下に構築した環境のインストール備忘録、ちなみに OSX Yosemite + Python 2.7.10 です。

Python pandas, numpy

Xcode 諸々のツールが入っていない場合、App Store から入れたり、xcode-select --install したりして下さい。

インストール

sudo pip install numpy pandas matplotlib cffi lxml html5lib BeautifulSoup4

BeautifulSoup を使わない人は、numpy, pandas, matplotlib だけで充分と思います。ちなみに pip install lxml しようとすると gcc が無いよとか色々言われましたが、cffi を入れれば OK でした。ここまでで R と同じように Python でデータ分析が出来る状態になりました。

Jupyter

Pythonruby に慣れている方は ipython や irb などのインタラクティブ(対話型)シェルに馴染んでいると思いますが、それの全言語のブラウザ版が Jupyter です。「別にブラウザでやりたくないし必要もないし〜」というツンデレな方も大勢いるでしょうが、自分の思う利点はおおよそ下記の通り。

  • 環境を問わずに EmacsVim キーバインドを使える

  • 画像をインライン表示できる

  • 履歴を保存してコピペが楽

インストール

sudo pip install ipython pyzmq jinja2 tornado jupyter

使い方

jupyter notebook

するとブラウザが起動し下のような画面↓になるので、赤い囲みをクリック。 f:id:kenkitii:20151001003440p:plain

普段 ipython を使っているようにもりもりとコードを書きましょう。超便利! f:id:kenkitii:20151001002617p:plain ちなみにグラフのインライン表示をするには、コードの最初の方に

%matplotlib inline

と書いておきましょう。(参考)

Macbook Pro のバッテリー交換

長年使っている Macbook Pro 13 (Early 2011) ですが、つい先日、脇に置いたペットボトルを倒したまんま放置して、水浸しにしてしまいました。そのせいかわからんけどそれ以来、バッテリーが充電できなくなり AppleStore に持ち込むのも面倒くさいし、おニューのバッテリーに交換すべくコレ↓買いました。

作業中の写真

f:id:kenkitii:20150928153950j:plain 箱からバッテリー&付属品だしたところ↑。Macbook のネジは特殊なので、専用ドライバーが付いてるのはとてもありがたいです。 f:id:kenkitii:20150928211005p:plain 背面カバー外したところ↑。微妙に凹んでいるのは、2011年震災時にちょっと言えないとある理由で大損し(←株)、買ったばかりの MBP に ウオォォ(#`Д´)ノノ┻┻;:'、・゙と八つ当たりし背面カバーに正拳突きをした跡(←①)です。そしたら、②の部分がなぜか出っ張りました(写真ではわかりにくいですが)。うーん・・・よく4年間壊れなかったなぁ。 f:id:kenkitii:20150928212949p:plain ネジ2個を外すとあっさりバッテリーが外れます↑。電源コネクタは上向きに引っ張ります。 f:id:kenkitii:20150928154937j:plain 無事にバッテリー換装できました↑。 f:id:kenkitii:20150928155402j:plain 所要時間 20 分↑。バッテリーがへたってる人にオススメです。

おまけ

f:id:kenkitii:20151001152429j:plain ダイアリに写真のっけてて、バッテリー保護シートを剥がし忘れに気がつき、またふた開けて剥がしました。

お仕事の話2

遊んでいると思われないように日々の雑用に追われている文字通りの雑多な日常を綴ってみる。

f:id:kenkitii:20150701132335j:plain:w300:left

お店の営業許可証が7月末に切れるので、最寄りにある天下の保健所様へとやって参りました。

f:id:kenkitii:20150619111217j:plain:w300:left

二店舗分の書類かいてー、それぞれ立入検査してもらってー

f:id:kenkitii:20150803140712p:plain:w300:left

7月中旬、無事免許交付。役員会議を開催し*1諸事情により一店舗は無期限休業中にしたため、お店の商品を従業員総出*2で引越運搬しました。

f:id:kenkitii:20150726112006j:plain:w300:left

配達先にいたニャンコが猛暑のためくたばっている様子

f:id:kenkitii:20150802105759j:plain:w300:left

恒例のお仕事の研修会

*1:注:親と二人

*2:注:自分一人

続きを読む

高校野球のトーナメント戦とランキング

ruby neta

8月3日に高校野球のトーナメント表が発表されました。私の所属している某グループでは毎年、各試合ごとの勝敗から点数の合計点を競うという予想ゲームをやっております。詳細なルールはコレ↓

出場49校に重複しない1〜49の点数をつけ、試合毎に勝った高校の点数を累積し全48試合の合計点を競い合う。

さて、この予想ゲームをするため高校野球ランキングを調べるとこちらのサイト↓ www.osyaburi.mydns.jp で確認できます。しかし、トーナメント戦では総当たりのリーグ戦と違い、実力通りの順位になるとは限らないという問題があります。

そんなわけで、出場高校のおおよその実力ランキングはわかっているが、この表→(夏の甲子園2015 組み合わせ 第97回全国高校野球選手権大会)のトーナメント戦で戦った場合に各高校が何回勝てるか、を計算するスクリプトを書いてみました。(注:優勝高校の予想ではありません)

スクリプト

以下のスクリプトでは、上記ランキングサイトの数値で重み付けして各試合の勝敗をランダムに判定し、トーナメントを10万回繰り返した結果の高校毎の勝利数を集計しています。なんちゃってモンテカルロ法って感じでしょうか。そんな感じで、スクリプトを実行するともっとも勝ち数の多い順に県名をソートして出力します。

続きを読む

ディープラーニングについて

tech book

あちこちで話題になりすぎて既にバズワードとなっているディープラーニング(深層学習)。今までの機械学習と何が違うのか知りたくて上記の本を読みつつあれこれ調べたのでざっくり所見をまとめてみます。

結論から言うと、ディープラーニングは「自動で特徴抽出をしてくれる」ということに尽きます。

今までの人工知能(っぽいもの)は、人間が対象とするデータから特徴を抜き出し、その特徴量を元にモデルを作成するという方法でした。つまり人間の行う特徴抽出作業の出来不出来によって、人工知能の性能が決まっていたわけです。

一方のディープラーニング、自動で特徴抽出(ニューラルネット)する技術は昔からありましたが、クラウドコンピューティングの進化により、膨大なマシンリソースを使ってひたすら何億千万回(←適当)も機械学習させたら、人間様のチューニングしたモデル性能を超えちゃったんだけど!という感じです。

以下に、ディープラーニングで使われているアルゴリズムを備忘録がてらざっくり載せておきます。

アルゴリズムに関しては、rishida さんのブログが大変詳しくてわかりやすいです(←私にはわかりませんけど)rishida.hatenablog.com
単純なわかりやすいニューラルネットの説明は、わたくしの昔の日記↓でも取り上げたことがあるので、興味のある方はこちらもどうぞ。

kenkiti.hatenadiary.jp

さて、、、難しい話は置いておいて、ディープラーニングで遊んでみるか否かの判断ですが、どのアルゴリズムを用いるのか、学習を何回繰り返せばよいのか、設定するパラメータをどうするか、などなどを決めて、べらぼうなマシンリソースを用いて検証する必要があり、一般人にはとても無理ぽだと思いました。ディープラーニングがあれば何でも出来る的な話は、夢のまた夢。そんなわけで、深層学習を体験したい人は GoogleDQN 先生に作って頂いたモデルでチマチマ遊ぶのが無難かな〜と思っている次第であります。

お仕事の話

今回のブログはお仕事のお話を。なんで今回に限ってお仕事の話かというと、最近、LINE で甥っ子の勉強を見てあげているのですが、今仕事で外にいるので LINE できません的な返答をすると、えっケンキチおじさん仕事してるんだ!といわんばかりに驚かれたからです。

思えば中学生の頃、頑張って勉強していた私はそれなりに学業成績がよかったのですが、当時の友人に「お前くらい手を抜いてお前くらいの成績を維持したいんだけどどうやって勉強してんの?」と聞かれ「いや手抜きせずに、全力で勉強してるんだけど・・・」と言うと「嘘つくな!」といつも言われていたのだった。

学生時代、勉強しているにも関わらずしてないふりする人はごまんといたわけだが、私なんてめっちゃ正直に、目一杯頑張ってそこそこの成績になりましたと自己申告しているにもかかわらず、全然勉強していないくせに、とか、頑張ってないくせに、と言われるのは一体どういうことなのだ!

・・・さて、前置きが長くなりましたが、そんなわけでそのような疑いをかけられぬよう、お仕事関係の生涯学習研修会に行ってきた様子をブログで報告し、全力で仕事してますアピールをしたいと思います。
f:id:kenkitii:20150614112552j:plain
研修会のお題は、みんなの大好きなオシッコの話でした。
f:id:kenkitii:20150614201706j:plain

以上報告終わり。