勉強の記録

機械学習、情報処理について勉強した事柄など

latest transformを利用してdocumentの履歴を管理する

文書の変更履歴を追いたい場合、SQLでは「履歴テーブル」を利用することが多いかもしれません。 ここではウィンドウ関数「row_number」を使って工夫していますが、毎クエリで論理ドキュメントIDごとにaggregationして最新ドキュメントを取ってくるのも大変で…

VideoContainerChangerがエラーになるのでMTSをMP4に変換するバッチファイルを作成した

VideoContainerChangerというソフトがあり便利に使っていたのだが、久しぶりに使ってみようとダウンロードしてきたらうまく動かなかった。同梱されていたv1.1もv1.3もファイルを変換するとエラー。ffmpegを最新にしてもダメ。 以下のようなエラーがでてしま…

「交絡因子で調整した」とはどういうことか

重回帰分析において、交絡因子を調整するためには、モデルに交絡因子を投入すればよい、とよく言われます。 なんとなくそういうものかと思ってきましたが、その意味を少し考えてみました。今回は2つの項のみの単純化したモデルですが、より複雑なモデルにつ…

BART: Bayesian additive regression treesによる因果推論

[1707.02641] Automated versus do-it-yourself methods for causal inference: Lessons learned from a data analysis competition Atlantic Causal Inference Conference 2016の結果をまとめた論文. このコンペはstrong ignorabilityを仮定したシチュエー…

Hernán MA, Robins JM (2020). Causal Inference: What If.のPart IIをざっくりとまとめる①

Hernan先生のCausal Inferenceを読み進めています.英語で読んでいくとなかなか全体像がつかみづらかったりするので,適宜まとめながら読んでいました.Part IIについては全体の流れは概ね理解できた気がするのでせっかくなので記事にしておきます.Oct 26の…

PubMedから医療AI論文を抽出してSlackに投稿する

こんな感じに投稿されて,通知がくるのは嬉しい. 元ネタ ncrna.jp 一部slackのAPI仕様が変わってこともあり、微修正した。 Google Apps Script+Slack Appsで完結するようになった. 1. Pubmedの検索クエリを反映したRSSを作成する 適当な単語で検索した後…

NAACL 2019の医療関連論文を概観する.

North American Chapter of ACL (2019) - ACL Anthology medic*, health, diseaseで検索.WS論文はおもしろそうなものだけ. Biomedical Event Extraction based on Knowledge-driven Tree-LSTM - ACL Anthology 医学生物学分野におけるevent extractionにお…

CounterFactual Machine Learning勉強会 #1 に参加してきた

cfml.connpass.com 元CyberAgentの谷口氏、CyberAgent AILab AdEconチームリーダーの安井氏、CyberAgent AILab AdEconでインターン中の斎藤氏による勉強会。 1. CFMLの概要と研究動向 (谷口和輝氏 (@kazk1018)) 本日のCFML勉強会の発表資料です。https://t.c…

個人因果効果を推測する②

github.com Microsoftによる因果推論ライブラリEconMLのなかの一つのモデル. econml.azurewebsites.net documentのdeep instrumental variablesの項目に簡潔にまとまっている. ひとことで言うと, 操作変数モデルにおいて各stageにNNを使用したモデル メリ…

個人因果効果をどうやって推論するか①

①と銘打っているが、続くかどうか。ほかに causal forest microsoft/ALICE あたりも見ていきたいところ。 Estimating individual treatment effect: generalization bounds and algorithms ICML 2017から。ICMLには毎年causalityのセクションがあり、機械学…

Microsoft/InterpretMLの中身

一言でいうと ある一つの特徴量のみのdecision treeを作って残差を予測というのをcyclicに加えていくモデル 知ったきっかけ Microsoftが、解釈性が高くかつ精度も高いBoostingのモデル(Explainable Boosting Machine=EBM)をOSSで公開。LIMEやSHAPといった解…

モデルの不確実性:Analyzing the Role of Model Uncertainty for Electronic Health Records

arxiv.org 医療などの最終判断が極めて大きな意味を持つタスクにおいては最終的なモデルの出力だけではなく、それがどの程度確信を持った出力なのかが重要。そこにはdata uncertaintyと、model uncertaintyがある。 同グループから既報のMIMIC-IIIというICU…

LeetCode 1036 - Escape a Large Mazeの別解(?)

https://leetcode.com/contest/weekly-contest-134/submissions/detail/225394673/ 問題設定自体は普通の迷路と同じだが,迷路のサイズが106と巨大. 普通にdfsやbfsをしていたのでは到底終わらない. 逆にblocked cellは合計200個以下という制約がある 考え…

Google Code Jam Round1B 通過

Round 1Aは通過できなかったが,1Bで通過できた.深夜ラウンド辛い....日本は幸い翌日が休日なので参加できた. Visibleを通ってUnvisibleを通らないコードもUnvisible正解時のpenaltyになるので,少し考えてunvisibleも通せそうならその解法でいった方が良…

二分探索のための遅延評価リストを作った

docs.python.org 標準ライブラリに二分探索が用意されているが,sortと違ってkeyが指定できない. 毎回二分探索を書いても良いが,境界条件などで足を救われがち. よって,クラス継承の練習を兼ねてgetitemしたときだけfuncで遅延評価されるリストを作った…

Union Findの問題をpythonで解く

グループ分けして、適宜グループを合体させるような局面で登場するデータ構造。 全ノードに対してグループ名自体を持つようすると、合体のたびに少なくとも一方のグループをすべて書き換える必要があって、時間がかかる。ツリー構造で持っておいて、グループ…

Google CodeJamをVSC上でデバッグする

Qualification RoundはAtCoderのコードテストを間借りしてコーディングしたのだけど、やっぱりVisual Studio Codeを使いたい。 input()だけ書き換えて、printと想定解を目でみて比較すればよいのだけど、 'Case' → 'CASE' ': ' → ':' あたりでWAになったこと…

Google Code Jam 2019 Qualification Round 全完でした

codingcompetitions.withgoogle.com Foregone Solution 任意の一例を構築すれば良いだけなので適当に。 T = int(input()) N = [input() for _ in range(T)] for i, n in enumerate(N): A = '' B = '' for d in n: if d=='4': A+='2' B+='2' else: A+=d B+='0…

整数問題で商にmath.ceilを使ってはいけない?

n/m以下の整数を使いたいときはn//mを使えばよいが,n/m以上の最小の整数に相当する演算子は存在しない. そこで,横着してmath.ceilを使うと,答えがずれることがある. ABC046 C - AtCoDeerくんと選挙速報 / AtCoDeer and Election Report atcoder.jp 誤り…

ABC-047C - 一次元リバーシ / 1D Reversi をpythonで解く

atcoder.jp リバーシにおいて同じ色の1個の石も2個の石も等価なので,まずは同じ色の並んだ部分を1個の石に置き換えると,あとは1個ずつひっくり返していくしかないのでその長さ-1が答えとなる. 解法1 np.diffを使う import numpy as np S=input() S=np.arr…

AtCoderのランク感

最近ちょこちょことAtCoderをやっている. 以下のblogでも引用されているように, kumagi.hatenablog.com 何度も言うけど競プロは向き不向きあるし、競プロ出来なくてもITエンジニアとしてやっていけるから、競プロ必須だとは思わない方がいいよ。ただ、「AB…

AtCoder Beginner Contest 122 Dを漸化式で解く

A-Cの3完.Dは解けず.64個書き出せば解ける,とは思ったのだがそこから手が進まず.動的計画法を使いこなせていない. 以下は解説を見てから.最後3桁についての場合の数で漸化式. 邪道かもしれないけど,正規表現を使うと場合分けが減って楽. import re,…

O'Reilly「機械学習のための特徴量エンジニアリング」を読んだが期待ハズレだった

2020.1.15 追記:特にテーブルデータにおける「特徴量エンジニアリング」であれば,『Kaggleで勝つデータ分析の技術』が良かった.特徴量設計は試行錯誤の面も大きいのだけど,実際のコンペの場面でどのように考えて特徴量設計をおこなっているかや,上位陣…

多変量解析における説明変数の選び方(私見)

多変量解析における説明変数(特徴量,共変量などとも)の選び方についての私見.統計の専門家でもないし,機械学習の専門家でもないが,ざっと勉強したところをまとめる.(統計)のところは,いわゆる統計的機械学習ではなく基礎的な統計を想定.cross val…

勉強会メモ 「AIトレンド・トップカンファレンス報告会:世界最先端のAI研究開発動向が1日でわかる!」

https://www.ai-gakkai.or.jp/no76_jsai_seminar/ 人工知能学会主催。学生や若手研究者を数名派遣し、その報告会。 モデルの妥当性、頑健性をいかに担保するかが大きな話題。 モデルの説明可能性についての研究も多かったとのこと。 ・adversarial learning.…

勉強会メモ『第2回 言語処理研究会 「自然言語処理の中長期研究構想を論じる会」』

情報処理学会の自然言語処理研究会(通称:NL研)が主催した上記の勉強会に参加してきた。 自然言語処理研究者5人によるシンポジウム形式。 nl-ipsj.or.jp 1 「対話システムのあるべき姿」NTT研究所 東中竜一郎先生 対話システムの概略と、NTTで開発した対話…

Multi-Task Label Embedding for Text Classification

これはEMLP2018から。 Multi-task learningを利用してLabelにembeddingを行うことで文書分類の精度が向上した、という話。 ここで言うmulti-taskは、複数のclassification task、という意味。 関連研究 本文中に挙げられていたembedding label in NLPの先行…

Few-Shot Text Classification with Pre-Trained Word Embeddings and a Human in the Loop

Few-Shot Text Classification with Pre-Trained Word Embeddings and a Human in the Loop https://katbailey.github.io/talks/Few-shot%20text%20classification.pdf https://arxiv.org/pdf/1804.02063.pdf Few shot text classificationについて知りたい…

Uplift modeling for clinical trial data

http://people.cs.pitt.edu/~milos/icml_clinicaldata_2012/Papers/Oral_Jaroszewitz_ICML_Clinical_2012.pdf Uplift modeling for clinical trial data [ICML2012] 先日の「仕事のための機械学習」を読んでからUplift modelingを調べている. web界隈で有名…

uplift modeling

Causal Inference and Uplift Modeling: A review of the literature http://proceedings.mlr.press/v67/gutierrez17a/gutierrez17a.pdf Rubinの因果モデル 割り付けられなかった側の測定されない未来の結果を欠損値として、もしそれが観測された時の値との…