タグ

ブックマーク / nishiohirokazu.hatenadiary.org (5)

  • 未踏IoT開発合宿 #1に参加しました - 西尾泰和のはてなダイアリー

    未踏社団が昨年開催した未踏開発合宿#0が好評だったので、IoT研究会の上田真史さんにご尽力頂いて、IoTにテーマを絞った合宿を行いました。 今回、僕は上田さんの講義を聞きつつ、センサと液晶をI2Cバスにつないで、センサから読んだデータを液晶に書くというのをやりました。おかげで今までよくわかっていなかったI2Cについてかなり理解が深まりました。そこで半年後の自分が復習しやすいようにスライドにまとめておきました。 I2CでRaspberry Piから�複数の周辺機器を制御する from Hirokazu Nishio 合宿には、未踏社団の法人会員でもあるさくらインターネット様から「さくらのIoT」のα版を無償提供いたきました。また個人会員である青木俊介さんのご協力でkonashiの提供を頂きました。この合宿については未踏研究会#3でも報告される予定です。 未踏社団に開発合宿のノウハウが蓄積さ

    未踏IoT開発合宿 #1に参加しました - 西尾泰和のはてなダイアリー
  • TensorFlow Playgroundはニューラルネットを理解するのにおススメ - 西尾泰和のはてなダイアリー

    ネットワークの重みや各ニューロンがどういう入力の時に発火するのかが、学習していく過程で各時刻可視化されてとても良い教材です。 http://playground.tensorflow.org/ うずまきのデータセットに関して「中間層が1層しかないとうずまき(線形非分離な問題)は解けない」という誤解があるようなので、まずは1層でできるという絵を紹介。なお僕のタイムライン上では id:a2c が僕より先に気付いていたことを名誉のために言及しておきます。 で、じゃあよく言われる「線形非分離な問題が解けない」ってのはどういうことか。それはこんな問題設定。入力に適当な係数を掛けて足し合わせただけでは適切な境界を作ることができません。 こういうケースでは中間層を追加すると、中間層が入力の非線形な組み合わせを担当してくれるおかげで解けなかった問題が解けるようになります。 1つ目のデータセットでは特徴量の

    TensorFlow Playgroundはニューラルネットを理解するのにおススメ - 西尾泰和のはてなダイアリー
    fm315
    fm315 2016/04/14
  • 「エンジニアの学び方」を執筆しました。 - 西尾泰和のはてなダイアリー

    4月24日発売のWEB+DB PRESS Vol.80に、特別企画として「エンジニアの学び方」という記事を書きました。 Vol.80自体は4月発売ということもあって「新人さん大歓迎!」と銘打っています。「エンジニアの学び方」もこの4月に就職・進学をした人を想定読者にしています。ですが、きっとその他の人にも役に立つ内容だと思います。 この記事を書くきっかけとなったのは、ベストセラーにもなった拙著「コーディングを支える技術」のコラムです。余白があるからコラムを書けと言われて、学び方についてのいくつかのコラムを書きました。 p.23「理解を確認するためにはまずアウトプット」 p.26「何を学べばよいかがわからない理由」 p.79「具体的な知識と抽象的な知識」 p.80「噛み砕く」 p.82「必要なところからかじる」 p.134「おおまかにつかんで徐々に詳細化する」 p.235「端から順番に写経す

    「エンジニアの学び方」を執筆しました。 - 西尾泰和のはてなダイアリー
  • LISPを学ぶサイトを作った - 西尾泰和のはてなダイアリー

    作りたいもの: プログラミング言語のコア概念を学ぶサイト、その2の続編。 ブラウザの上で対話的にLISPのコードを実行できるサイトを作りました。 http://nhiro.org/learn_language/LISP-on-browser.html 現状ではまだ説明が足りないから、LISPをまだまったく知らない人がこのサイトを見て理解できるようになるかというと、そうではない。 TODO サンプルコードを1歩ずつ学べる粒度で用意する ツリーのリアルタイム可視化のコードとくっつける see 構文木を可視化するサイトを作った コードリーディングのための解説を書く 関連記事 ブラウザ上で演算子の優先順位と結合性を学ぶ

    LISPを学ぶサイトを作った - 西尾泰和のはてなダイアリー
    fm315
    fm315 2012/07/08
  • クイックソート - 西尾泰和のはてなダイアリー

    リハビリ第2弾(ref. スランプ脱出法, フィボナッチ数列) from random import shuffle data = range(100) shuffle(data) # recursion def qsort(data): if not data: return data pivot = data[0] rest = data[1:] greater = [x for x in rest if x > pivot] lesser = [x for x in rest if x <= pivot] return qsort(lesser) + [pivot] + qsort(greater) print qsort(data) ループ版難しい。これじゃ1回しかpivotで振り分けてないしな… # loop def qsort_loop(data): """ ... pivot

  • 1