タグ

ブックマーク / qiita.com/kenmatsu4 (8)

  • XGBoostのお気持ちをちょっとだけ理解するためのメモ - Qiita

    現在、Kaggleにてよく使われる手法の一つにGBDT(Gradient Boosting Decision Tree)があります。さらにその種類の1つXGBoostはKagglerによりその効果を検証され非常に人気の高いアルゴリズム・実装です。このブログでは、XGBoostの論文からアルゴリズムを理解するための主要な部分、 TREE BOOSTING IN A NUTSHELL 2.1 Regularized Learning Objective 2.2 Gradient Tree Boosting を丁寧に解説することを目的に書いています。 また、ここで解説した理論、アルゴリズムについてはLightGBMにおいてもほぼ同じと思いますので、合わせて参考になるかと思います。 おことわり しかしながら、最初におことわりをさせていただくのですが、markdowntexでキレイにまとめる余裕が

    XGBoostのお気持ちをちょっとだけ理解するためのメモ - Qiita
  • EMアルゴリズム徹底解説 - Qiita

    ブログは、混合ガウス分布を題材に、EMアルゴリズムという機械学習界隈では有名なアルゴリズムを丁寧に解説することを目的として書いています。 また、この記事は、「数学とコンピュータ Advent Calendar 2017」の24日目の記事です。 そして長いです。 1. はじめに 観測した確率変数 $X$ をよく表現する、モデル $p(x|\theta)$ のパラメータを求めることが確率分布の推定ではよく行われます。つまり最尤法ですね。より複雑な分布になるとその分布の構造に潜在変数(Latent Variable) $Z$ があると仮定してモデル化を行うと、シンプルな組み合わせで $X$ の分布を表現できることがあります。今回扱う混合ガウス分布もその一つです。 のちに説明しますが、データセットの種別を完全データ集合と不完全データ集合に分けた場合、不完全データ集合に属するようなデータセットはデ

    EMアルゴリズム徹底解説 - Qiita
  • Variational Autoencoder徹底解説 - Qiita

    今回はディープラーニングのモデルの一つ、Variational Autoencoder(VAE)をご紹介する記事です。ディープラーニングフレームワークとしてはChainerを使って試しています。 VAEを使うとこんな感じの画像が作れるようになります。VAEはディープラーニングによる生成モデルの1つで、訓練データを元にその特徴を捉えて訓練データセットに似たデータを生成することができます。下記はVAEによって生成されたデータをアニメーションにしたものです。詳しくは文をご覧ください。 記事で紹介している内容のPythonコードはコチラにあります。 1. Variational Autoencoderとは? まず、VAEとはどんなものであるかを説明したいと思いますが、その前に通常のオートエンコーダーについて触れたいと思います。 1-1. 通常のオートエンコーダー オートエンコーダーとは、 教師

    Variational Autoencoder徹底解説 - Qiita
  • 確率的勾配降下法とは何か、をPythonで動かして解説する - Qiita

    勾配降下法は何に使う? 勾配降下法は統計学や機械学習で多く使われています。特に機械学習というのは基的に何かしらの関数を最小化(最大化)する問題を数値解析的に解くことに帰結する場合が多いです。(e.g. 最小二乗法 → 誤差の二乗和を最小化(参考)、ニューラルネットワークのパラメータ決定 etc...) なので、基的にはひたすら微分して0となるところを探す問題ですね、微分して0。で、その微分して0となる値は何か、をプログラムで解く場合に重要になるのがこの勾配降下法です。幾つか勾配法にも種類がありますがここでは最急降下法、確率的勾配降下法の2つを扱います。まずはイメージをつかむために1次元のグラフで確認していきたいと思います。 1次元の場合 1次元の場合は、確率的という概念はなく、ただの勾配降下法になります。 (どういうことか、はのちほど) 1次元の例は、正規分布をマイナスにしたものを使っ

    確率的勾配降下法とは何か、をPythonで動かして解説する - Qiita
  • 機械学習プロフェッショナルシリーズ輪読会スライドまとめ - Qiita

    機械学習プロフェッショナルシリーズ輪読会の発表スライドをまとめたページです。 随時更新します。 機械学習プロフェッショナルシリーズ輪読会 Conpass URL: http://ml-professional.connpass.com 1冊目:「深層学習」 2冊目:「異常検知と変化検知」 #1「深層学習」編 http://bookclub.kodansha.co.jp/product?isbn=9784061529021 正誤表 chapter 1: はじめに @a_macabee http://www.slideshare.net/beeEaMa/chapter-01-49404580 Chapter 2:順伝播型ニューラルネットワーク @a_macabee http://www.slideshare.net/beeEaMa/chapter-02-49488411 Chapter 3:確

    機械学習プロフェッショナルシリーズ輪読会スライドまとめ - Qiita
  • 【ディープラーニング】ChainerでAutoencoderを試して結果を可視化してみる。 - Qiita

    ChainerでAutoencoderを試してみる記事です。前回の記事、「【機械学習】ディープラーニング フレームワークChainerを試しながら解説してみる。」の続きとなります。ディープラーニングの事前学習にも使われる技術ですね。 記事で使用したコードはコチラから取得できます。 1.最初に AutoencoderとはAuto(自己) encode(符号化)er(器)で、データを2層のニューラルネットに通して、自分自身のデータと一致する出力がされるようパラメーターを学習させるものです。データだけあれば良いので、分類的には教師なし学習になります。 学習フェーズ こんなことをして何が嬉しいのかというと、 入力に合わせたパラメーター$w_{ji}$を設定できる。(入力データの特徴を抽出できる) その入力に合わせたパラメーターを使うことでディープなニューラルネットでの学習を可能にする(ランダム値

    【ディープラーニング】ChainerでAutoencoderを試して結果を可視化してみる。 - Qiita
  • 【機械学習】ディープラーニング フレームワークChainerを試しながら解説してみる。 - Qiita

    今話題のDeep Learning(深層学習)フレームワーク、Chainerに手書き文字の判別を行うサンプルコードがあります。こちらを使って内容を少し解説する記事を書いてみたいと思います。 (記事のコードの全文をGitHubにアップしました。[PC推奨]) とにかく、インストールがすごく簡単かつ、Pythonが書ければすぐに使うことができておすすめです! Pythonに閉じてコードが書けるのもすごくいいですよね。 こんな感じのニューラルネットワークモデルを試してみる、という記事です。 主要な情報はこちらにあります。 Chainerのメインサイト ChainerのGitHubリポジトリ Chainerのチュートリアルとリファレンス 1. インストール まずは何はともあれインストールです。ChainerのGitHubに記載の"Requirements" ( https://github.co

    【機械学習】ディープラーニング フレームワークChainerを試しながら解説してみる。 - Qiita
  • 【機械学習】Yahoo Newsの記事をMLlibのトピックモデル(LDA)でクラスタリングする。 - Qiita

    Sparkシリーズ第3弾の記事です。MLlibのLDAを使ってYahoo Newsの記事をトピックモデル(LDA:Latent Dirichlet allocation)でクラスタリングしてみます。 第一弾 【機械学習】iPython NotebookでSparkを起動させてMLlibを試す http://qiita.com/kenmatsu4/items/00ad151e857d546a97c3 第二弾 【機械学習】Spark MLlibをPythonで動かしてレコメンデーションしてみる http://qiita.com/kenmatsu4/items/42fa2f17865f7914688d 0. 環境 OS: Mac OSX Yosemite 10.10.3 Spark: spark-1.5.0-bin-hadoop2.6 Python: 2.7.10 |Anaconda 2.2.0

    【機械学習】Yahoo Newsの記事をMLlibのトピックモデル(LDA)でクラスタリングする。 - Qiita
  • 1