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

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

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

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

XGBoostのアルゴリズムを論文を読んで解説

夕焼けと紅葉が同化するような季節になると、毎日の服選びに時間がかかるように、ほんの少し昔に遡ると、機械学習のアルゴリズムを何にするかは迷いの種でした。ところが、今や機械学習のご意見場的な立ち位置になったXGBoostが現れてかららは、XGBoostをと…

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

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

AIを脱Black Box! XAI(Explainable AI)を勉強する 〜shap編〜

私達の知らない未来を予測したい。そして予測した未来に至る要因も教えてほしい。という難問をさらっと突きつけるのが人間の欲でもあります。それを叶えてくれそうな今日のAIは、驚きの精度の予測結果を私達に見せてきます。しかし、精度が高ければ高いほど…

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

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

SQLで移動平均 〜指定行数未満はNULL〜

SQLで移動平均を求めます。移動平均はウィンドウ関数を使えば1行で書くことができます。ですが、指定した行数未満しかデータがない部分に関しても平均を出してしまうと、正しい移動平均の比較ができません。そこで、指定した行数未満の箇所に関してはNULLと…

SQLで素数を抽出

最近SQLを勉強していますが、素数をSQLで見つけ出すテーマが面白かったのでメモしておきます。素数という言葉を聞いたことがない人はいないと思いますが、定義は以下のとおりです。 詳細はこちらのブログを欄ください。 定義:「1より大きい整数で、1と自分…

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

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

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

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

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

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

【読感】「嫌われる勇気」を読んでみた

この本が終始一貫して説いていることは、 「人生を変えるのは自分自身であり、それは今すぐ始めれる」ということです。 このブログは、pythonを使った統計的なことを主に書いてきましたが、読書が趣味でもあるので読んだ感想をまとめるメモ代わりとしても使…

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

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

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

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

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

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