目次 定義と構造 復元 確率分布 コードサンプル:Deeplearning4jを使ったIrisで制限付きボルツマンマシンを起動する パラメータ及びkについて 連続的なRBM 結論及び次のステップ 定義と構造 Geoff Hintonによって開発された制限付きボルツマンマシン(RBM)は、次元削減、分類、 回帰 、協調フィルタリング、特徴学習、トピックモデルなどに役立ちます。(RBMなどの ニューラルネットワーク がどのように使われるか、さらに具体的な例を知りたい方は ユースケース のページをご覧ください。) 制限付きボルツマンマシンは比較的シンプルなので、ニューラルネットワークを学ぶならまずここから取り組むのがよいでしょう。以下の段落では、図と簡単な文章で、制限付きボルツマンマシンがどのように機能するのかを解説していきます。 RBMとは浅い2層のニューラルネットであり、ディープビリーフネッ
どうすればPythonをJuliaと同じくらい速く動かせるのか? : 様々なやり方で計算の高速化を図る Julia対Python 科学技術計算には、Pythonなどの言語よりもJuliaを使った方がいいのでしょうか? http://julialang.org/ に載っているベンチマークを見ると、どうしてもそんな風に思ってしまいます。というのも、Pythonなどの高水準言語は、スピード面で大幅に劣っているのです。けれども、これは私が最初に感じた疑問ではありません。私が気になったのは、「Juliaのチームが書いたPythonのベンチマークは、Pythonに最適なものだったのか?」ということです。 こういった多言語の比較について、私の考えを述べましょう。まずベンチマークというのは、実行するタスクによって定義されるものです。よって、そのタスクを実行するための最適なコードを、各言語に精通した人々が最
(注:2017/07/06、いただいたフィードバックを元に翻訳を修正いたしました。) この記事は、 LLVM コンパイラ基盤を使ってリサーチをする人のための入門書です。これを読めば、コンパイラに全く興味のない大学院生も、楽しみながらLLVMを使って優れた功績をあげられるようになるでしょう。 LLVMとは何か? LLVMは非常に優れていて、ハックしやすく、C言語やC++のような”ネイティブ”言語向けの、時代の先端を行くコンパイラです。 LLVMの素晴らしさに関しては他にも様々な話を聞くのではないでしょうか(JITコンパイラとしても使えるとか、C言語系列以外の様々な言語を強化できるとか、 App Storeからの新しい配信形態 であるとか、などなど)。もちろん全部本当のことですが、今回の記事の目的としては、上述の定義が重要です。 LLVMが他のコンパイラと差別化される理由には、いくつかの大きな
皆さん、tigコマンドを活用していますか? tigは、コンソール上で使えるgitブラウザです。実はずっと、ただのきれいなgit logだと思っていたのですが、本当はそんなことはありません。かなり使えるやつなのです。 インストール ソースコード: https://github.com/jonas/tig インストール方法: https://github.com/jonas/tig/blob/master/INSTALL.adoc この辺りを参考にしてみてください。詳細は割愛します。 基本の使い方 この状態の差分を扱っていきます。いつものこれだとこんな感じ。 git logが素敵にビジュアライズされてます。この画面をmain viewといいます。 ここでエンターを押すと、下半分に差分の詳細(diff view)が表示されます。 下矢印で、Unstaged changesの差分を見てみるとこんな
jonas/tig は現在も活発に開発が継続しており、次のバージョンアップが待たれます。 2013年8月にリリースされたtig 1.2.1から現在までのmasterの差分における、 筆者が気になる新機能・修正点を紹介してみます。 ※ masterブランチの差分を追っているのみのため tig 1.3 に確実に入る保証はありません。 外部コマンドをバインドする時の接頭辞 ! がオプション扱いに User-defined commands no longer need to be prefixed with '!' キーバインドで外部コマンドを設定する時は接頭辞に ! (フォアグラウンドで実行)もしくは @ (バックグランドで実行)が必須でした。次のような形です。やけに丁寧なtigの設定ガイド(キーバインド概論編) でもこの形で紹介しています。
Emacsにて、グローバルなキーマップ(global-map)を変更しても、すべてのバッファで有効にはなりません。 なぜなら、メジャーモードやマイナーモードでのマップがglobal-mapより優先するからです。 しかし、メジャーモードの特定のキー割り当てが気に入らず、自分用のコマンドを適用したいことがあります。 たとえば、僕の場合、C-tにother-window-or-spritというコマンドを割り当てています。そろそろEmacsのウィンドウについて一言いっとくか - http://rubikitch.com/に移転しました 参照。 C-tはdired-modeではimage-dired用のプレフィクスになっていてother-window-or-spritが使えません。 この場合は、キーマップ上書き専用マイナーモードを用意するのが手軽です。 こうすることでoverriding-minor
mikioさんに「プログラミングを教えるのはかけ算ができるようになってから!」と言われ続けていた夏生さん。しかし、月に1度通っているキッズクリエイティブ研究所でこども向けプログラミングアプリ「ScratchJr」を使用してゲームを作ったことをきっかけに、mikioさんがプログラミングを教えてくれるようになりました。 使用しているソフトは、ScratchJrより対象年齢が少し高い(8歳〜)「Scratch」です。こちらはタブレットではなくPCを使用しますが、夏生さんはPCの基本的な操作を覚えているので、問題なく始めることができました。以前、私が購入した「小学生からはじめるわくわくプログラミング」という、Scratchの学習書を読みながら教えてもらっています。 小学生からはじめるわくわくプログラミング 作者: 阿部和広 出版社/メーカー: 日経BP社 発売日: 2013/07/25 メディア:
無料Podcastを使えば、ちょっとした待ち時間や暇なときに無料で、英語のリスニングを鍛えることができます。 私は寝れないときにポッドキャストを聞いています。寝れないと携帯をいじったりする人がいますが、携帯のディスプレイの光のせいで、脳は刺激されてさらに眠れなくなります。私が使っているのは、iPod shuffleなので、目を閉じたまま操作でき、脳を無駄に刺激することはありません。 Apple iPod shuffle 2GB 第4世代 2015年モデル ブルー MKME2J/A posted with カエレバ Apple Computer 2015-07-17 Amazonで探す 楽天市場で探す ドイツ語のポッドキャストもよく聞きますが、同じように多く聞くのが英語のポッドキャストです。英語に関しては、ここ数年机に座って勉強らしいことをしたことは全くありません。そんな英語嫌いの私が、英語
このエントリーは読者としてスマートフォンアプリ開発者とWebフロントエンドエンジニアを想定して書いています。 CROSS2016に出るので、最近の自分の考えを整理しておく。 最近ReduxのSwift実装であるReSwiftを使って開発している。使った感想なども最後の部分に書いたけれど、このエントリーの本題はアプリの状態管理の話。 アプリは大きなシングルトン iOS、Android共にアプリを実装しようと思うと大抵シングルトンが必要になる。各ViewController内をまたがってデータを共有したいというユースケースが多いからだ。例えば ユーザーのログイン情報を集約するUserManager コンテンツへのいいね情報を集めるLikesManager ブックマーク情報を集めるBookmarkManager などなど。もちろんアプリの内容によってこれらの顔ぶれは違ってくると思うけれど、大抵U
電子フロンティア財団(EFF)は毎月、特許権が付与された発明の中でもっともバカバカしいものを1つ挙げる「Stupid Patent of the Month(SPM)」を発表しています。EFFは、2016年1月26日に特許が認められたゼロックスの「文書のコピーをソーシャルネットワーク上で共有する方法」という特許をSPMに挙げると共に、もはや特許制度が機能不全を起こしているとして批判しています。 Stupid Patent of the Month: Sharing Your Hard Copy Documents, but on a Social Network | Electronic Frontier Foundation https://www.eff.org/deeplinks/2016/01/stupid-patent-month-sharing-your-hard-copy-d
Last week was hack week at Dropbox. I took the opportunity to explore the implementation of a GraphQL server that does optimal IO batching and concurrency. Serial IO A common performance problem in the implementation of web services is serial IO. Let's say you have a service that returns the names of all of your friends. It's easy and natural to implement it like this: me = fetch_user_info(my_user
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く