2017/7/1 db analytics showcase Sapporoで講演したときの資料です。 フルスクラッチから機械学習アルゴリズムの実装をしたい人向けです。

この記事は、去年私が書いた「Machine Learning in a Week(機械学習に挑んだ一週間)」という記事の続編です。その記事では、私が5日間集中的に機械学習を学び、のめり込んでいった経緯について説明しています。 機械学習に挑んだ一週間 一般の人にとって機械学習の分野に足を踏み入れるのは、無謀なことに思えるでしょう。medium.com 私は順調なスタートを切った後も、時間を見つけて勉強を続け、およそ一年後には、仕事で機械学習を活用した初プロジェクトを立ち上げることができました。そのプロジェクトでは、さまざまなタイプの機械学習や自然言語処理(NLP)の技術を駆使して、 Xeneta の 潜在顧客の特定 を行っています。 趣味でやっていたことが仕事になって、とても嬉しかったです。 同時に、仕事として機械学習を利用するのは博士号を持つ限られた人だけだ、という思い込みも払拭されました
(編注:2020/10/01、2016/07/29、いただいたフィードバックをもとに記事を修正いたしました。) 目次: さまざまな勾配降下法 バッチ勾配降下法 確率的勾配降下法 ミニバッチ勾配降下法 課題 勾配降下法を最適化するアルゴリズム Momentum(慣性) Nesterovの加速勾配降下法 Adagrad Adadelta RMSprop Adam アルゴリズムの可視化 どのオプティマイザを選ぶべき? SGDの並列化と分散化 Hogwild! Downpour SGD SGDのための遅延耐性アルゴリズム TensorFlow Elastic Averaging SGD 最適化されたSGDに対する更なる戦略 シャッフル学習とカリキュラム学習 バッチ正規化 早期終了 勾配ノイズ 結論 参考文献 勾配降下法は、最適化のための最も知られたアルゴリズムの1つです。これまではニューラルネット
class MFbpr(Recommender): ''' コンストラクタとか他の処理 ''' def buildModel(self): loss_pre = sys.float_info.max nonzeros = self.trainMatrix.nnz hr_prev = 0.0 sys.stderr.write("Run for BPR. \n") for itr in xrange(self.maxIter): start = time.time() # Each training epoch for s in xrange(nonzeros): # sample a user u = np.random.randint(self.userCount) itemList = self.trainMatrix.getrowview(u).rows[0] if len(itemL
オンライン・オフラインのリソースで勉強に使ってるもの一覧。 多少プログラミングしていて少々の知識があるといいかも。 人工知能・機械学習に必要な教材やTipsを載せていくブログはこちら 努力1mmブログ Coursera Machine Learning 言わずと知れた機械学習の動画。Andrew Ngさんが丁寧に教えてくれる。日本語字幕あり。 Coursera : Machine Learning Coursera Natural Language Processing Courseraの自然言語処理講座。英語。 Coursera : Natural Language Processing 言語処理100本ノック こちらも言わずと知れたリソースかも。自然言語処理をプログラミングするために必要なプログラミングテクニックとかが学べる。 自然言語処理100本ノック Udacity Design
移転しました。 https://chezo.uno/post/2016-05-29-sonomoderu-guo-xue-xi-siteruno-wei-xue-xi-nano-tokun-tutara/
なぜかあまりやっている人を見ない、ディープラーニングを使用した株価の予想をしてみます。 ディープラーニング、Pythonともに初心者です。ライブラリ、実装方法、理論等は殆ど分かっておりません。ツッコミ等お待ちしています。 ##目標 数日分の株価データを使用して、翌日の日経平均株価が「上がる」か「下がる」か「変わらず」かを予想します。(分類) ##概要 「上がった」か「下がった」か「変わらず」だったかの判断には翌日の終値をベースに判断。 入力データは数日前から前日までの「始値」「高値」「安値」「終値」を使用。 隠れ層は4つ。 入力として上記過去数日分の株価をぶっこんでトレーニングするだけです。 ##環境 TensorFlow 0.7 Ubuntu 14.04 Python 2.7 AWS EC2 micro instance ##内容 ###準備 可能な限りの日経平均のデータを用意します。今
python一般† python.org:公式サイト Wiki Package Index iOS用Python環境 Computable Python for iOS Python Math PyPad Pythonista 英語資料 Python Course:Python のいろいろなトピックについての講義を集めたサイト Python Quick Reference @ Richard Gruet (旧版 日本語訳) Google's Python Class OLamp.com -- Python Dev Center:O'Reillyのpython関連ニュース Python Miro Community:チュートリアル講演ビデオのポータル Wikipedia:Python_(programming_language) Python tools that everyone shou
はじめに Pythonで機械学習といえばscikit-learnですが、scikit-learnを使うにはnumpyやscipyといった大きめのライブラリを入れる必要があります。でも、プログラムでほんのちょこっとだけ機械学習のモデルを使って分類したいって場合だと、わざわざそういう重いもの入れたくないなーと思うときがあります。scikit-learnで学習したものをnumpy, scipy, scikit-learnなしに使って分類処理ができたらなーって。 そこで今回はscikit-learnの決定木 (DecisionTreeClassifier) やRandom forest (RandomForestClassifier) からif-then形式のコードを生成するものを紹介します。 コード https://github.com/ikegami-yukino/misc/blob/mast
Photo by Horia Pernea こんにちは。谷口です。 最近「機械学習に興味がある」「いつかやろうと思ってるんだよね……」と言うエンジニアの方をよく目にします。また、その倍ぐらい「機械学習難しすぎて挫折した」という方も見ます。 弊社のITエンジニアにも機械学習を勉強中という人がいますが、特に最初は難しすぎて何から手を付けたらいいのかよく分からず、とても悩んだと言っていました。そこで同じような悩みを抱えている方の参考になればと思い、初心者の頃に参考になった機械学習入門者の方に役立ちそうな記事やスライドを聞いてきました。 また、Pythonには機械学習のためにデータを処理するライブラリ(数値演算をするためのライブラリや図を作成するためのライブラリなど……)がそろっていて、呼び出したり組み合わせて処理したり……といったことがしやすいため、多くの人が機械学習で使っています。コードも短く
皆様こんにちは,@a_macbeeです. (大分時間ギリギリになってしまいましたが)この記事はAdvent Calendar 2015 - VOYAGE GROUP 2日目の担当分になります. 2015年は良くも悪くも深層学習がバズワードとなって盛り上がった年でした. 面白い論文が続々発表されたり,関連書籍が次々出版されたり,最近だとGoogleが発表した深層学習ツールTensorFlowが話題となってます. このビッグウェーブに乗るしかないということで,この記事では自他共に認めるPython大好きな私がPython製の深層学習ライブラリである「Keras」について紹介します. Keras KerasはPython製の深層学習ライブラリです. もともとはバックエンドとしてTheanoを採用していたのですが,つい最近TensorFlowも選択できるようになりました.ここでは,折角なのでTen
はじめに 機械学習の勉強のために、Python開発環境を構築しました。この記事はそのメモです。 使っているOSは、OSX 10.11.1です。 pyenv pyenvはPythonのバージョン管理ツールです。 homebrewでインストールします。 $ brew install pyenv パスを通すために、.bashrcや.zshrcに記述します。 export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init -)" 使い方 $ pyenv install -l ← インストール可能なPython一覧を表示する $ pyenv install 3.4.3 ← Pythonのインストール $ pyenv uninstall 3.4.3 ← Pythonのアンインストール $ p
Autogradという野郎が乗り込んできました。はい、そりゃもういきなり。複雑な確率モデルや損失関数だとしても、パラメータに関する勾配をこれでもかというぐらい簡単に計算できちゃうので、機械学習の世界に大きな影響を与えそうです。現時点では、PythonとTorchでの実装が公開されているようですが、これからJuliaなど他の言語でも実装されていきそうですね。 (補足:この記事を書いたすぐ後にGoogleがTensorFlowなるものを出してきまして、そちらでも自動微分がしっかり実装されてるみたいです〜。機械学習関連のフレームワークは移り変わりが激しいですねー ^^; ) ちなみに始まりはこんな感じでした。 ゆるいですね。 とりあえずチュートリアルやりながら、Python版チュートリアルの前半部分にテキトーな日本語訳をつけたので、ここでシェアしておきます。英語が読める方は、僕のヘンテコな日本語
「ITエンジニアのための機械学習理論入門」で提供しているサンプルコードに含まれるデータ分析ライブラリ(NumPy/pandasなど)を解説した資料です。 下記の書籍のサンプルコードが理解できるようになることが目標です。 - ITエンジニアのための機械学習理論入門(技術評論社) - http://www.amazon.co.jp/dp/4774176982/ 2015/10/25 ver1.0 公開 2015/10/26 ver1.1 微修正 2016/05/25 ver1.4 subplotの順番を修正 2016/11/15 ver2.0 改訂版公開 2016/11/16 ver2.1 改行幅修正 2017/01/10 ver2.2 微修正 2017/01/12 ver2.3 微修正
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
教師あり学習で文書分類をするためのラベル付け作業に疲れた方がいらっしゃったので、少ないラベルで分類が可能なように半教師あり学習でテキスト分類を行うものを作ってみました。 参考資料 コンピュータビジョン最先端ガイド6 (CVIMチュートリアルシリーズ) Deep Learning Tutorials Learning with local and global consistency, Zhou+, 2004 やったこと DBNで特徴量抽出 LabelSpreadingで半教師あり学習によるラベル付け 手順 DBNで特徴抽出 グリッドサーチで適当に層の深さ、学習係数、各層のユニット数を決定(Top層のユニット数は圧縮後の次元数) DBNでpre-trainingを行いweightとバイアスを学習 Top層の出力を次元圧縮後の特徴量として分類器に投入する LabelSpreadingで半教師あ
Pythonで機械学習アプリケーションの開発環境、具体的にはNumpy/Scipy/scikit-learnを導入する手順について解説します。 なお、環境はPython3ベースを想定しています。 Minicondaベース(推奨) 機械学習系のパッケージはコンパイルが面倒なものが多いため、コンパイル済みバイナリをインストールできるconda(Miniconda)での環境構築を推奨します。 まずはPython本体(Python3想定)、パッケージ管理ツールであるpip、仮想環境を作成するvirtualenv、といった基本的な環境の構築を行います。 ※virtualenvについては今回(condaを使う場合)は不要ですが、Pythonで開発を行うなら入れておくべきパッケージなので併せて入れておきます。 Mac/Linux デフォルトのPythonと分けてインストールするため、pyenvを利用しま
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 前回、株式の時系列データを分析する話で、後半にちょっとだけ機械学習の話をしました。今日は機械学習ライブラリ scikit-learn に触れます。 scikit-learn といえば以前にも簡単なクラスタリングの例をあげたり、サポートベクトルマシンやクラスタリングで問題を解く、 TF-IDF を計算する、回帰モデルの可視化、 DBSCAN によるクラスタリングといったことをしてきましたが、あらためてライブラリの機能を整理します。 機械学習と言うと難しい数学を駆使するイメージがつきまといますが、完成度の高いライブラリを使えば利用者が機械学
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く