Mar 1, 2016Download as PPTX, PDF2 likes3,942 views

Mar 1, 2016Download as PPTX, PDF2 likes3,942 views
The Firefox developer tools use CodeMirror as the source editor in many places (including the new WebIDE). CodeMirror provides auto-indentation when starting a new line and can convert tab presses into indents. Both of these features are frustrating however if the editor is set to insert the wrong indentation. That’s why many text editors will detect the indentation used in a file when it’s loaded
このまえHな講義*1を受けてたあとに、@polamjag 氏とダベってたら 「音割れ音源復元できないか」 みたいな話がでて面白そうだったので趣味研究してみた成果だったりします。 信号解析初経験な上に片手間でやった研究なので、かなり穴だらけだと思うのでお気づきのことがありましたら、ご指摘お願いします。 背景 話によると、そこらへんで買った音源って音割れしてるらしい。 audacityで[view]->[show clipping]をオンにすると音割れ箇所を可視化してくれる。 ノーポイッを見てみた図。 (amazon mp3で購入、買ってない方ぜひ買いましょう。 http://www.amazon.co.jp/dp/B017BAK632 ) あかい。。。 ということで、サーベイするこくたんであった。 目的 音割れしている音源(5分ぐらいの)をいい感じに補完して 人間の耳にやさしく 補完する。
Pythonで機械学習を使う場合、scikit-learnには何かとお世話になる。 豊富な学習アルゴリズムの実装を利用できるのが長所だが、実はアルゴリズムそのもの以外にも、前処理や評価のための様々な便利機能を有している。 これらを知らずに使っていると,車輪の再発明をしてしまうことになる。 また、機械学習関連のPythonライブラリはscikit-learnと連携できるAPIをもつものも多い。 scikit-learnを中心とするエコシステムが成立しているとも言える。 中にはコードをほとんど書かずに簡単なモデリングができるようなツールまである。 この記事では個々の学習アルゴリズムではなく、scikit-learnに予め用意されている便利機能やscikit-learnと連携できるライブラリなどを紹介する。 便利モジュール・パッケージ 前処理や評価で使われる一般的なテクニックの多くは既に実装され
手書き文字の認識が違った意味でよく見える! 今回ご紹介するのは、ニューラルネットワークを活用し二次元平面上に描かれた模様から、数字として認識される様子を可視化した、面白いデモンストレーションです。 私は残念ながらこの手の学がまったく無く、正確に解説することが難しいのですが、Convolutional Neural Network というものを使って文字を認識するような、特殊なアルゴリズムを可視化しているのだと思います。 階層構造になった状態に、どのようなつながりがあるのかを可視化するのには三次元表現がうってつけですね。 数字を描いてみるだけでも楽しめる 先に触れたとおり、私はこういった学問の知識がないのでものすごく初歩的なことや、間違ったことを書いているかもしれません。その点はご了承ください。 今回のデモを見ると、文字認識のためのニューラルネットワークが、どのように機能しているのか、その一
以下では自分の修士研究で開発した話題解析システム( https://twitter.com/lamrongol/lists/trend-analysis )について解説していきます。 そもそも話題とはなにか さて、話題を解析する前にまず「話題」とは何か、を定義しなければいけません。例えば地震が起きた時みんなが一斉に地震だとつぶやきます。さらに大きさや震源なども言及されるでしょう。つまりあるものが話題になってるとは、それに関連する 単語の出現数がいつもより大きくなっている ということを意味します。 異常検知アルゴリズム 「そんなの当たり前じゃないか」と思うかもしれませんが、ではどうやったら「単語の出現数がいつもより大きくなっている」と判断できるかを考え始めると実はこれが意外に厄介な問題であることに気が付きます。例えば簡単に思いつくものとして(単語の出現数)-(普段の単語の出現数)とすればどう
「ほら、言った通り車線変更したー! やっぱりねー、やると思ってた! 」 自動運転、それを実現するために車のシステムは周辺環境を確認します。道路の状態はどうか、人や障害物はないか、常にチェックしています。さて、自動運転は自動運転でも、自律運転となれば、チェックするのは周辺環境ではなく、ドライバーの動き。そこから、どう運転すべきかを学ぶのです。 コーネル大学の研究チームが開発しているのは、ドライバーの動きを追うカメラシステム。カメラがドライバーをとらえることで、次に何をしようとしているのかを、そのアクションを起こす数秒前に予測するトレーニングを行なっています。このシステム、まずはドライバーの手助け、補助をするところからのスタートですが、将来的には数々のデータを元に自律運転するシステムになればと期待されています。 開発しされたシステムRecurrent Neural Networkはいくつもの情
金曜日の「プログラマのための数学勉強会@福岡」で乱数の話をしてきました。 プログラマのための数学勉強会@福岡 #3 - connpass で、乱数の生成だとか、クイックソートや素数判定などの乱択アルゴリズムの話とかをしました。 乱数タノシイヨ 乱数のたのしい話 from なおき きしだ その中で、遺伝アルゴリズムで巡回セールスマン問題(TSP)を解くというのをやってみました。遺伝アルゴリズム、すいぶん昔から名前は知ってて、どういうアルゴリズムかも知ってて、実装もそんな難しくないと知りつつ、書く機会がありませんでした。なので、この機会に書いてみようと。 とりあえず最初に完全にランダムでTSPを解いてみます。 TSP with random ぐちゃぐちゃですね。 下部のグラフはその時点での最短距離。最初に距離が短いものをみつけていくけどだんだんみつかりにくくなる、という感じになっています。 1
はじめに バックプロパゲーションとは、ディープモデルの学習を計算可能にしてくれる重要なアルゴリズムです。最近のニューラルネットワークではバックプロパゲーション (誤差逆伝播法) を使うことで、最急降下法による学習が愚直な実装と比べて1000万倍速くなります。 例えば,バックプロパゲーションでの学習に1週間しかかからないのに対して、愚直な実装では20万年かかる計算になります。 ディープラーニングでの使用以外にも、バックプロパゲーションはさまざまな分野で使えるとても便利な計算ツールです。それぞれで呼ばれる名称は違うのですが、天気予報から、数値的安定性を分析する時にまで多岐にわたり使用できます。実際に、このアルゴリズムは、いろいろな分野で少なくとも20回は再開発されています(参照: Griewank(2010) )。一般的な用途自体の名前は”リバースモード微分”といいます。 基本的に、この技術は
マルコフ連鎖による文章自動生成 ちょっと文章の自動生成に興味が湧いたので、試してみることにしました。まずは事前調査したところ、既にやっている例がたくさんみつかりました。記事末の参考リンクにまとめましたので興味ある方は参照ください。Deep Learningやマルコフ連鎖を使うのがトレンド(?)のようです。本当はDeep Learningでやってみたかったのですが、何度か環境変えてチャレンジしたのですが、悉くエラーが出て失敗したため(chainerのバージョンアップの影響?)、諦めてマルコフ連鎖で実現することにしました。マルコフ連鎖に関してはここでは詳細は説明しませんので、興味ある方は自分で調べてみて下さい。自分もちゃんと理解できませんでした。イメージ的には、元となる文章の文章の流れのようなものを解析して、その解析した流れを元に、ある単語から順番に連想ゲームのように単語を並べていって文章を生
はじめに 正方行列 を となる下三角行列 と 上三角行列 に分解することを LU 分解という。LU 分解ができると連立方程式の解や逆行列が 前進/後退代入でかんたんに求められてうれしい。 Dask を使って LU 分解を Out-Of-Core / 並列でやりたい。 LU 分解の並列化にはいくつかやり方があるようで、東大講義 スパコンプログラミング(1)、スパコンプログラミング(I) の 第10回 LU分解法 にまとまっている。この講義、ガイダンス資料の単位取得状況を見るとかなり楽しそうな感じだ。 ここでは、Dask での実装がかんたんそうなブロック形式ガウス法 (資料 P33-) をやりたい。 ブロック形式ガウス法 ブロック形式ガウス法では入力となる行列をいくつかのブロックに区切り、ブロックごとに処理を行う。具体的には、左上の対角ブロックからはじめて、以下の順番で処理していく。 対角ブロ
CodeforcesやProject Eulerの問題には、無限リストをうまく使うと綺麗に解くことができる問題がたくさんあります。 数列の性質から探索範囲の上界を決めて解を探索することが多いのですが、きちんとした根拠を持って上界を決めることができることは少なく、余裕を持って十分に広い範囲で計算して解を求める解法がよく取られます。 Haskellの特徴である遅延評価とその洗練された糖衣構文を用いると、無限リストを簡単に扱うことができます。 上界を適当に定める解法よりも、より宣言的で美しく、時に効率的なコードで同じ解を得ることができます。 しかし、無限リストをきちんと、それも無限個の無限リストをきちんと扱うとなると、意外と苦労します。 この記事では、無限個の無限リストをソートされた形で結合する方法について説明します。 一般的な無限リストではなく、条件はかなり絞っていてます (そうでないと原理的
Yahoo releases massive 13.5TB web-browsing data set to researchers Yahoo's business may be struggling, but millions of people still visit its site to read the news every day. That gives the company unique insights into browsing and reading habits, and today the company has released a huge swath of that data. The "Yahoo News Feed dataset" incorporates anonymous browsing habits of 20 million users b
ほとんどのレーシングゲームでは、逆走した時に逆走したことを示すメッセージが表示される。 逆走したことのメッセージが存在しないと、 プレイヤーが逆走に気がつかないまま逆走を続けてしまう可能性があり、非常に不親切である。 現在作成しているアプリでも同じ機能をつける必要があり、 逆走判定を行う必要が出てきたため、逆走判定のアルゴリズムをまとめてみた。 候補となるアルゴリズムは、以下の3つである。 1. 進行方向を示すマップを作成し、現在地の進行方向と自身の進行方向を比較 [アルゴリズム] 2Dまたは、3Dで高さ成分をあまり考慮する必要がない場合は、 2次元配列等を利用して、各場所における進行方向を持つマップを作成すればよい。 3Dで高さが大きく変更される場合(フライトレーシング等)は、 3次元配列を用いて3D空間上を表現すればよい。 [利点] それぞれの場所で進むべき進行方向の判定が行えるため、
こんにちは。開発企画部の佐島です。 12月16日(水)、グリー主催のゲーム開発者向けミートアップ GREE GameDevelopers’ Meetup が開催されました。 GREE GameDevelopers’ Meetup とは? GREE GameDevelopers’ Meetup は、ゲーム開発者のみなさんと一緒に、オープンに技術を学び交流できる場づくりを目指し創設されたミートアップです。 2回目となる今回のテーマは、ゲーム開発における数学・物理・アニメーション。 それぞれの分野から、書籍の著者の方をお招きしてお話頂きました。 セッション 『軸を固める』ための物理 堂前 嘉樹(フリーランス) 最初にご登壇頂いたのは「ゲームを動かす数学・物理」の著者である堂前さん。 著書の中でも物理部分にフォーカス頂き、ゲームの動作に関わる物理の考え方について詳細に解説頂きました。 スキンアニメ
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Part 1 Task の依存関係の解決 Part 2 Workflow の冪等性 Part 3 Task 間でのデータのやり取り Part 4 Task の並列実行 Workflow Engine って何? Workflow Engine と言っても多機能なものから、シンプルなものまで様々なものがあります。そこで、主旨がぶれないように、この記事での Workflow Engine は、以下の要件を満たすソフトウェアとします。 Workflow Engine とは、依存関係のある複数の Task を、意図した順番通りに実行するもの この記事では、この要件を満たす Workflow Engine を Ruby でつくる方法について解説します。 依存関係を記述する 依存関係を解決するコードを書く前に、依存関係を記述する方法をまず決めましょう。 依存関係を記述するには、luigi のように Ta
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く