機械学習モデルにおいて、人間によるチューニングが必要なパラメータをハイパーパラメータと呼ぶ。 ハイパーパラメータをチューニングするやり方は色々とある。 例えば、良さそうなパラメータの組み合わせを全て試すグリッドサーチや、無作為に試すランダムサーチなど。 今回は、それとはちょっと違ったベイズ最適化というやり方を試してみる。 ベイズ最適化では、過去の試行結果から次に何処を調べれば良いかを確率分布と獲得関数にもとづいて決める。 これにより、比較的少ない試行回数でより優れたハイパーパラメータが選べるとされる。 Python でベイズ最適化をするためのパッケージとしては Bayesian Optimization や skopt、GPyOpt などがある。 今回は、その中でも Bayesian Optimization を使ってみることにした。 使った環境は次の通り。 $ sw_vers Produ
Batch Normalizationとは何か 内部の共変量シフト アルゴリズム Batch Normalizationのメリット 大きな学習係数が使える 正則化効果がある 初期値にそれほど依存しない Batch Normalizationを実装してみよう TFLearnのインストール CIFAR-10の画像分類で検証 まずはCNNでネットワークを構築 Batch Normalizationを適用 Dropoutを追加する まとめ シンプルでありながら、Deep Learningにおいて必須ツールとなったBatch Normalizationはとても強力な手法だ。Batch Normalizationは他の開発者や研究者からも評判が高く Chainerを使ってコンピュータにイラストを書かせる には 一番効いてきているのがBatch NormalizationとAdamでした.これ入れないと
Photo by fdecomite こんにちは。谷口です。 最近、機械学習の勉強をしている人や、機械学習関連の求人が増えてきましたね。弊社のエンジニアにも、機械学習を勉強中の人達が何人かいます。 ただ、初心者だと「機械学習を勉強したいけど、難しいし何から手を付けたらいいのかよくわからない」という人も多いかと思います。 そこで今回は、機械学習の勉強を始めたばかりという初心者の方向けに、機械学習でよく使われるアルゴリズムがわかるスライドをいくつかご紹介します。 ■機械学習以前 そもそも「機械学習で何ができるのか・どんなものなのか知りたい」という段階の人が機械学習の概要をつかむには、このあたりのスライドが参考になるかと思います。 If文から機械学習への道 from nishio www.slideshare.net 機械学習入門以前 from mrtc0 www.slideshare.net
先日の日記で、コンピュータ将棋とAlphaGoについて言及したが、次のPonanzaがディープラーニングに成功したということで、どのように適用しているのかが気になっている。 そこで適当に考察してみる。 電王戦のインタビューでもプロの棋譜との一致率について言及していたことから、学習しているのは評価関数ではなく方策(policy)であると思われる。 入力に盤面の情報を与えて、出力に指し手の確率を出力する関数である。 入力 ポイントとなるのが、入力の盤面の情報の与え方であると思う。 AlphaGoでは19×19の各座標の白石、黒石、空きで3チャンネル(2値)の情報と、アタリやシチョウなどの若干の囲碁の知識を特徴量として各チャンネルに割り当て、合計で48チャンネルのデータを入力としていた。 将棋では、駒の種類が多いため、成りを含めた14種類のコマ数分のチャンネルが必要になる。 また、持ち駒もあるた
はじめに ニューラルネットの基礎 ニューラルネットの順伝搬 1つの層での処理 多層での処理 順伝搬のまとめ ニューラルネットワークの学習 勾配法 微分の難しさ 誤差逆伝搬法 問題 誤差逆伝搬法 まずは損失の和を計算する 微分の連鎖律 出力での損失の微分 中間層での損失の微分 式を見直す はじめに ニューラルネットのフレームワークを使うと、誤差逆伝搬は既に実装されているため、ほとんど意識すること無く使えてしまいます。言わばブラックボックスという状態です。ここで誤差逆伝搬法について学んでおくことで、ニューラルネットがいかにして学習を行っているのかを理解しましょう。 数式が相応に難解なため、一番最後まで飛んでしまっても構いません。 最終的に得られる式を見れば、誤差逆伝搬法の由来を理解できるかと思います。 ニューラルネットの基礎 ニューラルネットの順伝搬 1つの層での処理 まずニューラルネットワー
単純パーセプトロン 動物の神経細胞(ニューロン)は、樹状突起という部位で他の細胞から複数の入力を受け取り、入力が一定値以上に達すると信号を出力する(これを「発火する」と言ったりします)とされており、それをモデル化したものとして形式ニューロンというものが提案され、さらに応用してパーセプトロンというモデルが発明されました。1 と、難しそうなことを書きましたが、ざっくり絵にするとこんな感じです。 絵では入力が3つになっていますが、実際にはいくつでも構いません。 前回の の問題は、このモデルにあてはめることができます。 入力ノードが 、入力途中の矢印が に対応しています。 を入力として受け取り、それぞれに を掛けた後、中心のノードですべて足し合わせます。 この値を とします。 前回のSPAMの例だと、正しく学習された後であれば、SPAMの場合 、非SPAMの場合 となるはずですね。 このようなモデ
スマートスピーカーが日本で急速な普及を迎えている。Amazon Echo、Google Home、LINE WAVEなどを購入し、スマートスピーカーの様々可能性を楽しんでいる読者も多いかもしれない。何かを話しかけることで、アラーム・ストップウォッチ設定やLINEメッセージの読み上げなど、何らかのタスクを実行してくれたり、天気や時間、さらにはニュースなどの情報を提供してくれたり、簡単な会話を楽しむこともできる。 今まで慣れ親しんできたPCのキーボードやスマホのタッチインターフェースとは異なる「音声インターフェース」は新鮮に感じるが、背景では様々な技術が動いている。入り口は声を認識する音声認識だが、その次のステップでは認識した文字列を文章として理解し、スピーカー側として何を実行すればよいのか判断しなければならない。何かを聞かれているのであれば、どのように返答すべきかを考えなければならない。この
近年話題を集める機械学習。関心はあるけれど着手しづらかったり、具体的に活かすにはどうしたらいいかわからないなんてことはありませんか? 今回は、機械学習の最新情報や機械学習を活かしてリコメンドシステムを組んだ事例や、分析に活かした事例などを紹介した機械学習についての学べるスライドを厳選して4個まとめました。 もう少し機械学習について知識を深めたい人は是非御覧ください。 パワーポイント等で作成したプレゼン資料を共有できるサイト「スライドシェア」。機械学習の知識を深めたいエンジニアのために、サイトから厳選したプレゼン資料を紹介します。データ分析やディープラーニングに焦点を当てているので、興味がある方はチェックしてみてください。 ①機械学習によるデータ分析まわりのお話 機械学習によるデータ分析まわりのお話 from Ryota Kamoshida 『機械学習によるデータ分析まわりのお話』では主に、
既に深層学習は、chainerやtensorflowなどのフレームワークを通して誰の手にも届くようになっています。機械学習も深層学習も、あまりよくわからないが試してみたいなという人が数多くいるように思います。そして、実際に試している人たちもたくさん居るでしょう。 そんなときにぶち当たる壁は、多種多様なハイパーパラメータの設定です。 これはテストデータの精度に対して、試行錯誤を繰り返しながら決めていくしかありません。 しかし闇雲に値を変えて試してみてもあまり良い成果は得られないでしょう。 今回は、各ハイパーパラメータがそもそもどのような効果を持っているのかをまとめ、学習を行う際の指針になるようにしたいと思います。 ハイパーパラメータとは ユニットの数をどうするべきか 中間層のユニットの数を膨大にする 中間層のユニットの数を少なくする 結局どちらが良いのか 荷重減衰 荷重減衰の効果 荷重減衰の
皆さんこんにちは お元気ですか。私は元気です。 今日はScikit-learnで扱えるモデルについて紹介したいと思います。気が向いたら追加します。 ※Sampleは割りと公式サイトのを少々改変したもの使っていたりします。ご了承ください。 モデル全般について Parameter パラメータ内容 書き換え対象 閾値 tolの書き換え 初期値 random_stateを入れる 途中経過 verboseを1にする(Defaultは0) 最大回数 max_iter(defaultは永久に止まらない(-1))が選択されていることもある 並列thread数 n_jobsの変更、n_jobs=-1とすると動かせる最大の数となる Method 関数 内容 fit 渡したデータに基いて学習を行う predict 予測する、所属しているクラスが返ってくる get_params パラメータを取得する predic
2. 本⽇の内容 l機械学習 lプログラミング⾔語Python lPythonでの機械学習 l各種⼿法の⽐較 lDeep Learningの利⽤ (Chainer / Keras) lまとめ サンプルコードはgithubにあります https://github.com/yasutomo57jp/ssii2016_tutorial https://github.com/yasutomo57jp/deeplearning_samples 3. 機械学習とは l データから規則性や知識を⾒つけること l 出来ること Ø 回帰 ²関数のパラメータを推定する Ø クラス分類 ²クラスを分類する基準,ルールを⾒つける Ø クラスタリング ²データを複数の集合に分割するルールを⾒つける データに潜む規則性 知識を発⾒ ⼤量の データ 機械学習
こんにちは、小澤です。 今回は、scikit-learn入門として、機械学習を使ったシステム構築の流れを見てみましょう。 機械学習というと複雑な数式などを駆使して難しいプログラムを実装するイメージがあるかもしれませんが、 ライブラリを利用するだけであれば簡単であることがわかるかと思います。 機械学習の種類 機械学習には様々な種類のものがあります。 ここでは、分類方法として以下のようにしています。 教師あり学習 教師なし学習 その他(半教師あり学習、強化学習など) 教師あり学習 教師あり学習ではデータと正解ラベルの2つの情報が渡されます。 大量のデータから「このデータの正解はこのラベルであった」というパターンを見つけ出して、正解ラベルのないデータに対してもそれを予測するものになります。 教師あり学習はさらに正解ラベルの種類によって回帰と分類に分けられます。 回帰は、正解となる値が連続した数値
データプラットフォームチームの野本です。機械学習基盤の構築やその周辺アプリケーションの実装を行っています。以前は DOOR 賃貸の開発運用をしていてこんなことなどしてました。 機械学習システム運用の課題 リブセンスでは 2014 年ごろから機械学習システムの開発導入を行っており以降様々な機械学習システムを各サービスに導入してきました。また自社でのデータ分析基盤の運用も行うようになってから機械学習システムの開発の幅が広がり導入の要望も次第に増えてきました。(参考:リブセンスのデータ専門組織のこれまでとこれから) 当初は機械学習システムに対する運用知見などが少なかったため、専用のインフラというものは保持せず各サービスのインフラに相乗りし、サービスのアプリケーションと密に連携し機械学習システムを実装運用することが多かったです。各サービスは元々オンプレミスで運用されていたものが多かったのですが、現
Googleの画像認識APIを基に、好きな画像を学習させて認識機能を簡単にカスタマイズできる「Cloud AutoML Vision」発表 Googleは、Googleが提供する学習済み機械学習APIを基に、ユーザーが自分のデータを学習させることで認識機能をカスタマイズできる「Cloud AutoML」を発表しました。 「Cloud AutoML」に対応したAPIの第一弾として、ユーザーが独自の画像を学習させられる「Cloud AutoML Vision」を発表しました。 学習済みの機械学習APIに対して追加で学習可能 Googleは、機械学習を用いた画像認識APIとして「Cloud Vision API」を以前から提供しています。 Cloud Vision APIはあらかじめGoogleによって学習済みであるため、画像を読み込ませるだけで、人間の顔の検出や猫や犬といった動物、船や飛行機、
久しぶりの記事更新です。 今回はかねてより書いてみたかったword2vecについて。 word2vecはとても面白い考え方なのですが、個人的には仕組みがちょっと捉えづらく、理解するのに結構時間がかかりました。 そこで今回は、過去の自分を救えるように、word2vecをできるだけ簡潔に、そして直観的に理解できるように解説していきます。 なお、word2vecについては以下書籍でよくまとまっているので、よろしければ是非! Pythonと実データで遊んで学ぶ データ分析講座 作者: 梅津雄一,中野貴広出版社/メーカー: シーアンドアール研究所発売日: 2019/08/10メディア: 単行本(ソフトカバー)この商品を含むブログを見る ※追記※ スマホのAMPだと、行列や数式がうまく表示されない可能性がありますので、こちらのリンクかPCから購読頂けますと幸いです。 word2vecを使うと何ができる
Photo by Strelka Institute for Media, Architecture and Design 秋山です。 最近、機械学習の勉強をしている人や、機械学習に関連した研究開発の求人を探す人がすごく増えてきましたね。弊社のエンジニアにも機械学習を勉強中の人達が何人かいます。 ただ、「機械学習を勉強したいけど、難しすぎて何から手を付けたらいいのかよくわからない」という人も多いです。それなりに開発経験のあるエンジニアでもそうなので、経験の浅い人だと、なおさらかと思います。 機械学習と一言で言っても、実践するのに必要な知識の分野は多岐に渡ります。 そこで今回は、未経験者が機械学習エンジニアとして転職するにはどういった知識や勉強が必要なのかを書いていきます。 ■最低限必要な知識 ◆プログラミングスキルとライブラリを使える知識 Pythonには、Tensorflowやsciki
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く