タグ

qiitaとmathに関するclavierのブックマーク (4)

  • 「998244353 で割ったあまり」の求め方を総特集! 〜 逆元から離散対数まで 〜 - Qiita

    1. なぜ 998244353 で割るのか? 最初はこのような設問を見るとぎょっとしてしまいますが、実はとても自然な問題設定です。 $998244353$ で割らないと、答えの桁数がとてつもなく大きくなってしまうことがあります。このとき以下のような問題が生じます: 多倍長整数がサポートされている言語とされていない言語とで有利不利が生じる 10000 桁にも及ぶような巨大な整数を扱うとなると計算時間が膨大にかかってしまう 1 番目の事情はプログラミングコンテストに特有のものと思えなくもないですが、2 番目の事情は切実です。整数の足し算や掛け算などを実施するとき、桁数があまりにも大きくなると桁数に応じた計算時間がかかってしまいます。実用的にもそのような巨大な整数を扱うときは、いくつかの素数で割ったあまりを計算しておいて、最後に中国剰余定理を適用して復元することも多いです。 なぜ 9982443

    「998244353 で割ったあまり」の求め方を総特集! 〜 逆元から離散対数まで 〜 - Qiita
  • 【Python】専門書や論文を読みたいけど数学が苦手・わからない人向けのコードを読んで学ぶ数学教本 - Qiita

    はじめに プログラミング自体は文系、理系、年齢関わらず勉強すればある程度ものになります。プログラミングがある程度できるようになるとTensorflow,PyTorchやscikit-learn等のライブラリで簡単にできる機械学習やデータサイエンスに興味を持つの必然! これからさらになぜ上手くいくのか・いかないのかの議論をしたい、社内・外に発表したい、理論的な所を理解したい、先端研究を取り入れたい、応用したい等々と次々に実現したい事が増えるのもまた必然でしょう。このときに初めて数学的なバックグラウンドの有無という大きな壁が立ちはだかります。しかし、数学は手段であって目的ではないので自習に使える時間をあまり割きたくないですよね。また、そもそも何から手を付けたら良いかわからないって人もいるかと思います。そんな人に向けた記事です。記事の目標は式の意図する事はわからんが、仕組みはわかるという状態に

    【Python】専門書や論文を読みたいけど数学が苦手・わからない人向けのコードを読んで学ぶ数学教本 - Qiita
  • 二分探索アルゴリズムを一般化 〜 めぐる式二分探索法のススメ 〜 - Qiita

    0. はじめに 二分探索法は単純ながらも効果が大きく印象に残りやすいもので、アルゴリズム学習のスタート地点に彩られた花という感じです。二分探索というと「ソート済み配列の中から目的のものを高速に探索する」アルゴリズムを思い浮かべる方が多いと思います。巨大なサイズのデータを扱う場面の多い現代ではそれだけでも十分実用的ですが、二分探索法はもっとずっと広い適用範囲を持っています。 記事では、二分探索法のエッセンスを抽象化して、適用範囲の広い「二分探索法の一般形」を紹介します。同時に無数にある二分探索の実装方法の中でも「めぐる式二分探索」がバグりにくいと感じているので、紹介したいと思います。 注意 1: 二分探索の計算時間について 二分探索の計算時間について簡単に触れておきたいと思います。例えば「$n$ 個の要素からなるソート済み配列から目的の値を探索する」というよく知られた設定であれば、 単純な

    二分探索アルゴリズムを一般化 〜 めぐる式二分探索法のススメ 〜 - Qiita
  • 比較的少なめのデータで機械学習する時は交差検証 (Cross Validation) をするのです - Qiita

    口上 『ゼロから作る Deep Learning ~ Python で学ぶディープラーニングの理論と実装』というを買って深層学習の勉強をマターリしているのですが、 「そういえば情報検索や自然言語処理の実験でもよくやる交差検証 Cross Validation って意外に気にしてる人いないかも?」 と思ったので、自分でまとめることにしました。 もちろん、今までにも優秀な人達が記事を書いてくださっていますし(しかもググるとイパーイ出てくる)「もう知っているよ!」「やってるし!」っていう方は全く読む必要がないので、華麗にスルーして 1 回でも多く自分の学習のための Epoch を回した方がいいと思うのですが、もしお時間があって「よし粗探しでもしてやるか!」と思った奇特な方がいらっしゃったならばお読みいただいて、妙なところがあれば是非ご指摘・ご指導ください。 m(__)m 誰のための記事か? 「

    比較的少なめのデータで機械学習する時は交差検証 (Cross Validation) をするのです - Qiita
  • 1