この記事は情報検索・検索技術 Advent Calendar 2024 の 22 日目の記事として執筆されました.
本記事では,今年読んだ応用検索論文についていくつか紹介をします.応用検索論文というのは本記事の著者が今適当に考えたワードで,主に以下の特徴を持つ傾向にあります.





AtCoder で scipy を使って解いた問題をメモ代わりに残しておきます.一部 yukicoder や Library-Checker も含まれています(タイトル詐欺).
AtCoder に入っている numpy / scipy のバージョンはコードテストに以下を入力して実行することで確認できます.
この記事は 「情報検索:検索エンジンの実装と評価」(Buttcher本) Advent Calendar 2020 の 25 日目の記事です.
この記事では第 8 章を最初から解説する…予定だったのですが,8.1 から 8.5 までの話,つまり確率的ランキング原理から BM25 の導出までについては,既に素晴らしい日本語解説が存在するため,この部分に関してはそちらを御覧ください12.また,導出などはどうでもいい,とにかく BM25 の式の意味を知りたい,という人は解説動画34を見るとよいと思います.TF-IDF から BM25 までを非常に平易に説明してくれています.
LightGBM には LambdaRank が実装されており,簡単にランキング学習ができるようになっている. しかし残念なことに,日本語で試してみた例は非常に少ない. 特に,実際にデータ用意して学習し,評価するところまでやって公開している例がほぼ見当たらない.
ナイーブに考えると,全点対でマンハッタン距離を計算して Kruskal 法などの最小全域木を求めるアルゴリズムを適用すればよいと思えるが,この解法では入力の頂点数 $N$ に対して,枝数が $O(N^2)$ になってしまう.
2019/11/15(金)・16(土) に名古屋(名工大)で開催された、第 4 回統計・機械学習若手シンポジウムに参加してきました。
その中でも「Academic Writing for Top Conferences」というセッションは個人的に有用そうだと思ったので共有します。 後半の「第2部:パネルディスカッション・質疑応答」については、Q&A 集が公開されています (URL)。
学生が研究室を選んだり、企業が共同研究先を選ぶ際に、その研究室がきちんと論文を通している研究室かどうかというのは一つに基準になるかと思います。計算機科学分野、特に機械学習・データマイニング・人工知能分野周りの分野では、企業の研究所が強く速報性が求められる影響などにより国際会議論文の影響力が強い傾向があります。そこで本記事では、これらの分野の国際会議に日本所属で論文を通している人を収集することを考えます。
$A = [1, 2, 3]$ のとき、和は $1+2+3+(1+2)+(2+3)+(1+2+3)=20$
def sum_subarrays(A, mod=10**9+7):
N = len(A)
S = [0]
for a in A:
S.append(S[-1] + a)
S[-1] %= mod
return sum((2 * i - N) * s % mod for i, s in enumerate(S)) % mod
pelicanでタグ毎にページを表示するurlはtag/(タグ名).htmlであるが、日本語のタグを付けたときにはurlの(タグ名)の部分がよく分からない文字列に自動変換される。
正確にはアルファベットと数字以外の文字列を使った場合であり、これはカテゴリでも同様である。
この手法は以下の図で大体説明できる。
| 確率分布 | 確率密度関数 | 定義域 | パラメータ | 平均 | 分散 |
|---|---|---|---|---|---|
| ベルヌーイ分布 | $p^x (1-p)^{1-x}$ | $x\in \{0,1\}$ | $p$ | $p$ | $p(1-p)$ |
| 二項分布 | ${}_nC_xp^x(1-p)^{n-x}$ | $x\in \{0,\cdots,n\}$ | $n,p$ | $np$ | $np(1-p)$ |
| ポアソン分布 | $\frac{\lambda^xe^{-\lambda}}{x!}$ | $x\in \{0,1,\cdots\}$ | $\lambda$ | $\lambda$ | $\lambda$ |
| 幾何分布 | $p(1-p)^{x-1}$ | $x\in \{1,2,\cdots\}$ | $p$ | $\frac{1}{p}$ | $\frac{1-p}{p^2}$ |
| (離散)一様分布 | $\frac{1}{N}$ | $x\in \{1,\cdots,N\}$ | $N$ | $\frac{N+1}{2}$ | $\frac{N^2-1}{12}$ |
| 確率分布 | 確率密度関数 | 定義域 | パラメータ | 平均 | 分散 |
|---|---|---|---|---|---|
| 正規分布 | $\frac{1}{\sqrt{2\pi\sigma^2}}\exp\left(-\frac{(x-\mu)^2}{2\sigma^2}\right)$ | $(-\infty,\infty)$ | $\mu,\sigma$ | $\mu$ | $\sigma^2$ |
| 指数分布 | $\lambda e^{-\lambda x}$ | $[0,\infty)$ | $\lambda$ | $\frac{1}{\lambda}$ | $\frac{1}{\lambda^2}$ |
| (連続)一様分布 | $\frac{1}{b-a}$ | $[a,b]$ | $a,b$ | $\frac{a+b}{2}$ | $\frac{(a-b)^2}{12}$ |
| 何の検定 | 検定統計量 | 自由度 | 分布 |
|---|---|---|---|
| 母平均(母分散既知) | $\frac{\overline{X}-\mu}{\sqrt{\sigma^2/n}}$ | 標準正規分布 $N(0,1)$ | |
| 母平均(母分散未知) | $\frac{\overline{X}-\mu}{\sqrt{s^2/n}}$ | $n-1$ | t分布 |
| 母分散 | $\frac{(n-1)s^2}{\sigma_{0}^2}$ | $n-1$ | $\chi^2$ 分布 |
| 2分布の平均(分散が等しい) | $\frac{\overline{X}-\overline{Y}}{\frac{(m-1)s_1^2+(n-1)s_2^2}{m+n-2}\sqrt{\frac{1}{m}+\frac{1}{n}}}$ | $m+n-2$ | t分布 |
| 2分布の平均(分散が等しくない) | $\frac{\overline{X}-\overline{Y}}{\sqrt{s_1^2/m+s_2^2/n}}$ | $\frac{(s_1^2/m+s_2^2/n)^2}{\frac{(s_1^2/m)^2}{m-1}+\frac{(s_2^2/n)^2}{n-1}}$に最も近い整数 | t分布 |
| 2分布の分散 | $\frac{s_1^2}{s_2^2}$ | $(m-1, n-1)$ | F分布 |
| 表の度数分布 | $\sum_{i=1}^k\frac{(f_i-np_i)^2}{np_i}$ | $k-1$ | $\chi^2$ 分布 |
| 分割表の属性の独立 | $\sum_{i=1}^r\sum_{j=1}^c\frac{(nf_{ij}-f_{i\cdot}f_{\cdot j})^2}{nf_{i\cdot}f_{\cdot j}}$ | $(r-1)(c-1)$ | $\chi^2$ 分布 |
2つの分布の結果に差があるかどうかを検定する
pelicanでサイトを作ったので、競プロライブラリの公開とか、なにかメモ的なものとして使いたい
import math
print(math.sqrt(4))
print("Hello World!")
$\alpha$が$\beta$を$\kappa$らったら$\epsilon$した。なぜだろう。 (参考: アルファがベータをカッパらったらイプシロンした。なぜだろう。)