人工知能してみる

人工知能の中の人が機械学習とか統計とかAI的なことを書き連ねます

Redshiftで条件ごとに集計する

こんにちは。Grahamianです ↓みたいなデータのときに category | number 1 | 3 1 | 4 1 | 10 2 | 5 2 | 6 2 | 1 3 | 2 3 | 11 categoryごとにnumberを集計したいときがあると思います。あるはずです。私はありました。 普通にやるとcategoryをgroup byしてsu…

複数のnumpy1次元ベクトルの平均を得る

機械学習をしているとベクトル演算をする機会は多いと思うのですが慣れていないとハマる(ハマった)のでメモ。 前に書いたfastTextを使って遊んでいたのですが、文書ベクトルとして単語ごとのベクトルを相加平均したものを得ようと思ったら手間取りました。…

PythonでMeCabを使って形態素解析する

こんにちは、Grahamianです。 すっごい今更なんですけど Python を使ったときの分かち書きの仕方を書いておこうと思います。日本語の記事もたくさんあるので困ることは無いと思うんですが備忘録ということで。 前準備 Python 自体は3系推奨です。私は3.6を使…

Facebook社の自然言語処理ライブラリfastTextを使ってみる

こんには、Grahamianです。 今日は Facebook が公開している自然言語処理ライブラリである fastText を使ってみます。 fastText はこちら! github.com インストールは readme に書いてあるとおりなので省略するとして。fastText は何ができるかというとCPU…

PyCharmでanacondaの仮想環境を使う

こんにちはGrahamianです。 みなさんはPython書くときに何使ってますか? 私はPyCharm使ってます。 www.jetbrains.comPyCharmはNetBrains社のPython用IDEで見た目もクールですが機能も劣らずクールなイケてるヤツです。 コードは補完されるしコードエラーは…

Go言語でMeCabを使う

こんにちは。 機械学習系はPythonにライブラリが偏っていることもあり圧倒的にPython一択ではあるのですが処理が遅いのが問題です。 Cythonって手もありますがビジネスで使うってなるとRubyとかGoで使えた方がいいよなーと思ってます。 そこでGoの勉強も兼ね…

メルカリがKaggleでコンペ始めたみたい

こんにちはGrahamianです。昨日からメルカリがKaggleで機械学習コンペティションを始めたみたいです。 mercan.mercari.comテーマ課題は Mercari SuggestPrice ということでメルカリのプライシング(価格査定)です。 データを見ると説明文、タグ、ブランド、…

SCAN: 視覚概念による抽象的な階層構成の学習

こんにちは、Grahamianです。 先日発表されたDeep Mindの論文がなかなかに衝撃的なのでザックリと紹介を書いてみます。 深く読めていないので誤りがあったら指摘願います。SCAN: Learning Abstract Hierarchical Compositional Visual Concepts deepmind.com…

予測精度はKPI足り得るのか?

こんにちはGrahamianです。 今日は予測精度について話します。プロダクト開発においてKPIの設計は非常に重要です。 最近のWEBプロダクト開発ではKPI設計が成否を分けているといっても過言ではありません。 しかし機械学習を用いるとKPIの設定が非常に難しく…

なぜ機械学習を使ったプロジェクトは失敗するのか

おはようございます。Grahamianです。 世間では猫も杓子も機械学習ですね。 あちこちで機械学習を使ったhogehogeが出ていますが成果はパッとしない印象を受けます。 それは何故なのかを考えたので書いてみます。 機械学習は得意不得意がある 機械学習はなん…

Azure Machine Learningを使ってみたら思ったよりよかった

Grahamianです。 タイトルどおりです。 数年前からクラウド機械学習サービスがでてきていましたが、そのときは全然興味ありませんでした。 データサイエンスって前処理が面倒なんで機械学習だけクラウドで出来てもなーって感じ。 とか思っていたんですが、つ…

pandasでiterrowsしようとしてハマった話

お早うございます。grahamianです。 タイトルどおりです。DBからデータを取ってきてpandasのdataframeに入れてrowごとに処理するってことをやろうとしてました。 よくある処理だと思います。 で、最初は何も考えないで for row in df: foo = bar(row['data']…

自然言語処理技術の開発は検索方法を変えるのか?

こんにちは。Grahamianです。 今日は自然言語処理と検索方法について考えてみます。 www.itmedia.co.jpchat botなんかが最近は話題になったりして人間vs機械の会話が注目されていますね。 いろんなサービスでchat botを使われるようになっています。 実際に…

ロボアドバイザーってどうよ?

おはようございます。 Grahamianです。今日のニュースは↓ www.fina-sol.comここ2, 3年で金融業界に一気に人工知能技術、というか機械学習プロダクトが一気に増えました。 いわゆるFintechってやつですね。金融は数字データが多いので機械学習と親和性が高い…

「AIによる高度な評価」という便利で意味のない言葉

www.fashionsnap.com某D○NAみたいなこともありましたし、こういった考え方をもったサイトが生まれるのはとても良いことだと思います。思いますが、記事中にこんな記述があります。「データとAIによりコンテンツを客観的に評価し、雑誌編集のノウハウを知る編…

人工知能が記事を書く時代になりました

jp.techcrunch.comつまるところ、企業の出す決算短信など適時開示情報をもとに各社の要約文を出力するわけですね。実際に出力されている文章をみると割りとルールベースなのかな?って感じです。 たとえば数値について言及しているあたりは企業の過去データ…

機械学習で理由も説明させる

こんにちはGrahamianです。こんなニュースがありました。 www.gizmodo.jp要約するとdeep learningの結果に対して結果の理由を添えてくれる、というもの。単層パーセプトロンのようなシンプルなものはまだ理由が考えやすかった。 これはインプットに直接重み…

PyCharmの便利な使い方をまとめておく

PyCharmを最近使っています。 IDEでは便利な機能がたくさんあるのですが、日本語の情報がなかなか見つかりません。 そこで自分が見つけた情報をここにまとめていきたいと思います。 まだまだ、使い始めて日が浅いので情報足りないですけど、段々と追記してい…

バンディットアルゴリズム ε-Greedyモデル

前回バンディットアルゴリズムの全体について見てみました。 grahamian.hatenablog.com今回はバンディットアルゴリズムの基本であるε-Greedyモデルを見ていきます。前回、バンディットアルゴリズムでは探索と活用が重要だと言いました。 ε-Greedyモデルでは0…

バンディットアルゴリズムって何?

なんかバンディットアルゴリズムというものがすごいらしいです。 勉強したことを少し書き溜めてみます。バンディットアルゴリズムとは? 目の前にスロットが何台かあるとしましょおう。 それぞれのスロットには当たりの確率がそれぞれ設定されています。 も…

gensimでトピックモデルを実装してみる

自然言語処理のライブラリはpythonでは多々ありますが、gensimを今回は使います。 以前もgensimはWord2Vecを使うために使いましたね。 grahamian.hatenablog.com今回はトピックモデルを実装するために使います。 とはいえ、作るだけならコードは3行で済みま…

anacondaのlibraryをPyCharmでimportする

タイトルどおりです。 最近PyCharmを使い初めたのですが、importで詰まったので書いておきます。PyCharmで普通にプロジェクトを作成すると標準のpython環境を使おうとするみたいです。 で、CreateProjectのときにProject Interpreterからanaconda環境のpytho…

PythonでMeCabを使う

自然言語処理では定番となったmecabをpythonで使います。 以前はpython用のmecabがなかったので独自にコンパイルされたものを導入していました。 今はpipで簡単に使えるようになったので、覚書として書いておきます。ちなみに私はanacondaによるpython3系の…

word2vecしてみる

2014年くらいに流行ったツールであるword2vecを使ってみます。 word2vecの詳細は省きますが、簡単に言うと、単語を任意のベクトルに変換するものです。 skip-gramかCountinuous Bag of Wordsモデルに基づいてベクトル化されます。 簡単に言うと、ある単語の…

KH Coderのオプション「Ward・郡平均・最短距離法」って?

前回はKH Coderを使って簡単な自然言語解析をしてみました。 grahamian.hatenablog.com今回はKH CoderのオプションにあるWard・郡平均・最短距離法について書いてみます。 Ward・郡平均・最短距離法ってそもそも何? そもそもWard・郡平均・最短距離法とは階…

KH Coderを使って自然言語解析する

日本語の自然言語解析における強力なツールであるKH Coderを使って自然言語解析をしてみます。対象した文章は青空文庫から夏目漱石の「それから」です。 ちなみにGrahamianは「それから」を読んだことがありません。 なので今回は小説を読まずに小説の内容を…

Rを使ったポアソン分布における最尤推定

本格的に統計を学ぶためにデータ解析のための統計モデリング入門、いわゆる緑本を読み始めました。 ナナメ読みで概観を捉えながら、追ってRで手を動かして勉強してます。 統計はツマミ食いでしか学んでいなかったので、こうやって体系的に学ぶと、いままでの…

トピックモデルについて簡単に考えてみる

たまには解析ではなく解析モデルについて考えてみます。今回考えるのは基本のトピックモデル。 トピックモデルとは種々の文章があったとき、それらがどのトピックに属するのか分類するためのモデルです。 クラスタリングの一種とも言えるでしょう。例えば、…

RMeCabで文章マトリックスとTF-IDFを計算する

今回はテキストマイニングへの一歩としてRMecabを勉強します。 RMeCabの標準関数として文章の単語マトリクスとTF-IDFの計算を行います。単語マトリクスとは複数の文章における単語の出現頻度をベクトル表示したものです。 bag of wordsモデルでは単語同士を…

主成分分析したあとSVMを回してみる

前回に引き続き、主成分分析をしてからSVMを回してみます。 主成分分析とSVMは話したので過去の記事を参照してください。grahamian.hatenablog.comgrahamian.hatenablog.comそれでは早速SVMを回してみましょう。 コードは主成分分析も含めてこんな感じです。…