タグ

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

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

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

    TensorFlow Playgroundはニューラルネットを理解するのにおススメ - 西尾泰和のはてなダイアリー
  • プログラミング学習手段としての写経について - 西尾泰和のはてなダイアリー

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

    プログラミング学習手段としての写経について - 西尾泰和のはてなダイアリー
  • 「めんどくさい」「やる気がでない」時のチェックリスト - 西尾泰和のはてなダイアリー

    「めんどくさい」「やる気がでない」にも色々なパターンがあります。そこで質問に答えていくと解決策にたどりつくようなチェックリストを作ってみました。 追記: このエントリーの内容を元に平均10問の質問に答えるだけであなたの状況に合わせたアドバイスをする人工知能を作りました。オススメです。 Q1: やる気がでないのは今日に入ってからですか? 数日やる気がでない状態が続いているのですか?それとも今日に入ってからかですか? 今日に入ってから→Q2 数日続いている→Q8 Q2: 最近なにか新しい情報が明らかになりましたか? たとえば計画段階では知らなかった事実が明らかになって、今までやってきた作業が無駄になったとか。何らかの情報が最近明らかになりましたか? はい→状況が変わったのであれば、計画の通りに実行することが必要とは限りません。状況の変化に合わせて計画を変更したり中止したりしてはいけないのですか

    「めんどくさい」「やる気がでない」時のチェックリスト - 西尾泰和のはてなダイアリー
  • 「自信がない」は自信の持ちすぎ - 西尾泰和のはてなダイアリー

    「原稿書かなきゃいけないんだけどなぁ」とか言いながら現実逃避で読んでいた「心は病気―役立つ初期仏教法話〈2〉」に心に刺さる言葉があったのでここに書いておく。 正確な引用ではないので、正確な言葉が知りたければP.60から3ページくらいを読むとよい。 人間が自信をなくす原因は、自信の持ちすぎである。 自分が「この程度の仕事サクッと終わらせられる」と思っているのに、実際にやるとうまくいかないとき、人は自信をなくす。 「抜群のスピーチをしよう」と思って、実際にはうまく喋れなくて、自信をなくす。 妄想の中の自分が事実に反して素晴らしすぎるから、その「妄想の中の素晴らしい自分」が振る舞うように振舞おうとして、できないので苦しむ。 「自分の仕事に自信がない」というのは、奇跡的な成功を頭で妄想しているせい。現実の自分ができるようにしかできない。できることをすればよい。「自分は精一杯やった」と思える状態を

    「自信がない」は自信の持ちすぎ - 西尾泰和のはてなダイアリー
  • ポモドーロについて - 西尾泰和のはてなダイアリー

    質問されてTwitterでつぶやいておいたので、流れ去らないようにここにまとめておく。 まず「25分で1ポモドーロだから8時間だと16ポモドーロか」とか言ってる人はそれが「人間は100メートルを10秒で走れるから、42キロを4200秒で走れるはずだ」と言うくらいおかしいということを理解した方がいい。短距離走の速度を長距離走で維持することはできない。そういう「1日8時間働く」を前提とした計算をしている人はポモドーロの「短時間に集中して成果を出そう」という目標をそもそも理解できていない。 これは僕流の解釈というわけではない。アジャイルな時間管理術 ポモドーロテクニック入門の前書きでも読んだことがあればすぐに誤解に気づくはずだ。こう書いてある。「1日に12ポモドーロ分はこなせるだろうと思っていました。しかし、ふたを開けてみると、せいぜい8ポモドーロが現実的なラインということがわかりました」(文意

    ポモドーロについて - 西尾泰和のはてなダイアリー
  • 執筆日記 - 西尾泰和のはてなダイアリー

    書けないときはまず読む。何を書いていたか思い出すために。 書きたいことはまず質や形式にこだわらずに出力する。質の改善はあとからでもできる。 脳内の情報を消えないメディアに記録することで覚えておくプレッシャーから解放される 時間を決めて宣言する。「10時から11時は作業をする」や「今から25分集中して作業する」など。 長い道のりを一気に走ることはできない。完成版の文章をいきなり出力することもできない。できることは、一歩ずつゴールに向かって足をすすめることだけ。 「執筆」を大きなタスクととらえて尻込みしていても筆は進まない。細かいタスクに分断して、それの完了にどれくらいの時間がかかったか観察できれば、終わるまでの時間の目処が見えてくる。 改善や管理のためには計測が必須である。もちろん作業のすべてが計測できるわけではない。しかし「これは計測できないタスクだ」と言って思考停止してしまうのではなく、

    執筆日記 - 西尾泰和のはてなダイアリー
    akkun_choi
    akkun_choi 2012/01/27
    プログラミングも執筆の一つなのかな。あらゆる執筆活動に当てはまりそう
  • 遺伝子をモチーフにした言語「Genomy」を作りました - 西尾泰和のはてなダイアリー

    最近、3年くらい前に書いた「そろそろ例のプロジェクトについて言及するか」についてTwitterで言及があったので思い出しました。「条件を満たしたものをすべて呼び出す」という設計思想でプログラムが書けてしまうという点について意外とみんなピンと来ないみたいだからコンセプトプルーフを実装してみようと思っていたんでした。 という訳で作りました。https://github.com/nishio/genomy 解説 「遺伝子はタンパク質の設計図」というところまでは教科書などでもよく言及されます。でも、その設計図には「どういう状況になったら作るべきか」「どういう状況では作るべきではないか」という情報も書かれています。 この「作るべきではない」(発現の抑制)がどう実現されているか、ザックリ説明しましょう。体の中にあるタンパク質があると、これがある遺伝子の周辺にへばりつき、その遺伝子からタンパク質を作る過

    遺伝子をモチーフにした言語「Genomy」を作りました - 西尾泰和のはてなダイアリー
  • チケットレコメンデーション - 西尾泰和のはてなダイアリー

    Python温泉にて「チケットがたくさん山になっているとヤル気がそがれたりどれからやったらいいか悩むのに時間を使ったりしてしまうので、オススメのチケットを選んでくれるシステムがあったらいいんじゃないの?」って話題になったのでコンセプトプルーフを実装した。 とりあえずRubyRedmineからチケットを適当に取ってきて実験。recommend()ってやるとオススメのチケットを1つ教えてくれる。 In [2]: recommend() Windows環境で日語を含むパスに対して、File.expand_path が存在しないパスを返すパターンが存在する。これはちょっとなー、自分向きじゃないなぁ(OS依存だし)、別のがいいなぁ、と思ったのでno()と答える。すると別のチケットを提案してくれる。 In [3]: no() Please backport r33556 (Bug #5243)うん

    チケットレコメンデーション - 西尾泰和のはてなダイアリー
  • 焼畑農業をやめるために---新卒準備カレンダー 2011春 - 西尾泰和のはてなダイアリー

    by Lior Shapira under CC BY-NC-ND 2.0 このエントリーは新卒準備カレンダー 2011春という、みんなで仕事に関して自分が考えることなどをエントリーに書いていく企画で書かれたものです。 渋川さんの話を聞く会のつもりが、なぜかいつの間にか名前入りで「新卒準備カレンダー 2011春 : ATND」を作られていたので、空気を読まずに農業の話をします!! お前だれよ? 西尾泰和と申します。サイボウズっていうグループウェアの会社のサイボウズラボっていう研究部門子会社で、まあ研究とかをしています。一番最近のアウトプットはこのブログの右サイドバーに出ている「 Amazon.co.jp: WEB+DB PRESS Vol.60」で「言語設計の基礎知識」という特集を書いたことかな。そうそう、3年くらい英語版のプロフィールページしか更新していなかったら3年前の日語版を最新版

    焼畑農業をやめるために---新卒準備カレンダー 2011春 - 西尾泰和のはてなダイアリー
    akkun_choi
    akkun_choi 2011/03/09
    もう2回ぐらい読みたい
  • クラスが持つ3つの役割 - 西尾泰和のはてなダイアリー

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

    クラスが持つ3つの役割 - 西尾泰和のはてなダイアリー
    akkun_choi
    akkun_choi 2010/10/21
    型、インスタンス生成、実装の再利用
  • 不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー

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

    不完全にしてかなり言葉足らずな比較プログラミング言語学 - 西尾泰和のはてなダイアリー
  • 日本人なら必ず誤訳する英文 - 西尾泰和のはてなダイアリー

    屋で立ち読みしてて「英語を正しく理解しているかどうかを知るには訳してみるしかない。『英語英語のまま理解する』とよく言われるが、それはあくまで最終目標であって、正しく日語に訳せない文章は絶対に理解できていない。」ということが書いてあって、納得したので買ってきた。越前敏弥の日人なら必ず誤訳する英文 このの著者はダヴィンチコードとか訳している人で、十数年英語を教えてきてて、みんながつまづくパターンを集めたらしくてかなり密度が高い。あと、自然言語って冗長性が高いからおおざっぱな理解で問題ないケースも多いんだよね。だから土台がシロアリにわれているのに気付けない。こういうで「ああ、この英文はこうだろ?」と訳してみて「いや、それはよくある間違い」ってつっこまれないと自力で気付くのは難しい。 I bought the book, which I have not read yet. これを間

  • そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー

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

    そろそろ例のプロジェクトについて言及するか - 西尾泰和のはてなダイアリー
    akkun_choi
    akkun_choi 2009/02/01
    味のある文章。すごいな
  • プログラ魔法学に関する考察 - 西尾泰和のはてなダイアリー

    さっきの for i in range(1,101):print"FizzBuzz"[i*i%3*4:8--i**4%5]or iとか明らかに禍々しいオーラをまとっている。闇の眷属に間違いない。 こういう一見この世の物理法則に従っていないような生き物を生み出すのは「召還魔法」だと思う。 こういうのはネタとして魔界のものを召還して見せ物にするくらいなら問題ないのだけど、普段の作業や仕事のコード、特に他人とシェアするコードで必要もなく闇の力を利用すると「黒魔術使い」「ダークサイドに堕ちたな」と言われるので要注意。生半可な気持ちで禁呪を使うと高い代償を支払う羽目になる。 IEを華麗に撃墜する一行 - ぼくはまちちゃん!(Hatena)とかは攻撃魔法。たぶん赤魔術。対象に対する深い理解が必要なのでほんの一握りの人しか新しい呪文を開発することができないが、行使するのは作り出すより簡単なので多くのスク

    プログラ魔法学に関する考察 - 西尾泰和のはてなダイアリー
  • 1