「仕事ではじめる機械学習」は、ディープラーニング入門の1冊目と言われる「ゼロから作るDeep Learning」の次に読むのがおすすめです。 なぜなら「ゼロから作るDeep Learning」は、初心者にもわかりやすいがゆえに「あらゆる問題がディープラーニングで解決できてしまうのでは」という万能感を感じさせてしまうからです。 本書は、そんな幻想に「待った」をかけてくれます。 本書の一文をご紹介しましょう。 「機械学習は技術的負債の高利貸しのクレジットカード」というタイトルの論文があるほど、機械学習を含んだシステムは通常のシステム以上に技術的負債が蓄積しやすいのです。 このエントリでは、「仕事ではじめる機械学習」の内容をまとめます。 1章 機械学習プロジェクトのはじめ方 機械学習プロジェクトの流れについて、何をどういった順で行うのかが説明されています。 問題を定式化する 機械学習をしないで良
こんにちは NewsPicks Advent Calendar 2018の 5日目を担当させていただきます、NewsPicks の戸辺と申します。 2年ほど前に「機械学習をゼロから1ヵ月間勉強し続けた結果」という記事を書き、多くの方に読んでいただきました。そこから引き続き機械学習に携わっており、今年も多くの機械学習系の記事を拝読させていただきました。それら中から「実戦でためになった」「機械学習の勉強に役に立った」という観点から、僕なりのベスト10をあげてみました。 長い冬休み(余談ですが、社会人で一番長く休めるときですよね!?)は知識のアップデートをするのにいい機会だと思いますので、まとめ読みしてみてはいかがでしょうか。 では、スタート! まずは 2018年にみんなが使った Colaboratory 関連から 1位: 【スマホOK/実行しながら学ぶ】東大松尾研のデータサイエンティスト育成/
6月14日がグーグル最終日でした。8月からPFNに混ぜてもらう予定です。退職や入社も重要イベントなんでしょうけど、転職活動それ自体が大変に楽しい体験だったので、入社したからって突然次の会社についての知見にあふれているわけでもなし、このタイミングでなんか書こうと思いました。どうせ暇だし。 前回との差分 http://shinh.hatenablog.com/entry/2016/03/11/142748 が前回までのあらすじ。このちょっと後で、「ニューラルトランスレートすげー」とか思って Google Translate のチームに入れてもらって、自然言語/機械学習研究入門+プロダクショナイズ+TensorFlowまわりのあれこれおもしれーとか、その他いろいろをやってた、というのが現在との差分です。 機械翻訳というのは、他の機械学習応用分野と同じく、ニューラルさんによってすさまじく簡略化され
機械学習の基礎用語や初歩的な手法、数学的な理解を深めませんか?環境構築が不要、オンラインで実行が可能な機械学習入門チュートリアルを公開中!機械学習の世界へ飛び込んでみませんか? スクラッチで最小二乗法と最急降下法をPythonでコーディング(線形回帰) ロジスティック回帰の概要や数学的理解と実践に役立つ知識(ロジスティック回帰) まず呼び方ですが、Kaggleと書いて「カグル」と読みます。日本でも最近は定着してきましたが、Kaggleに参加している方を「カグラー(Kaggler)」とも呼びます。 Kaggleですが、本サイトへ行くと一番上に書かれていますが「The Home of Data Science & Machine Learning」(データサイエンスと機械学習の家)と題されている通り、世界中の機械学習・データサイエンスに携わっている約40万人の方が集まるコミニティーです。 Ka
老害と呼ばれそうなお年頃ですが、2018年3月の1ヶ月間でCourseraでスタンフォード大学が提供しているMachine Learning講座を修了しました。定年間近の老兵がどうやってこの講座を完走し、これから何を目指しているのかをお話ししたいと思います。 動機(≠動悸) 2月のデブサミ2018で、ウルシステムズの漆原さんの講演を聴いて、一生エンジニアで飯を食っていきたいなら何か新しいことを始めなきゃダメだなと思ったのが始まりです。 2017年は、Xamarinを使ったiOS/Androidアプリ、Raspbian上でC#を使ったREST APIサーバー、さらに、iPhone/Apple Watchに話しかけて機械を制御するVUIなど、製造業に勤めるソフトエンジニアとしてはかなり異質なことをやらせてもらったと思います。 でも、新しいことをやってる感が足りず、何となく消化不良な感じでした。
社内の機械学習勉強会で最近話題になった機械学習関連のエントリを取り上げているのですが、ここ一ヶ月ではGoogle Neural Machine Translation(GNMT)がとても話題になっていました。GNMTで使われているEncoder-Decoderやattentionのような仕組みを直近で使う予定は特にはないですが、機械学習を使うエンジニアとして知っておいて損はないし、技術的に何が変わったことにより何ができるようになって、何はまだできないのかを知ろう、というのが目的です。技術的な項目は興味ない人も多そうなので、最後に持っていきました。 Google Neural Machine Translation(GNMT)の最近の進化について できるようになったこと 定量的な評価 まだまだ難しいこと 技術的な詳細 Encoder-decoder Attention based encod
先週末、はてな社内の勉強会で構造学習、特に実装が簡単な構造化パーセプトロンについて発表しました。発表資料と説明用にサンプルで書いたPerlの品詞タグ付けのコードへのリンクを張っておきます。 今日からできる構造学習(主に構造化パーセプトロンについて) from syou6162 structured_perceptron/structured_perceptron.pl at master · syou6162/structured_perceptron 「えっ、Perlかよ」という人がいるといけないので、Clojureで構造化パーセプトロンを使った係り受け解析のサンプルコードへのリンクも張っておきます(2種類あります)。PerlもClojureもあれば8割くらいの人はカバーできそうなので、安心ですね。 syou6162/simple_shift_reduce_parsing syou616
当方機械学習素人につき大して興味はなかったものの、実は Jeff Dean 案件だと気付き whitepaper くらいは読むことにした。 ぎもん: Jeff Dean といえば MapReduce や GFS を作った Google の神話級プログラマ。そんな分散インフラの達人がなぜまた深層学習に手を出したのだろう。 わかったこと: TensorFlow は、行列(というかテンソル)に特化したデータフロー・プログラミングの分散実行処理系だった。 データフロー・プログラミングとは、データを受け取り何か計算して結果を誰かに渡す、という単位のオブジェクト(ノード、カーネルなどと呼ぶ)をつなぎ合わせてグラフをつくり、より大きな計算を表現する抽象化のパターン。最近はリアクティブの文脈で目にすることが増えた。 そして MapReduce/Hadoop も今はデータフローの枠組みでコードを書くことが多
データ解析を勉強するにあたって、何かモチベーションになるものはないかと思っていました。そんなとき、「儲かったらいいんじゃね?」との考えにいたりました。 そこでお題にえらんだものが「競馬予想」です。とんでもねーなと思っていたところ、データ解析のお題としては「金融」とならんでベタのお題ということが判明。入力となるデータと答えの値がはっきりしているので、お題として適切なんだそうです。 今回は、かれこれ20年前に大学でかじったニューラルネットワークを使ってのディープラーニング(かっこいい響き)で予測してみました。 前置き ニューラルネットワークに詳しくありません。学生のとき、まじめに勉強していればよかったと後悔してる状態です。 根っからのPHPerなのでPHPを使います。PHPにはPHP-FANNというのがPECLにあるのでそれを使います。 PHP: FANN - Manual 概要はこのスライド
新入社員の松元です。はじめまして。 “分散深層強化学習”の技術デモを作成し、公開いたしました。ロボットカーが0から動作を学習していきます! まずはこの動画を御覧ください。 以下で、動画の見どころと、使っている技術を紹介します。 動画の見どころ Car 0(○の付いている車)が右折カーブの手前で減速する様子(右画面の白いバーのところが、ブレーキのところで赤くなっている。ニューラルネットはブレーキが最も多く報酬が得られると推測していることがわかる)。速い速度ほど報酬は大きいが、カーブを曲がりきれず壁にぶつかってしまうので学習が進むとカーブ手前でのみ減速するようになる。 目の前に車がいるときは一時停止して、いなくなってから加速する。 エチオピアには本当にこのような交差点があるらしい。 ぎりぎりですれ違う2台。学習途中ではすれ違いきれずにぶつかって倒れてしまうこともある(早送りシーン中に人が写って
知っての通り、Bonanza6では、手駒の価値は駒割の値 + KPのP=手駒としての値の合計値となる。(実際にはKPPの一つ目のPと二つ目のPが等しいときのKPと、 KKPのP=手駒のほうとがあるが、細かい話は割愛する) さて、駒割の値というのは、盤上の駒と手駒をひっくるめて、歩 = 100点のように点数化してある。 KPのP=手駒というのは、「先手の持ち駒の歩が0枚」「先手の持ち駒の歩が1枚」「先手の持ち駒の歩が2枚」のような状態を一つの駒(P)とみなしてある。 1枚目の歩だけ価値が100点よりは少し高く120点の価値があるとしよう。そうすると「先手の持ち駒の歩が1枚」のKP値には20点がつくことになる。 2枚目の歩は逆に80点の価値しかないとしよう。そうすると「先手の持ち駒の歩が2枚」の価値は-20点がつくことになる。 以下、同様であるのだが、歩を10枚以上持っているような局面はなかな
※Prediction APIは、2018年4月30日に運用を終了しました。以後は利用できません。 最近のGoogleは、恐ろしいことを平気でします。それまでGoogle内部で活用されていた先端技術をAPIとして整備し、どんどん一般ユーザーに公開しているのです。 今回、取り上げるのは「Prediction API」というものです。これは、機械学習アルゴリズムに基づく予測を行うためのものです。というとなんだかよくわかりませんが、要するに、さまざまなデータを学習し蓄積することで、「この新たなデータはどういうものか」ということを予測させることができるAPIなのです。この機能は、Googleの根幹システムのさまざまなところで用いられています。 あらかじめデータを用意することで、このPrediction APIは簡単に使うことができます。「データって、どうやって作るの?」と思うでしょうが、サンプルの
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く