はじめに 最近、趣味の時間があまり取れなかったので更新が滞ってました(汗)。周期性をもつ(だろう)時系列データをお遊びで可視化してみました。やってみるとなかなか面白かったので、備忘録として残しておくことにしました。 どうやって可視化するのか …
導入 不定期でトポロジカルデータアナリシス(TDA)に関する紹介をします。今回は、ノイズをもったデータへのTDAの応用方法を紹介します。 振り返り データが与えられたとき、それを高次元空間の点の集まりとみなし、それらから図形を見立てる方法を紹介しまし…
動機 最近、R Notebookが少し話題になっていました。自分はまだ使ったことがなかったので、この機会にR Notebookを導入してみようと思いました。 R Notebookとは RStudio上でインタラクティブに作成できるNotebookです。RMarkdownで書くJupyter notebookとい…
動機 自明な言葉を発する営みを若干抽象化したい。 tekenuko.hatenablog.com 自明なクラス作成 抽象化 = オブジェクト化。 外部からの入力が自明かどうかを判定します。 // trivialclass.cpp # include <iostream> # include <string> using namespace std; // クラス class tr</string></iostream>…
動機 自明な言葉を発する営みを若干非自明にしたい。 tekenuko.hatenablog.com 自明なファイルを読むコード 非自明にする方法の一つとして、あらかじめ自明な言葉を保存したファイルを用意して、それを読み込む、というものがありえます。C++でファイルを開…
自明な振り返り 自明な出力しかできませんでした。 tekenuko.hatenablog.com 動機 くやしいので非自明なことを言いたい。 自明(?)なコード 自明なことを入力すると自明だと言われます。 // trivial.cpp # include <iostream> # include <string> using namespace std; int ma</string></iostream>…
自明な背景 3年ぶりくらいにC++触ってみたら自明なことしかできなかったので、自明なことをしたメモをします。 自明なコード 実行すると自明な言葉を発します。 // helloworld.cpp #include <iostream> using namespace std; int main(){ cout << "Hello world!" << en</iostream>…
導入 何か問題を解決するにあたって機械学習を活用する場合、膨大なアルゴリズム、そのアルゴリズムに付随する多くのハイパーパラメータが存在します。分析の要件が「とにかく精度、中身は問わない」だった場合、何とかして効率的にモデルとパラメータを知り…
導入 不定期でトポロジカルデータアナリシス(TDA)に関する紹介をします。今回の内容は、データから図形を見立てる方法と、TDAにて登場する単体的複体の紹介をします。 データを図形に読み替える 以下の図の左側のような点の集まりを、データの集まりだとしま…
導入 不定期でトポロジカルデータアナリシス(TDA)に関する紹介をします。今回は、私たちが普段から何気なく慣れ親しんできた図形に関する話題です。ここでは、単体的複体をいう対象を考えます。 参考 このブログでは、数式を交えた説明は基本的にしません。…
経緯 ある対象に対して、複数のアプローチの結果を可視化したいとき、棒グラフで並べて比較する方法があります。これをmatplotlib.pyplot.bar()で描いていましたが、棒の太さやら目盛の調整が大変でした。matplotlibは柔軟な可視化ができる反面、匠の技が要…
動機 最近こんな本を購入しました。 www.shoeisha.co.jp 第I部の「データアナリティクスの基礎」は、データ分析のプロジェクトの全体像に触れていて、データ分析のプロジェクトをどう進めていくかについて整理するのには良いのかな、と思いました*1。後半部…
はじめに 最近、ブースティング系のアルゴリズムでXGboostより速いものが実装されているようです。 github.com 論文は以下になります。 [1609.06119] FastBDT: A speed-optimized and cache-friendly implementation of stochastic gradient-boosted decisio…
導入 前回、アンサンブル学習の方法の一つであるランダムフォレストについて紹介しました。 tekenuko.hatenablog.com 今回は、XGboostと呼ばれる、別の方法がベースになっているモデルを紹介します。 XGboostとは XGboostは、アンサンブル学習がベースになっ…
導入 前回、非線形的な効果を表現することの一例として、決定木回帰を紹介しました。 tekenuko.hatenablog.com決定木は、ざっくりとしたデータの特徴を捉えるのに優れています*1。しかしながら、条件がデータに依存しがちなため、過学習しやすいという欠点も…
導入 前回、線形回帰からの拡張の一つとして、非線形項をモデルに加えることを紹介しました。 tekenuko.hatenablog.com 非線形性を表現する方法は他にも幾つかあり、その一つに、決定木という手法があります。今回は、回帰に決定木を用いた方法を紹介します…
導入 前回、ボストン近郊の住宅情報のデータを用いて線形回帰モデルを作りました。 tekenuko.hatenablog.com今回は、モデルの性能を上げる可能性の一つとして、多項式や指数・対数などの非線形効果をモデルに投入した場合の振る舞いを見ようと思います。 参…
導入 データ分析にて、最も基本的な回帰分析から始めていきます*1。回帰分析とは、説明したい変数(目的変数)とそれを説明するための変数(説明変数)の間の関係を求める手法です。機械学習の手法の区分としては、教師あり学習(解答に相当する教師データを…
背景 最近、業務でPythonを使っているのですが、不慣れな部分もありRレベルで自在に使いこなせていないと感じています*1。そのため、基本的な部分からおさらいをしていこうと考えました。 目標 試してみたいデータがあった場合に、簡単な分析に関してはとっ…
経緯 Rで粒子フィルタ(逐次モンテカルロ)ってできるんだっけ、とふと思ったので少し調べてみました。すると、Rのパッケージでは、例えば https://cran.r-project.org/web/packages/SMC/SMC.pdf : {SMC} https://cran.r-project.org/web/packages/RcppSMC/R…
はじめに スパース推定の代表例として、Lasso(Least Absolute Shrinkage and Selection Operator)があります。 これは、正則化項としてノルムを加えるようなパラメータ推定法です。 このような正則化項を導入すると、大部分のパラメータは0に潰れてスパー…
今回は、RでTopological Data Analysis(TDA)を行うためのパッケージとその概要を紹介します。TDAのパッケージは、Rでもいくつか開発されています。 代表的なものは{TDA}、他にも{TDAmapper}、{phom}などあるようです。 本ブログでは、{TDA}を代表例として…
ブログを作ったまま1年以上放置していました(笑)。 最近、アウトプットをしていこうという機運が高まっていているため、 ブログを積極的に活用していきたいと思います。 近年、Topological Data Analysisという、 位相幾何学をベースにしたデータ分析の手…
はじめまして、tekenukoと申します。 今年の3月に素粒子理論で博士号を取得しました。 4月から民間企業でデータサイエンティスト(仮)として働きます。 大学院時代は主に超対称性を持つ素粒子模型の現象論を研究していました。 しかし、素粒子業界の現状を鑑…