niszetの日記

細かい情報を載せていくブログ

R関係

近況

ようやく積読.Rを消化中。現在はアートオブRプログラミングの第2章。

www.oreilly.co.jp

Rが全く分からなかった去年秋頃は、

www.oreilly.co.jp

を読んで入門しました。おそらくこれがとっかかりとしては良いのではないかと思います。統計的なこととR的なことはちょっと別でやりたいですよね。

その後Rを使って統計を勉強するなら、

shop.ohmsha.co.jp

と、

www.tkd-pbl.com

がおすすめです。前者はとっつきやすい。後者は教科書的で、かなり最近の事情も反映しているしわかりやすいと思う。 今はコレで勉強中です。3章まで終わった。分散分析が自分的には鬼門。。。ていうか、一般的に難しい方の内容なのかもしれないけど。

奥村先生の、Rで楽しむ統計もおすすめ。普通の統計の教科書とかRの本には載っていないような内容ばっかりでとても楽しいしためになる。

www.kyoritsu-pub.co.jp

ほかにもStanやらベイズやらモデリングやらでも大量に持っているんだった。一旦終了。

上記はアートオブ以外は全部読んだな。 ちゃんと読んだ上で手を動かして身につけないと意味がないですけどね…

技術書典の戦利品シリーズ(2)

まだ読んでる。

技術書典2、沢山買ったものの全然読み進められておりませぬ。徐々に読んでいく予定。このままだと読み終わるのは来年になるんじゃないか。

Linux USER Maniax

書名、これでよいか自信がないです。間違ってたらすみません。

小江戸らぐさんの冊子。比較的ハード寄りというか、Linuxそれほど書かれてないっていうか。 微妙にページが飛んでいたり、ごにょごにょしたものはあれど、結構楽しめました。Arduino推しが多いですね。raspは組み込みやさんには不評なのかー。ふむふむ。 ラズパイ安定化の話とか、電波時計を合わせる装置をつくって無線設備検査を受けてくる話とか、色々と載っていて面白い。無線関係は電波法があるからなぁ。

ハードもソフトもいじれると面白そうです。何か作ってみるかなぁ…

草間彌生展 わが永遠の魂 に行ってきました。

久々のお出かけ

土日はほとんど寝ている気がするので久々のお出かけです。と思ったけど先週技術書典行ってるじゃないか。久々の美術館ですね。

こちらに行ってまいりました。 kusama2017.jp

草間彌生さん

知っている人は知っている、知らない人は全然知らないみたいですね。水玉が印象的な前衛画家さんです。 もう88歳なのですね…。

混み具合

15時くらいに行きましたが、チケット結構並びます。30分程度。結構混んでいますが、入場制限等は特にありませんでした。いい感じの混み具合では。

内容

いやー圧巻でした。左右46枚、正面30枚、後ろを振りかえって10枚。わが永遠の魂シリーズを大広間で見るのは是非一度体験してほしいですね。 絵の内容については自分は特に何も言えない…美術はダメダメなのです。 やはり本物は違うなぁと思いながら、以下のことを考えていました。

  • 4辺縁から内側に向かってヒダ状のものが中心に向かっていく構図。4辺以外も多々あり
  • それ以外の、辺から内側に伸びるパタンではないもの。

  • 中央部に四角状のパタンがあるもの。

  • このうち、半数程度は左側が下がっている(右上がり)の形。あとはおおむね水平。右側が下がっているものはなかった気がする
  • 顔パタンにおかっぱな子が何か所か。草間さんもおかっぱ的髪型だから好きな髪型なのかしら
  • 配置はインデックスとは別に、おそらくテーマか似た雰囲気のものを集めている気がする。
  • 同じようなタイトルの絵がある。タイトルと合わせて見るとなんかわかった気がする。わからないけど。

  • 途中、点やメッシュを見ていたら「疎密」という単語が頭をよぎり、以降は「ダミー生成パタンは現代の芸術作品」とかいう言葉が頭を巡ってしまってよくなかった。反省である。

  • ただ、点列が完全に均一でもないのに見ていて変な感じがしないのはすごいことだと思う。そして描く●が綺麗。この辺り、並の人間が真似したら火傷するんだろうな、と思いました。

  • 幼少期の絵は結構暗いものが多く、NY渡米時はぶっ飛んだものが多く、かぼちゃは可愛かった。

  • わが永遠の~はキャンバスに一度前面に塗るらしい。その上で場合によってはさらに塗るケースもあるらしい。何点かそのパタンで描かれた絵を見ました。目とか、縁側を塗ってるのよ。綺麗にかけるなぁ…すごい。

  • 色遣いが良いです。絶妙なんだろうな、あれは。

  • 近くで見ると、点列の並びや絵の具の流れ、重なり具合、光の加減で陰影がつくのが楽しめるし、遠くから見ればそれぞれの絵の中の配置、全体の配置、空間など色々と見えて面白いです。よくわからないけどね。そうなっていることは気づくことが出来る。遠くで見ると疎密で波が見えるし、しかしそういう見方をしている人はいなかった気がするのでそうではないのかもしれない。単なるデバッグ脳か。

とまぁ、すごいのです。見に行くべきなのです。5月22日まで、火曜日は休館です。気を付けるのです。

まとめ

やはりエンジニアたるもの、たまには芸術を楽しむべきなのです。 次はミュシャ展に行こうと思います。GW明けになるのかな。

自作パーサを作る(つくった)お話

昔話。

異動前の部署ではなんかやたら忙しくって、去年は色々と試行錯誤していました。
新規に書くネタがないからではないですが、ちょっと昔の話を書いていこうかと。

チェッカを作る。

当時・・・と言っても今もだけど、いろいろなものが目視チェックに頼る仕組みとなっていました。まぁエンジニアの目は結構信用できるものです。人に依りますし、体調や気分にも影響を受ける。数をこなせば疲労がたまって集中が解けてミスも起こる。良くないことです。

そこで、自分でルールをまとめてチェッカを作れば良いのではないかと。そう思ったのです。それ以前も同様にやってきましたしね。
さらに、どうせやるならば新しいことをしよう。単なるperl1行野郎は卒業するぜ!と意気込んで、python+antlr4に行きついたのでした。

なお、本文中では構文解析、字句解析を区別せずにパーサと呼んでいます。本当は区別するべきところですが、語れるほど詳しくないので興味のある方は調べてみてくださいということで。

python3を使いたかった。

当時、python3を使い始めた私は適当に理由をつけてこれを使いたかった。別にrubyでも良かったのだが。

Pythonで扱えるパーサは例えばここで知ることが出来た。

qiita.com

開発が継続しているか?とか、機能が十分か?という点も気になったのですが、第一に「ルールファイルとプログラムを分けて書けることが出来る」という点に惹かれてAntlr4を選択したのです。

パーサって何。

当然何も知らないので、そもそも構文解析って何よってところから調べました。 その時は以下3冊を読みましたね。無道編はあまり読んでないのだけど。ふつコンは後半以降は読んでないです。コンパイラを作るわけではなかったのでね。

  • ふつうのコンパイラをつくろう 言語処理系をつくりながら学ぶコンパイルと実行環境の仕組み
  • Rubyを256倍使うための本 無道編
  • The Definitive ANTLR 4 Reference

Antlr4については、

github.com

で結構見れるのですが、行間がやはりわからない。なので、やはり書籍で通して学ぶのは大事だなと思った次第です(まぁ全部は読めてないのですが)

書籍の内容をpython3で動かせるリポジトリはこちらにあるので参考になりました。 github.com

https://github.com/antlr/grammars-v4

やってみた。

ざっくり言ってしまえば「正規表現のようなものを積み上げていったもの」なので、文法がちゃんと決まっているもの、BN記法が公開されているものはその通り文法ファイル書けば大体動きました。が、先頭が0で始まってはいけない整数と0を許す整数などがうまく作り分けられず、結局は処理側で何とかしてしまいました。 この辺りはAntlrの仕様の理解が甘いのと、そもそもの構文解析に対しての理解が甘いからなのです。

とはいえ、自分の書いた文法ファイルでちゃんとパースされる様を見るのは楽しいです。本来の目的を忘れていますが。

文脈自由文法…白と黒のとびらを読んだのに細かいことは忘れました。

バッカス・ナウア記法 - Wikipedia

結果

上にも書いた通り、文法がはっきりしているものは良いのです。書けばよいので。 何かの「ログ」とかは文法はもとより、「今まで遭遇していないパタン」が来ると全然太刀打ちできません。

結局、ログは今まで通りperl/pythonで解析、文法がはっきりしていたものはパーサとして作りましたが、決め打ちで作ったperlの方が圧倒的に早かったので結局使っていないのでしたとさ。

いずれ…

Antlr4はverilogはパーサがあります。しかしSystemVerilogはないのです。verilogも特殊なものは入ってない。 なので、作ったら取り込んでもらえるかもしれません。svの仕様は一応全部公開されていたはずで…

github.com

技術書典の戦利品シリーズ

通勤時間を利用しての戦利品堪能

技術書だから、電車内で読んでも問題ないです。やったね! なお、一部の表紙。

Machine Learning in Business

去年から機械学習関係で情報発信している方をツイッタでフォローして最新の情報を追っていたのですが、その中の一人のicoxfog417さんの技術書典にて2冊のうちの1冊。 機械学習そのものではなくて、その先、導入とか運用とかをどうするの?っていう点について書かれています。 本文中にも書かれていましたが、機械学習だからといって特別なことはなく、割と基本に忠実に運用するようにしなくてはならないのですね。 今のところ機械学習の導入予定はないんだけど、将来に向けてよく覚えておかねば… あとがきの、「言語による情報の格差は加速度的に大きくなっています」のくだりは本当にそう思うのです。論文も基本的に英語だしね。

もう一冊のSignalは明日…日付変わって今日か。読んでいきます。実践もね。 日付変わってしもた……

技術書典に行ってきました。

技術書典2 in アキバスクエア

ぜんたい

今日はあいにくの天気ではありましたが、大盛況の技術書典に行ってまいりました。 ツイッタで見た範囲で、3000人超の入場者だそうです。ご飯食べて返ってきた人もいるかもだけど、このテーマでこの人数はやはりすごいですよね。秋葉原だからこその集客なのかしら。 開場すぐに行こうと思ったら既に長蛇の列で、ちょっと捌けたら行きますか~と思っていたら列が伸びていたので観念して並ぶことにしましたが、並んだのは30分くらいかなぁ? スタッフの方々が手馴れていて、雨は結構降っていたものの、大きな混乱もなく平和に終わったことと思います。スタッフの方々、本当にお疲れ様でした。

買ったもの

たくさん…(汗 しかし、帰ってから買ってないものや、ツイッタを見て気になったもの、など、色々とやり残し感があるのでした。 次は超会議らしいですが、そっちはいかないので、来年の技術書典3を楽しみに待ちますか。今のうちからチェックしておこ・・・

買ったもの、読んだものは追って記事を書こうと思います。

思ったこと

アナログ系は少ないですね~。無理もないですが。そもそもハード系よりはソフトの方が多い。 ハード寄りの人こそこういうお祭りに参加してほしいな。お客さんに、結構歳いった方がいて、あぁこれはエンジニアですわ…と思ったものです(確認はしていない)

やはりとっつきやすそうなところは盛況になりますね。あとタイトルとか、表紙とか、装丁とか。色々と参考になります。 いずれは出す側で参加したいな~。仕事と直接関係ないことなら良いよね・・・

お勉強

Rで学ぶ統計学入門

ようやく1周目読了。後半は駆け足だったけども…。t検定以降は2周目として手を動かしてみます。

比較的易しい内容に留めつつも、分散分析やベイズ統計まで触れていて、Rのスクリプトで手を動かしてみることが出来、最近の情報を取り込んでいる(この方法はすでに古い、など書かれている)、など、まだまだ初学者を脱せない私にはとてもありがたい1冊です。しばらくはこの本で勉強していると思います。

パーフェクトR

こちらも時系列分析の章だけ一読。 Rは関数の存在を知るのが難しい気がするので、かなり広範囲にわたって解説されているこの本はとてもありがたいのです。まだ全然読めてませんけど…。

Deepではない

Deep Leaning界隈は毎週毎週情報が沢山出てきますね。追いかけていくだけでも厳しい。 なので、TOPICのみを追うことにして、基本となる機械学習の考え方や数学を主に身につけることとしました。SVMくらいまではわかるように(大変)

CppSim + Python

そういえば、CppSimはPythonのI/Fを持っていたはず。しかし日本語で検索するとヒットしない。LTSpice+Pythonも。このあたりが狙い目かな。

トランジスタ技術3月号付録 アナログウェア No.1

トラ技

仕事の内容的に、CQ出版様には1読者として非常にお世話になっている。
そんなCQ出版の代表的な雑誌がトランジスタ技術、通称トラ技、ですが、3月号の付録が非常に自分的には良かったのでメモ。

内容

タイトルが高速通信時代!水晶振動子の選び方と使い方という、XTAL Oscillatorについてでした。
回路設計ってなんでもそうなんだけど、「数値上とれる解の範囲の中で、何を優先するべきなのか?数値上出てこないような効果・副作用はないか?」がある程度経験を積まないとわからないんですよね。前の設計があればそれを参考にするんですが、新規に作成する際や、以前がへっぽい設計の場合などは全部サラから考える必要があります。

この付録、70ページほどの冊子に詰められるだけノウハウを詰めてくれた感じに思えます。疑問に思っていたことがかなり消化できました。
負荷容量の値の選び方、ダンピング抵抗を入れる意味などなど。

冊子…

コレ、単行本化してくれないかなーって思うんですが、内容がかなりマニアックすぎて難しいんでしょうか…
続巻?のNo.2は6月号の付録になるようですね。特集は「ギガビット高速シリアル伝送用コネクタの選び方と使い方」。なんという人を選ぶ内容でしょう…私的には非常にOKなのですが。

トラ技Specialに焼き直していただいても良いのですよ~
って感想送ってみますかね…