タグ

ブックマーク / qiita.com (220)

  • ベイズ最適化入門 - Qiita

    最近ちらほらベイズ最適化について聞くのでまとめてみました。 特に専門でもないので間違ったことが書いてあったりするかもしれませんがもし発見したら指摘して頂けると助かります。 ベイズ最適化のモチベーション 世の中、実際に実験することが面倒くさいものはかなり多いです。なので計画的に実験をデザインしたくなります。 そこで実験するたびに今までの実験結果に基づいて"ベイズ的に"次の実験をデザインするのがベイズ最適化です。 実際使われている分野としては例えば 広告(どのようにA/B testするかとか) 生物学(良さそうなDNAを決定してそれに基づいて実験したいときとか?) 物理or化学(マテリアルデザイン) 機械学習(Deep Learningなど)におけるハイパーパラメータサーチ 強化学習 みたいなものがあるそうです。 最も基的な例である機械学習のハイパーパラメーターサーチにおいてはマニュアルであ

    ベイズ最適化入門 - Qiita
    hoxo_m
    hoxo_m 2016/04/20
    なに言ってるかよくわからない。こちらのほうがいい http://chika0509.hatenablog.com/entry/2016/04/17/090000
  • ノンパラメトリックベイズ入門 - Qiita

    ノンパラメトリックベイズのことを最近勉強したので頭の整理もかねてまとめてみました。 特に専門でもないので間違いがあったら指摘していただけると助かります。 モチベーション ノンパラメトリックベイズは簡単に言えば無限次元のベイズモデルです。(パラメータがない訳ではないです)理論自身はかなり前からもう既に大体出来ていて2000年代になってから機械学習の文脈でそれが使えるってなってきたらしいです。 例えばクラスタリングをするとき普通、混合数を指定します。しかしノンパラメトリックベイズでは一旦、無限個のクラスターがあると考えることで自動的に混合数が決まります。 具体的にいうと下のようなgifのようになります。 色が同じだと同じクラスターとしています。クラスター数を指定している訳ではないですが上手くクラスタリングできていることが分かると思います。今回はこの無限混合モデルの実装を目標とします。 コードは

    ノンパラメトリックベイズ入門 - Qiita
  • データ分析環境の構築にDockerを利用しよう

    📜 要約 コンテナー管理ソフトウェアのDockerを利用することで、データ分析の場面で利用頻度の高いRおよびPythonの分析環境として実行することが出来るRStudio Server、Jupyter、Beaker Notebookを容易に構築可能になる。Dockerを使うことの利点として、複数人でのデータ分析や将来の利用面においてデータ分析結果の再現性を高められると考えられる。 🍵 前置き〜データ分析者が直面する再現性への挑戦 データ分析の結果が、自分以外では再現できない、同じデータを使っているのにナンデ!?ということが時々あります。その原因として多いのが分析に関わる人間が利用する実行環境の違い、です。大きなものではOS、小さなものでは分析に利用するツール体や拡張機能(パッケージやモジュール)のバージョンの違いがあります。 こうした再現性の問題は、複数人でデータ分析を行う時だけでな

    データ分析環境の構築にDockerを利用しよう
  • Pythonのパッケージ開発メモ - Qiita

    bash-3.2$ tree . ├── hoge │   ├── Hoge.py │   └── __init__.py ├── setup.py └── test ├── TestHoge.py └── __init__.py ./hogeにパッケージのソースを入れる ./testに単体テストコードを入れる それぞれにinit.pyを用意(中身は空で良い) Pythonは、sys.pathの各ディレクトリに置かれた「ファイルそれ自体」か、「サブディレクトリでinit.pyファイルを含む」をimport対象のパッケージと認識する setup.py おまじない…。

    Pythonのパッケージ開発メモ - Qiita
  • [翻訳] httr vignette: APIパッケージ作成のベストプラクティス - Qiita

    この文書は Hadley Wickham によるRパッケージhttr (version 1.1.0) のビネット "Best practices for writing an API package" の翻訳です. License: MIT 関連記事:httrはやわかり この文書にはweb APIに接続するパッケージを書くためのベストプラクティスを集めています.目標は,安全かつセキュアで長期に渡って動作し続けるパッケージを読者が作成するのを手助けすることです. もしweb APIに取り組むのが初めてであれば,zapierによる "An introduction to APIs" を読むことから始めてください. 重要な情報 APIを書くときには,そのAPIの一般的な規約を表現するヘルパ関数を書くことから始めるのがベストです.これらの関数は以下のような情報を表すことになります: すべてのAPI

    [翻訳] httr vignette: APIパッケージ作成のベストプラクティス - Qiita
    hoxo_m
    hoxo_m 2016/03/22
    ちょう素晴らしい!
  • Rでプログラムスライシングに負けない関数をつくる - Qiita

    概要 ただのおあそびです。 R でプログラムスライシング #rstatsjに負けない関数を作ります。 ※fix_slicing関数の内容等については、上のリンク先を参照してください。 そもそものモチベーション ifの中でprintしたりするとどうなるのかな、ということを思ったわけです。当に最初に思ったのは、副作用はどうなるんだろう、ということだったんですが。 > unnaturalFunction0 <- function(a,...){ + if(T | print(a)) + a + } > fix_slicing(unnaturalFunction0(a=1:2)) function (`a = 1:2`, ...) if (T | print(1:2)) 1:2 むむむ、意外とかしこい(?) 他にも結構いろいろ試してみた結果、結構かしこいということがわかりました。 かくなる上は…

    Rでプログラムスライシングに負けない関数をつくる - Qiita
    hoxo_m
    hoxo_m 2016/01/18
    fix_slicing() のバグを見つけていただきました。ありがたや~。
  • LSTMネットワークの概要 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Christopher Olah氏のブログ記事 http://colah.github.io/posts/2015-08-Understanding-LSTMs/ の翻訳です。 翻訳の誤りなどあればご指摘お待ちしております。 ##リカレントニューラルネットワーク 人間は毎秒ゼロから思考を開始することはありません。このエッセイを読んでいる間、あなたは前の単語の理解に基づいて、各単語を理解します。すべてを捨てて、またゼロから思考を開始してはいません。あなたの思考は持続性を持っています。 従来のニューラルネットワークは、これを行うことができま

    LSTMネットワークの概要 - Qiita
    hoxo_m
    hoxo_m 2016/01/08
    LSTMが複雑なことだけはわかった。
  • r-wakalang へようこそ - Qiita

    統計解析やデータの可視化に優れたRという言語があります。フリーで利用できること、外部パッケージの利用により多種多様な解析手法が適用できること、ドキュメントが充実していることなどの理由で多くの研究者や企業、データ解析に携わる人々の間で愛されている言語です。 今日はそんなRに関する、日で唯一?なSlackのチームである「r-wakalang」について紹介させていただきます。他のプログラミング言語やSlackのチームの方から、こうしたコミュニティをさらに盛り上げるためのご意見など伺えればと思っております。 r-wakalang とは Rのわからないことへの質問を日語でする場所 「こういうのが欲しい」という雑な妄想や夢でもいいかも。そうすると匿名知的集団ホクソエムが開発してくれるかも・・・? ありそうでなかった、@teramonagi さんの鶴の一声で生まれたGitHubのリポジトリ並びにSl

    r-wakalang へようこそ - Qiita
    hoxo_m
    hoxo_m 2015/12/06
    reject部屋は主要チャンネルだったのかw
  • SVMを使いこなす!チェックポイント8つ - Qiita

    僕はSVMが大好きです.シュパッてきれいに分類できている姿を見ると,かっこよくてドキドキします. 今回は,SVMの性能を最大限に引き出すために知っておくと役立つことを書いていこうと思います.ちょっとチューニングを行うだけで,10%〜20%精度が向上するなんてことはよくあります. なお,記事は使いこなし方にフォーカスしているので,理論的なことを知りたい方は別途確認して下さい. 特徴量の作成 まずは,適切な特徴量を作成するにあたって注意すべきことを2つ紹介します. 1. スケーリング スケーリングとは,特徴量のとりうる値の範囲をあらかじめ調整してあげることです. なぜスケーリングするの? 理由は2つあります. 大きい値の範囲をとる特徴量に引きずられないようにします.[0,10]での1と2の違いは1だけですが,[0,10000]での1の100の違いよりもずっと重要です.すなわち,これらを対等に

    SVMを使いこなす!チェックポイント8つ - Qiita
    hoxo_m
    hoxo_m 2015/12/03
    丁寧な説明。
  • 【統計学】マルコフ連鎖モンテカルロ法(MCMC)によるサンプリングをアニメーションで解説してみる。 - Qiita

    Pythonでマルコフ連鎖モンテカルロ法を実装して解説してみる記事です 『計算統計 II マルコフ連鎖モンテカルロ法とその周辺』のp16に この節の内容を実感するために一番良い方法は、どんな計算機言語でもいいから、 ここで述べたことを白紙から実装してみることである。 という事で、素直にやってみました。せっかくなのでコードと仕組みの解説をしようと思います。 先に結果のアニメーションとプロットを表示しておきます (Burn-in期間:1-30 [この期間のデータは色を薄くしてプロットしています。], 棄却含め150回のサンプリングまで) 10,000回繰り返してサンプリングした結果をプロット。(うち、Burn-in: 2,000回) はじめに まず最初に必要なライブラリのインポートを行います。 import numpy as np import numpy.random as rd impor

    【統計学】マルコフ連鎖モンテカルロ法(MCMC)によるサンプリングをアニメーションで解説してみる。 - Qiita
    hoxo_m
    hoxo_m 2015/11/28
    アニメーションで理解する統計学シリーズ最新作。そろそろまとめがほしい。
  • 超訳 PyMC3 Tutorial (マルコフ連鎖モンテカルロ法フレームワーク)その1 - Qiita

    Pythonでマルコフ連鎖モンテカルロ法(MCMC)を実行できるライブラリ、PyMC3のチュートリアルの訳を書いてみました。タイトルにあるように、原文をそのままではなく意訳を超えた「超訳」です 原文のURL http://pymc-devs.github.io/pymc3/getting_started/ イントロダクション(だいぶ省略) 確率的プログラミング(Probabilistic programming : PP)は柔軟なベイズ統計モデルをプログラムで行うことを可能にします。 PyMC3は新しいオープンソースの確率プログラミングフレームワークで、No-U-Turn Sampler (NUTS; Hoffman, 2014)や、ハミルトニアンモンテカルロ法 (HMC; Duane, 1987)のパラメーターの自己チューニングなど、次世代のマルコフ連鎖モンテカルロ法(MCMC)が使える

    超訳 PyMC3 Tutorial (マルコフ連鎖モンテカルロ法フレームワーク)その1 - Qiita
  • dplyrを使いこなす!JOIN編 - Qiita

    はじめに 今回は、複数(主に2つ)のdata.frameを結合する方法についてまとめます。 実際に分析する際に、1つのdata.frameだけで完結することはあんまりなく、マスタデータの結合など複数のdata.frameを組み合わせて使う必要がありますが、またまたdplyrを使えば簡単にできます。 結合と言っても、結構色んな方法があるので、分かりやすいようにチートシートからイメージ図を拝借してきました。 1つのdata.frameを操作する場合は、↓の記事を参照してください。 dplyrを使いこなす!基礎編 dplyrを使いこなす!Window関数編 JOINの種類 JOINの種類は大きく分けて以下の3つあります。 種類 説明

    dplyrを使いこなす!JOIN編 - Qiita
    hoxo_m
    hoxo_m 2015/09/14
    新作キタ!これまた素晴らしい!
  • dplyrを使いこなす!Window関数編 - Qiita

    はじめに dplyrの使い方にちょっと慣れてくると、「あー、これもうちょっと簡単にできないの?」みたいな事が出てきたりします。 今回は、そんな悩みをほんのちょっと解決できるかもしれない、Window関数について解説したいと思います。 SQLに詳しい人はすぐイメージできると思いますが、私の周りにもWindow関数の存在自体を知らない人が結構居たのでいい機会なので、ざっくりまとめます。 dplyrってなんぞやという方は、基礎編の記事を見ていただければと。 Window関数を使うと簡単にできることの例 とは言っても、具体的に何ができるのか、分からなかったら読むのもメンドクサイので、まずは簡単にできることを紹介します。 ランキング(タイ順位考慮あり、なし等含む) 前日比、前週比(前後のレコードとの比較等) 累積(累積和等) 移動平均(Windowサイズの指定、Windowの位置、重み等) どれも自

    dplyrを使いこなす!Window関数編 - Qiita
    hoxo_m
    hoxo_m 2015/09/07
    超素晴らしい記事!
  • 俺俺Stan manual翻訳:4章 - Qiita

    文章はStan Modeling Language Stan Development Team. 2015. Stan Modeling Language Users Guide and Reference Manual, Version 2.7.0.の4章: Containers: Arrays, Vectors, and Matricesの翻訳となります。 訳者は勉強がてら翻訳しようと思っただけで、プログラムの専門家でもデータ解析の専門家でもありません。そのため誤訳・意味の取り違えなどあると思いますが、その際はご指摘いただけると幸いです。5章はやりたいと思っていますが、その先は未定です。また、翻訳ペースも気分しだいです。ご了承ください。 4.データ格納形式: Arrays, Vectors, and Matrices Stanにはarrays, vectors, matrices3種

    俺俺Stan manual翻訳:4章 - Qiita
    hoxo_m
    hoxo_m 2015/08/29
    4章来ました!データコンテナの説明です。
  • 俺俺Stan manual翻訳:3章 - Qiita

    文章はStan Development Team. 2015. Stan Modeling Language Users Guide and Reference Manual, Version 2.7.0.の3章: Data Typesの翻訳となります。 訳者は勉強がてら翻訳しようと思っただけで、プログラムの専門家でもデータ解析の専門家でもありません。そのため誤訳・意味の取り違えなどあると思いますが、その際はご指摘いただけると幸いです。4章、5章はやりたいと思っていますが、その先は未定です。また、翻訳ペースも気分しだいです。ご了承ください。 3.データ型 章ではStanで変数の宣言や、式の値に使われるデータ型について議論します。変数の型はパラメータの宣言、データの一貫性、関数の呼び出し、変数に値を割り当てる場合のすべてにおいて重要な要素となります。 Stanにおいて、すべての式と変数の

    俺俺Stan manual翻訳:3章 - Qiita
    hoxo_m
    hoxo_m 2015/08/25
    素晴らしい!
  • 【word】docxtractrパッケージで.docx内の表からデータを抽出する【これはすごい】 - Qiita

    キャプテンアメリカが一晩でやってくれました。 こんな話があったそうです。 Is it possible to import data entered in MS Word into R - I have multiple tables in 235 files that need importing #rstats — Richard Telford (@richardjtelford) August 23, 2015 これに対し、Rudisは「Yes」と答え、たった数時間のうちに素晴らしいパッケージを開発しました。 パッケージ開発の経緯や詳細についてはRudisの記事を見てください。 Using R To Get Data Out Of Word Docs | rud.is New Pacakge “docxtractr” – Easily Extract Tables From Mic

    【word】docxtractrパッケージで.docx内の表からデータを抽出する【これはすごい】 - Qiita
    hoxo_m
    hoxo_m 2015/08/25
    これはすごい。
  • 【統計学】【R】分位点回帰を使ってみる。 - Qiita

    分位点回帰、という手法のご紹介です。 通常の回帰直線は、$x$が与えられた時の$y$の条件付き期待値(平均)と解釈できますが、分位点回帰では、25%分位点、とか95%分位点、等で使われる "分位点" をベースに回帰直線を引いてみようというものです。 何はともあれ、まずはこれを使ってグラフを書いて可視化を試みます。 1.誤差の分散が説明変数に依存した正規分布の例 説明変数$x$が小さいところでは誤差の分散が小さく、大きいところでは誤差の分散も大きくなるようなケースです。そんなデータを生成して試しています。 分位点回帰では、分位点ごとに異なる $\beta$が設定されるので、それぞれ傾きが異なります。 分位点回帰の実行結果 下から順に5%, 10%, 25%, 75%, 90%, 95%の分位点回帰直線と、通常の回帰直線です。 まずはデータを生成して散布図を描きます。 # 未インストールならイ

    【統計学】【R】分位点回帰を使ってみる。 - Qiita
  • 既存パッケージ内のS4メソッドの書き換え - Qiita

    a_bickyさんの記事( http://d.hatena.ne.jp/a_bicky/20130324/1364102923 )見て試してみた。 手元の関数で既存パッケージ内のS4メソッドを書き換える。結構面倒。どんだけ汎用性があるのかわからないけど、この方向で行けそう。 もっと簡単な方法あるのかな? > updateS4 <- function(fname, def, signature, package) {+ ns <- asNamespace(package)+ environment(def) <- ns+ gen <- getGeneric(fname, ns)+ obj <- methods:::.TableMetaName(fname, gen@package)+ unlockBinding(obj, ns)+ unlockBinding(fname, ns)+ setM

    既存パッケージ内のS4メソッドの書き換え - Qiita
    hoxo_m
    hoxo_m 2015/07/28
    kohske 師、天才や!
  • 週間少年ジャンプの掲載順位データを作る(Rで) - Qiita

    はじめに ジャンプの掲載順位データを可視化するという素敵な記事がありました。 ジャンプの掲載順位データという大変素敵なHPから、pythonのbeautifulsoupでスクレイプしてデータを可視化する、といった内容でした。 同じことを、Rでやってみます。 作成されたデータはGistにあります。 データの取得 スクレイプはrvestで、文字列処理はstringiでゴリゴリやりましょう。 まずはパッケージの準備。 ## 結果を入れるデータテーブル jump_data = data.table(NULL) ## データがあるのは、1999年から2015年まででした。 for(year in 1999:2015) { ## リンクがまとまっているページのurl link_page = paste("http://hamada.tsukaeru.info/jump/", year, "/jump"

    週間少年ジャンプの掲載順位データを作る(Rで) - Qiita
    hoxo_m
    hoxo_m 2015/07/26
    富樫仕事しろw
  • 組合せ最適化を使おう - Qiita

    野菜の選び方はナップサック問題、乗り換え駅探索は、最短路問題といいます。典型問題は、よく研究もされているので、多くの場合、効率的な解法があります。あるいは、定式化がされているので、すぐ解くことができます。あとで、やってみましょう。ここで、あげている全ての典型問題の実行例は、典型問題と実行方法をご覧ください。 汎用問題 最近、私がやっているコンテナの仕事のお話しをします。 世界中の人たちが、いろいろなものを安く買えるのはコンテナ輸送のおかげです。中国などで生産したものを日アメリカやヨーロッパに、大量に安く運べるからです。でも、空のコンテナが、どんどんたまります。また中国に戻さないといけません。いつ、どこからどこに戻すかを決めるのが、最小費用流問題になります。ところが、最小費用流問題で表せない制約条件もあります。1 つが、カボタージュとよばれるものです。カボタージュというのは、国内のみの輸

    組合せ最適化を使おう - Qiita
    hoxo_m
    hoxo_m 2015/07/13
    詳しい。