python

PyTorchを使って連続値制御の深層強化学習のSoft Actor Criticを構築する

前回、深層強化学習における連続値制御のモデル構築について書きました。今回は、その時に構築したモデルを改良し、精度向上に取り組みます。前回の記事をまだ見ていない方は、ぜひご覧ください。 www.dskomei.com 連続値制御の深層強化学習を改良するために…

Pythonを使って日本語の要約データを取得する

自然言語処理のタスクは、Transformer が現れて以来一段と盛り上がっています。これまで精度がいまいちだったタスクで、人間以上の精度になってきています。それは、文章の要約タスクでも同様です。文章要約は、与えれた文章の中で重要なワードや文を抜き取…

Pythonを使ったデータ加工 〜Pandasによる主要な前処理〜

データの取得から担当者への結果報告というデータ分析の一連のプロセスで最も時間がかかるのはデータの前処理です。平均や標準偏差などの何かしらのデータ集計を行うにしろ、機械学習モデルを作成するにしろ、それらを行う前にデータの前処理が悠然と壁にな…

Pythonを使って多変量時系列データの因果関係を可視化 〜インパルス応答関数〜

多変量の時系列データの良いところは、データから因果関係わかることです。その一つが今回テーマとするインパルス応答関数です。ざっくりいうと、変数の変化が他の変数に与える影響を見ることで因果関係を確認できるようにします。 今回は下記の図のようにイ…

Pythonを使ってVARモデルにおける多変量時系列予測モデルの構築

世の中には色んな種類のデータがあり、売上の推移であったり、勉強へのモチベーションの移り変わりであったりといった、数字の並び順自体に意味があるデータがあります。この数字の並び順自体に意味があるデータは時系列データと呼ばれます。時系列データは…

Pythonを使った固定効果モデルでの推定

機械学習から統計に足を踏み入れた身としては、推定や予測の話になると、すぐさま機械学習の枠組みにはめてしまいがちです。何でも機械学習状態です。しかしながら、データによっては注意が必要な場合があります。特にパネルデータでは、複数の観測個体の複…

Pythonを使ってロジスティック回帰の限界効果を求める

私の座右の銘は「限界突破」でした。それは、自分が想像できる範囲の自分で決めた限界を乗り越えることに喜びを覚えていたわけです。まるで、判別境界を少しでも超えたらその瞬間に異なるクラスに振り分けられるように、設定した”限界”を超えた瞬間に突破と…

因果関係の推定 〜Pythonによる傾向スコアマッチングとIPW〜

中学生のときに目がよく合うと感じた人がいたら、それは自分に絶大な好意を持っているからだと思い込んでいましたよね。しかし、現実は思い出のままでした。それは、「よく目が合う」ことと「好意を持つ」ことは相関しているかもしれませんが、因果の関係と…

Pythonを使ったGoogleのAPIを使ってストリーミングでのSpeech to Textの実行

同じ話を何度も聴くたびに同じように愛想笑いをするのは心が無になりますよね。まるで魔法少女まどかマギカの世界のように、繰り返されるたびに絶望感を感じます。そういうときは、録音した音声を一語一句テキスト化し、全く同じ話をしていることを認識して…

PyTorchチュートリアル 〜翻訳モデルを作る Attention付きSeq2Seq〜

人間の思考を彩るのは言語です。言語自体の表現力が乏しいと思考は制限されてしまいます。 つまり、多様な言語から情報をインプットすることで、思考が豊かになります。ただ、一つの言語を学ぶのには多大なリソースを使います。それならば、機械に翻訳しても…

Pytorchチュートリアルのテキスト分類 ~ torchtextとEmbeddingBag ~

世界に舞う無数のとめどない言葉。これらは生まれては、区別の無い大きな箱に積み重なって忘れられていく。まるで情報過多なのに何も残っていない人間の記憶のように。しかし、ひとたび境界線ができると、情報は区別され、整理される。そして、ヒトの理解は…

PythonでDeep Forestを実行し、理解する

Deep ForestはDeep Learningという巨頭に立ち向かう、まるでラグビー日本代表のような物語が背後にあることがわかりました。 いまや予測モデルを構築する際は、ニューラルネットワークによるDeep Learning一択と言っても過言ではありません。しかし、Deep Le…

AIを脱Black Box! XAI(Explainable Artificial Intelligence)を勉強する〜Permutation Importance〜

予測モデルは精度が命ということで、内部を複雑化させることで予測精度の向上を図ってきました。内部を非線形関数で複雑にしまくっているディープラーニングのように。しかしながら、内部を複雑にすることで精度が上がった一方、予測モデルの中身がBlack Box…

Pythonを使って文章から共起ネットワークを作る 〜テキストマイニングでの可視化〜

テキストから示唆を作り出すテキストマイニングの一つとして、今回は文章から共起ネットワークを作ります。共起ネットワークは、同時に出現する単語の組み合わせをエッジで繋ぎ、単語間の関係をネットワークで表したものです。これにより、文章内の単語の関…

Pythonを使ってテキストマイニングのための前処理を行う 〜自然言語処理における前処理〜

今回は、テキストから何らかの示唆を出すテキストマイニングを行うためのテキストの加工処理(前処理)について書いていきます。テキストは手元にたくさんあるのに、どうしたらいいかわからない、単語の数は数えられたけどノイズな単語が多くて示唆が出せな…

Pythonを使って行動ログの可視化 Sankey Diagram

今やデータを残しておくことは簡単になってきており、様々なデータが日々蓄積されています。その中でも、何かしらのアクションのログを残しておいて、いつか役に立たせようと思っている方は多いかと思います。例えば、Webページの遷移ログや位置情報を使った…

Pythonでトピックモデル Word Cloud と LDA

SNSがコミュニケーションのインフラになりつつあることで、世の中は言葉で溢れています。この膨大な言葉の文章をまとめることで一つ一つの文章からはわからない傾向を新たに獲得することができます。具体的には、文章をカテゴライズして分類することで、どの…

Pythonでクラスタリング k-meansからk-medoidsを改良する

今回は、答えのないデータから、データの構造を見えるようにするクラスタリングについて述べていきます。クラスタリングとは、データが似ているものを一つのクラスタにまとめて情報を集約することによって、見通しを良くするものです。例えば、人の特徴を一…

Pythonを使って正規分布からt検定を知る

前回は統計的検定ってなんなの?っていうのをイメージで語ってみました。検定を作業と考えてなんとなくやりきってきた方々はぜひご一読ください。 www.dskomei.com 検定をイメージで語ってみたわけですが、やはり実際にやってみないと腹落ちしないですよね。…

Pythonを使って変数選択!

機械学習はデータが命です。データが精度を左右するので、精度を上げるためにデータを増やし、変数をどんどん追加してくという方向になりがちです。しかし、変数の数を多くすると、計算時間の増加をまねいたり、特定のクラスの一部のデータの影響で過学習し…

機械学習の分類結果を可視化!決定境界

学習した機械学習のモデルが与えたデータに対してどのように分類したかを知りたいことは多いです。ここら先は違うクラスになるという境界がわかられば、分類モデルの理解が深まりますし、改善ポイントもわかるようになります。学生の頃に隣のクラスになろう…

Pythonで機械学習をやってみる!複数回試行での評価

前回以下のエントリを書きました。そのエントリでは複数の機械学習のアルゴリズムの正答率を比較しましたが、1回の試行だけだったので複数回試行の結果でアルゴリズムを評価したいと思います。(*前回行った学習を複数回に拡張しただけです。) dskomei.hat…

Pythonで機械学習をやってみる!

本エントリはとにかく機械学習をやってみたいという思いだけで突っ走って書きました。機械学習をしてドヤりたい人、色々アルゴリズムがあるのは知っているけど実際どうやるんだっけという人向けになっていると思います。理論より実践!!という感じなので玄人…