タグ

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

  • TensorFlow Playgroundはニューラルネットを理解するのにおススメ - 西尾泰和のはてなダイアリー

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

    TensorFlow Playgroundはニューラルネットを理解するのにおススメ - 西尾泰和のはてなダイアリー
  • Facebookに書き続けることは損失なのではと思い始めた - 西尾泰和のはてなダイアリー

    ブログの更新頻度が落ちてるのは、Facebookに書いた方が有益なフィードバックの頻度が高くて、ついついそっちに書いてしまうから。 そうやってFacebookにばかり書いていると「あれ、この前Facebookに認知心理学が生まれてきた流れについて書いたと思うんだが、あれどこだったかな、参考にしたいのだが…」なんてことが起こるようになってきた。以前であれば、だいたいそういうのは自分のブログに書いているので、Googleに行って「西尾泰和 認知心理学」とかで検索すればすぐ見つかった。しかしFacebookに書いたものはそういうわけにはいかない。 で、発掘するのにすごく時間がかかったり、発掘できなくてあきらめてしまったりする。これってものすごい損失なのではないか?クロールして手元に保存して検索できるようにする必要があるのではないか? そしてそのクロールもまた手軽ではない。エクスポートの機能はある

    Facebookに書き続けることは損失なのではと思い始めた - 西尾泰和のはてなダイアリー
  • 妻に公開鍵暗号を教えてみた - 西尾泰和のはてなダイアリー

    何気なく放送大学をつけていたら公開鍵暗号の話をしていた。 「この話、何度聞いてもわかんないのよね」 僕「え、どこがわからない?どこまではわかってる?」 「平文はわかるけど、鍵を共有するとか秘密にするとか、署名するとかがよくわからない」 僕「あー、鍵に例えているのが逆効果なのか」 「鍵」をNGワードに指定 僕「じゃあ『鍵』という言葉を使わずに説明してみよう。暗号って『平文を暗号文に変換する方法』で伝えたい文章を暗号文に変えて送り、受け取った人はそれに『暗号文を平文に戻す方法』を使って元の文章を得るわけだ。その目的は、途中の通信文が敵に取られたりしても通信の内容がバレないようにするため。」 「うん」 僕「昔の暗号化の方法は、片方の方法がわかるともう片方の方法も分かった。例えば『アルファベットを後ろに1個ずつずらすと平文に戻せます』って教えてもらったら、『なるほど、前に1個ずつずらせば暗号

    妻に公開鍵暗号を教えてみた - 西尾泰和のはてなダイアリー
  • 量子将棋が面白い - 西尾泰和のはてなダイアリー

    量子将棋というゲームが遊べるようになったということで、さっそくプレイしてみた。ルールは簡単に言うと、すべての駒は量子的な重ね合わせの状態にあり、どう動かしたかによって駒の状態が収束する。王将に収束した駒を取れば勝ち。(追記: ルールの解説書きました: 量子将棋 Q&A) 2勝2敗で結構面白かったので流れ去ってアクセスできなくなる前に感想をメモ。 1回目(勝ち) 棋譜: http://shogitter.com/kifu/884 僕の戦略 駒の種別が確定すれば取れる選択肢が減る。ということは必要がない限り駒は動かないほうが良い。動かさなければいけないのであれば歩の振りをするのが一番可能性が狭まらない。 王将に確定した駒を取れば勝ちなのであれば、相手の「王将かもしれない駒」をどんどん取って行って可能性を狭めるべき。 感想 駒の上にマウスポインタを置くと可能性のある駒の種類が出てくる 飛車を取る

    量子将棋が面白い - 西尾泰和のはてなダイアリー
  • プログラミング学習手段としての写経について - 西尾泰和のはてなダイアリー

    あるブログが「写経には効果がない」という趣旨のことを書いていて「何を言ってるんだ?」と思いじっくり読んでみたら、彼の言う写経は「動くとわかってる10000行のコードを何も思考せず作業として書き写すこと」を指しているようだった。「そんなわけないじゃん」と笑ってから「もしかして世の中は写経をそういう捉えてるのか?」と不安になった。 写経は自分の中にモデルを作るための行動で、他のもっと効率のよい方法と比べた場合の利点は「自分の中にモデルがなくても使える」点に尽きる。全く知識ゼロでいきなり「自分で考えて書く」ができる人はいない。考えるための材料となる知識をまず脳内に運び込む、それが写経だ。 写経の過程で大事なことは以下の3つだ。 1: 早く学びが得られるように、なるべく小さいコードで実験し、すぐに結果を確認する。 2: 疑問に思ったこと、考えたこと、気づいたことを書き留める。どうしてこういう書き方

    プログラミング学習手段としての写経について - 西尾泰和のはてなダイアリー
    thesecret3
    thesecret3 2013/03/27
    最初から自分で改造を入れちゃうと、後で影響が出た時なんで動かなくなったのかわからなくなるのでは。。
  • Javaでヒープ領域を余らせたままOutOfMemoryErrorを出す方法 - 西尾泰和のはてなダイアリー

    先日、こんな問題を見かけたのだけども、JavaのGCにはあまり詳しくないので答えがわからなかった。 OutOfMemoryErrorが発生しました。(中略)ヒープメモリは足りているようです。原因として何が考えられますか? http://d.hatena.ne.jp/iad_otomamay/20130318/1363596244 なんでだろうなぁと思っていたところid:moriyoshiが「Permanent領域があふれたんじゃないの」と一言。「Permanent領域」で検索してみると、なるほど、そういうことなのかー。 というわけで早速それを再現させるコードを書いてみた。ヒープの大部分ががら空きなのにPermanent領域だけ99%になっているのがわかるかと思う。 Exception in thread "main" [Full GC [Tenured: 515K->515K(56896K

    Javaでヒープ領域を余らせたままOutOfMemoryErrorを出す方法 - 西尾泰和のはてなダイアリー
  • "Did You Know"和訳 - 西尾泰和のはてなダイアリー

    この動画は一見の価値がある。英語にひるんで見ない人がいるともったいないので和訳した。(追記: これはバージョン3.0らしい。) (追記:字幕付きのバージョンがニコニコ動画で公開されました) 知っていましたか? もしあなたが中国で「100万人に1人の逸材」なら… あなたみたいな人が国内に1300人います。 中国はまもなく世界一英語が話されている国になります。 インドの「IQが高い側から25%」は アメリカの全人口より多い。 つまりアメリカに生まれる全ての子供よりインドに生まれる優等生の方が多い。 知っていましたか? 2010年に需要のある仕事上位10位は 2004年にはまだ存在していませんでした。 今私たちは学生を教えています。まだ存在しない仕事に備えて。 まだ発明されていない技術を使って まだ知らない問題を解く仕事に備えて。 米国労働省は今の学生は10〜14の仕事につくと推測しています 3

    "Did You Know"和訳 - 西尾泰和のはてなダイアリー
  • クラスが持つ3つの役割 - 西尾泰和のはてなダイアリー

    某所のチャットで話題になって、流れ去りそうだったのでもったいないから転載しておいた。事後承諾で。 MIYAMOTO Daisuke: 型の継承と実装の継承を区別する方法がないんだよな。 西尾泰和(nishio.hirokazu): 型を継承させずに実装を継承させたい→それ移譲で ってことかな? MIYAMOTO Daisuke: そそ。そもそも、クラスに「型としての役割」と「実装としての役割」という複数の責務があることに、俺は長い間気づかなかった。これに気づかないと、型継承と実装継承が頭の中で整理できない。 西尾泰和(nishio.hirokazu): 僕が最近気づいたことも加えると、クラスには「ユーザ定義型」「インスタンスを作成する道具」「実装の再利用の単位」という3つの役割がある。 MIYAMOTO Daisuke: あぁ、インスタンスの生成器ね。 西尾泰和(nishio.hiroka

    クラスが持つ3つの役割 - 西尾泰和のはてなダイアリー
  • 不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー

    プログラミング言語は人が作ったもの。人は誤るもの。なので完璧なプログラミング言語は存在しない。 「人は誤るもの、しかし誤りに固執するのは馬鹿の所業だ。」(キケロ) プログラミング言語も、間違った設計をして、馬鹿でない人がそれを修正することの繰り返しで発展してきた。 というわけで言語間での設計判断のい違いとか失敗した設計とかを収集中。一部抜粋して講義資料に入れるつもりなので他の事例をご存知でしたらぜひ情報をいただけるとありがたいです。 if(x = 0) C言語では代入が式であるためif(x == 0)のつもりでif(x = 0)と書いてしまい、常に偽になってしまう。 x = 0の値はint、条件式はboolでないといけないので型エラーだよ派: Java x = 0は式ではないので条件式に入れたら構文エラーだよ派: Python 条件式にx = 0をいれたらx == 0と解釈するよ派: H

    不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー
  • そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー

    以前、とあるシステムのソースコードを読む機会があったのだけどあまりにひどかった。あのひどいコードでまあまあまともに動いているというのが逆に信じられない。今日昼ご飯をべながら少し話していたのだけど意外と知られていないようなので、話せる範囲でいかにひどいのか説明してみようと思う。 まず、ソースコードが大雑把に見積もって3750万行あるのだけど、その中でまともに機能しているコードは3%しかない。10分の1程度のソースコードで同程度の機能を実現しているシステムもあるのでほんとあのシステムのコードはゴミだと言っても過言じゃない(*1) プログラマとしてはなんでそのプロジェクトはそんな状態になってしまったのか気になるところだけども、まあ多くのプロジェクト同様、真相を知る人は誰もいない。でもまあ、実際に機能しているコードのコピーみたいなものがあちこちに散らばっていることからしてコピー&ペーストが盛んに

    そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー
    thesecret3
    thesecret3 2009/02/01
    さて、今夜も家に帰ってプログラミングにはげみますか。
  • 1