タグ

mlに関するma38suのブックマーク (25)

  • 「Kaggleで勝つデータ分析の技術」2章 QWK についての補足|Maxwell

    私事ですが,先日開催されていました「Kaggleで勝つデータ分析技術」(以下,Kaggle )の勉強会にひっそりと参加してきました. 私が執筆担当をしていました 2 章をちょうどやるとのことで,読者の方々はどんなところで詰まるか,もしくは分かりにくいと感じるかを勉強させていただくのに良い機会と考えたのが参加理由でした. 勉強会中に,「2.3.5 多クラス分類における評価指標」の中の Quadratic Weighted Kappa(以下,QWK)に関して,発表担当の方が疑問点を述べられていましたので,今日はその点に関して簡単な補足をしたいと思います. 1.   はじめにQWK はマルチクラス分類用の評価指標で,クラス間に順序関係があるような場合に使用されます. 2019年の 6 月末から 9 月初頭にかけて Kaggle で開催された APTOS 2019 Blindness Dete

    「Kaggleで勝つデータ分析の技術」2章 QWK についての補足|Maxwell
  • PythonでXgboost - Yuki Okuda

    2015-08-08 xgboost package のR とpython の違い - puyokwの日記 puyokwさんの記事に触発されて,私もPythonでXgboost使う人のための導入記事的なものを書きます.ちなみに,xgboost のパラメータ - puyokwの日記にはだいぶお世話になりました.ありがとうございました. Xgboostとは dmlc/xgboost Xgboostは言わずと知れた最近流行りのGradient Boosting系のライブラリで,独立したバイナリとしてコマンドラインから実行できるほか,RやPythonからもライブラリとして利用することができる.詳しくい情報は以下の記事を参照していただきたい. 勾配ブースティングについてざっくりと説明する - About connecting the dots. xgboostとgbmのパラメータ対応一覧をつくる -

  • 機械学習で時間帯を説明変数にする - wonderful cool something

    機械学習や多変量解析で「時間帯」(何時ごろに発生したイベントであるか)を説明変数として使いたい場合どのようにするのがよいか。 何時に発生したかというのは生データの中では0時から24時までの数値として与えられるだろう。最初に思いつくのはこれをそのまま間隔尺度として利用する方法だ。 まずは実験のための適当なデータを作る。3時、12時、24時を中心に正規分布する3つのグループのデータを生成する。 %matplotlib inline from numpy.random import normal num_samples = 1000 hours = [3, 12, 24] groups =[Series(normal(size=num_samples)).add(hour).mod(24) for hour in hours] bins = (range(0, 24)) plt.hist(gro

    機械学習で時間帯を説明変数にする - wonderful cool something
    ma38su
    ma38su 2019/06/17
  • Python: XGBoost を使ってみる - CUBE SUGAR CONTAINER

    XGBoost (eXtreme Gradient Boosting) は勾配ブースティング決定木 (Gradient Boosting Decision Tree) のアルゴリズムを実装したオープンソースのライブラリ。 最近は、同じ GBDT 系のライブラリである LightGBM にややお株を奪われつつあるものの、依然として機械学習コンペティションの一つである Kaggle でよく使われている。 今回は、そんな XGBoost の Python バインディングを使ってみることにする。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.14.2 BuildVersion: 18C54 $ python -V Python 3.7.2 もくじ もくじ 下準備 乳がんデータセットを分類してみる 学習過程を可視化する

    Python: XGBoost を使ってみる - CUBE SUGAR CONTAINER
  • xgboost4j より数千倍速く predict できる Pure Java な XGBoost 互換の予測器を作ってみた

    TL;DR XGBoost で構築した予測モデルを Java から利用したい、それも特徴ベクトルが一つ一つ、任意のタイミングで与えられるような オンライン環境下 で リアルタイムな予測 を実現するために利用したい、という目的を叶えるためのモジュールを作りました。 Github: komiya-atsushi/xgboost-predictor-java Bintray: xgboost-predictor (XGBoost の凄さとか XGBoost そのものの使い方とか GBDT/GBRT の解説はエントリにはありませんので、そのような情報を求めている方は他のブログエントリを読まれることをおすすめします。) xgboost4j という選択肢 Java から XGBoost を利用しようとすると、XGBoostをJavaのwrapperを使用して実行する - TASK NOTES にある

    xgboost4j より数千倍速く predict できる Pure Java な XGBoost 互換の予測器を作ってみた
  • ディープラーニング入門:Chainer チュートリアル

    Chainer チュートリアル 数学の基礎、プログラミング言語 Python の基礎から、機械学習・ディープラーニングの理論の基礎とコーディングまでを幅広く解説 ※Chainerの開発はメンテナンスモードに入りました。詳しくはこちらをご覧ください。 何から学ぶべきか迷わない ディープラーニングを学ぶには、大学で学ぶレベルの数学Python によるプログラミングの知識に加えて、 Chainer のようなディープラーニングフレームワークの使い方まで、幅広い知識が必要となります。 チュートリアルは、初学者によくある「まず何を学べば良いか」が分からない、 という問題を解決するために設計されました。 初学者は「まず何を」そして「次に何を」と迷うことなく、必要な知識を順番に学習できます。 前提知識から解説 このチュートリアルは、Chainer などのディープラーニングフレームワークを使ったプログ

    ディープラーニング入門:Chainer チュートリアル
    ma38su
    ma38su 2019/04/10
    こういうの外注してるのかな。
  • ディープラーニングで交通量調査の映像解析精度を上げるのに苦労した - Qiita

    サマリー ・映像解析による交通量調査の手法について ・解析結果の映像サンプルはこちら:https://youtu.be/kgjG6_hejE8 ・映像によっては誤認識しやすいエリアがある ・マスク機能について 映像解析による交通量調査の手法について ここではディープラーニングによる映像解析精度を上げるためには「解析しないこと」が早道だよ、という話をします。ディープラーニングそのもののチューニングによる解決ではなく、実装方法の工夫による回避なので、ディープラーニングの勉強にはならないかも。 あ、トップ画像ですが「small_truck」として軽貨物が判別できているのがちょっと自慢。ピンクの枠です。 ・やっぱり映像解析は簡単ではない 前の記事でも書いてますが、SSDにしてもMask R-CNNにしてもYOLO V3にしても物体検出は「静止画」に対して行います。動画をinputに選択できたとして

    ディープラーニングで交通量調査の映像解析精度を上げるのに苦労した - Qiita
  • 深い森(multi-Grained Cascade Forest)と浅い森(Random Forests)を動かして比較してみた - Qiita

    深い森(multi-Grained Cascade Forest)と浅い森(Random Forests)を動かして比較してみたPython機械学習MachineLearningrandomForestgcForest はじめに gcForestを動かしてみる。 背景 近年、機械学習のモデルは主にニューラルネットワークを用いる深層学習に注目が集まっている。しかし、一般的に深層学習を十分に利用するには、膨大な計算資源や、ネットワークの構造とパラメーターのチューニング、学習用の大規模データが必要というネガティブなポイントがある。これらの問題点を解決するために、深層学習の代替案として決定木とアンサンブル学習を利用して深く学習するgcForest(multi-Grained Cascade Forest)が提案されている。 内容 ページでは次のような決定木ベースの機械学習モデルを構築します。 R

    深い森(multi-Grained Cascade Forest)と浅い森(Random Forests)を動かして比較してみた - Qiita
  • 画像処理100本ノックを「Google Colaboratory」で楽々学習 - Qiita

    画像処理100ノックとは 以下のような素晴らしい記事を発見しました。 https://qiita.com/yoyoyo_/items/2ef53f47f87dcf5d1e14 (リンク切れ) 画像処理を、OpenCV等の高度なライブラリを使わず行うことで、画像処理の理解を深める、非常に有用な練習問題集です。自分も画像処理の基礎を学びなおしたかったので、自己学習のため活用させていただくことにしました。 ただ、初学者にとってハードルになりそうなのが、環境構築のところです。GitHubのREADMEに丁寧に描かれているのですが、初学者にとっては難易度高く、時間もかかります。また、自宅以外の環境でちょっと学習したいときなどにも不便です。 そんな手間を解消するために、Googleが提供している環境構築不要・無料でPythonの開発が可能なWebサービスGoogle Colaboratory」を使

    画像処理100本ノックを「Google Colaboratory」で楽々学習 - Qiita
    ma38su
    ma38su 2019/02/18
  • ハイパーパラメータ自動最適化ツール「Optuna」公開 - Preferred Networks Research & Development

    ハイパーパラメータ自動最適化フレームワーク「Optuna」のベータ版を OSS として公開しました。この記事では、Optuna の開発に至った動機や特徴を紹介します。 公式ページ 公式ドキュメント チュートリアル GitHub ハイパーパラメータとは? ハイパーパラメータとは、機械学習アルゴリズムの挙動を制御するパラメータのことです。特に深層学習では勾配法によって最適化できない・しないパラメータに相当します。例えば、学習率やバッチサイズ、学習イテレーション数といったようなものがハイパーパラメータとなります。また、ニューラルネットワークの層数やチャンネル数といったようなものもハイパーパラメータです。更に、そのような数値だけでなく、学習に Momentum SGD を用いるかそれとも Adam を用いるか、といったような選択もハイパーパラメータと言えます。 ハイパーパラメータの調整は機械学習

    ハイパーパラメータ自動最適化ツール「Optuna」公開 - Preferred Networks Research & Development
    ma38su
    ma38su 2018/12/04
  • DQNを卒業してA3Cで途中挫折しないための7Tips - Qiita

    はじめに ネットの数多あるコードを眺めたり、文献を読みながら、自分自身でA3Cの再現を試みたところ、落とし穴が多すぎて闇が深いと感じたので、そんな闇にはまるのは自分で最後にするため、ハマったところをTipsという形でまとめてみました これから自分でコード書いて頑張ってみようと思っている方はこれをみて少しでも闇にはまらないことを願っています A3Cってなに A3CはAsynchronous Advantage Actor-Criticの略で、2016年にあのDQNでおなじみのDeepMind社が発表した、 早い:AsynchronousかつAdvantageを使って学習させるので、学習が早く進む! 安い:DeepLearningといえばGPUという常識を覆して、安価なCPUだけで計算ができる! うまい:DQN(やその他の比較手法)より性能がいい! の三拍子が揃った牛丼のような深層強化学習手法

    DQNを卒業してA3Cで途中挫折しないための7Tips - Qiita
    ma38su
    ma38su 2018/09/20
  • 賭けと機械学習

    コインを投げて表が出るか裏が出るか賭けをするとします。表裏が出る確率が同じときには、表に賭けても裏に賭けてもアタリハズレは半々です。では、表と裏で出る確率が異なる場合(仮に表が出る確率を とします)はどうでしょうか? 最適な賭け方 正解は「確率の高い方に賭ける」です。数式で書くと のときは「表」、 のときは「裏」に賭けるのが最適な戦略になります。ここまでは直感的にもあきらかだと思います。 では、次に賭ける方も確率的に決めてよい、つまり「確率 で表に賭け、確率 で裏に賭ける」という賭け方が許される場合、最適な賭け方はどうなるでしょうか? 実はこの場合も先程と同様「 のときは表、 のときは裏に賭ける」が最適な戦略になります。つまり、確率的に賭け方を決めてよい場合でも(表裏の出る確率に応じて)決め打ちで賭けるのが正しい戦略です。人によっては当たり前に感じるかもしれませんが、それほど自明なことでは

    賭けと機械学習
    ma38su
    ma38su 2018/04/30
  • 教師なし学習は機械翻訳に魔法をかけるか? - ディープラーニングブログ

    つい先週,機械翻訳で驚くべき進展がありました. 教師なし機械翻訳がヤバい進化を遂げててびっくりした.たった半年でBLEUスコアを15から25に改善したのブレイクスルーでは?https://t.co/SVQlYYu2Pt 教師なし学習でこのクオリティの機械翻訳できるのまじで感動するし,ちょっと語っていい? pic.twitter.com/fBllGtTkgb— Ryobot | りょぼっと (@_Ryobot) 2018年4月23日 要約すると教師なし学習でもひと昔前の教師あり学習の機械翻訳に匹敵する性能を獲得できたというのです.この記事では機械翻訳を知らない初心者にもわかるように魔法のような教師なし機械翻訳の仕組みを説明したいと思います. 教師あり学習の限界 機械翻訳はディープラーニングを適用することで急激に進歩した分野の1つだと思います.Google 翻訳はニューラル機械翻訳を導入するこ

    教師なし学習は機械翻訳に魔法をかけるか? - ディープラーニングブログ
    ma38su
    ma38su 2018/04/28
  • 機械学習の精度と売上の関係

    【DL輪読会】言語以外でのTransformerのまとめ (ViT, Perceiver, Frozen Pretrained Transformer etc)

    機械学習の精度と売上の関係
    ma38su
    ma38su 2018/04/08
  • ニューラルネットの逆襲から5年後 | Preferred Research

    私が2012年にニューラルネットの逆襲(当時のコメント)というのをブログに書いてからちょうど5年が経ちました。当時はまだDeep Learningという言葉が広まっておらず、AIという言葉を使うのが憚られるような時代でした。私達が、Preferred Networks(PFN)を立ち上げIoT、AIにフォーカスするのはそれから1年半後のことです。 この5年を振り返る良いタイミングだと思うので考えてみたいと思います。 1. Deep Learning Tsunami 多くの分野がこの5年間でDeep Learningの大きな影響を受け、分野特化の手法がDeep Learningベースの手法に置き換わることになりました。NLP(自然言語処理)の重鎮であるChris Manning教授もNLPで起きた現象を「Deep Learning Tsunami」[link] とよびその衝撃の大きさを表して

    ニューラルネットの逆襲から5年後 | Preferred Research
    ma38su
    ma38su 2017/11/28
  • これさえ読めばすぐに理解できる強化学習の導入と実践

    強化学習の位置づけ 教師あり学習 教師なし学習 強化学習 強化学習の応用事例 Atariの攻略 AlphaGo ロボットの自動動作獲得 ファイナンスへの応用 広告配信の最適化 OpenAI Gymを使ってQ-learningを実装してみる 状態 行動 報酬 実装 参考文献 ディープラーニングなどの機械学習技術の進歩によって、過去のデータから学習する技術は大きく進化し、写真の中に写っている対象を認識することや病気の診断、多言語間の翻訳をする性能を著しく向上させることができました。 すでにその性能は専門的な教育を受けた人間の能力と同等 [1] か超えている分野もあるほどです。 一方で、人間にはデータを与えなくとも自ら経験から学び、スキルを上達させることができます。特に何も教えられなくとも、経験からゲームを攻略することやロボットの正しい動作の仕方を学んでいくことができます。 機械学習の中でも、こ

    これさえ読めばすぐに理解できる強化学習の導入と実践
    ma38su
    ma38su 2017/08/12
  • 機械学習のためのベイズ最適化入門

    db analytics showcase Sapporo 2017 発表資料 http://www.db-tech-showcase.com/dbts/analytics

    機械学習のためのベイズ最適化入門
    ma38su
    ma38su 2017/07/03
  • いまさらだけどTensorflowでDQN(完全版)を実装する - Qiita

    はじめに この記事は前回の記事の続きです。 前回は素のTensorflow(2016年7月時点)だけで実装できる、なんちゃってDQN(不完全版)を紹介しましたが、ここではMnihらの2015年の論文で実際に実装された方法を忠実に再現する方法について書いています。 不完全版と今回の完全版の違い Optimizerを通常のRMSPropからA.Gravesが導入したRMSPropに変更 Loss clippingを行う 特に1は問題で、素のTensorflowには実装されていないため、独自で実装する必要があります。 ここでは、Tensorflowでの実装方法とそこから得られる結果を紹介します。 A.GravesによるRMSPropの実装 Tensorflowで新しいOptimizerを作るには、TensorflowのPythonコードとCppのコードに手を加える必要があります。 具体的には下記

    いまさらだけどTensorflowでDQN(完全版)を実装する - Qiita
    ma38su
    ma38su 2017/02/13
  • はじめるDeep learning - Qiita

    そうだ、Deep learningをやろう。そんなあなたへ送る解説記事です。 そう言いながらも私自身勉強しながら書いているので誤記や勘違いなどがあるかもしれません。もし見つけたらご連絡ください。 Deep learningとは こちらのスライドがとてもよくまとまっています。 Deep learning つまるところ、Deep learningの特徴は「特徴の抽出までやってくれる」という点に尽きると思います。 例えば相撲取りを判定するモデルを構築するとしたら、普通は「腰回りサイズ」「マゲの有無」「和装か否か」といった特徴を定義して、それを元にモデルを構築することになります。ちょうど関数の引数を決めるようなイメージです。 ところが、Deep learningではこの特徴抽出もモデルにやらせてしまいます。というか、そのために多層、つまりDeepになっています。 具体的には頭のあたりの特徴、腰のあ

    はじめるDeep learning - Qiita
    ma38su
    ma38su 2017/02/12
  • Hello Autoencoder — KiyuHub

    Hello Autoencoder 最近,身内でDeep Learningを題材に含んだ勉強会を行なっている. メインは専門である自然言語処理まわりだが, とりあえず実装(というよりnumpy)の導入になる上,結果を視覚化できることから, 画像データを利用したAutoencoderの実装について取り扱った. 軽い説明と共にコードと,色々な結果を Autoencoder Autoencoderとは,Neural Networkの特殊系で,基的には 入力層と出力層のユニット数が同じである. 教師信号として入力そのものを与える. という特徴を持つ. 入力と出力が共に4次元で,隠れ層が2次元なAutoencoderの図 Autoencoderは,入力の情報をを一度隠れ層の空間に写像(encode) したあと, 元の信号を復元(decode)するようなパラメータを学習する. 図のように,もしも隠れ

    ma38su
    ma38su 2017/02/12