タグ

*algorithmと*mathに関するsh19910711のブックマーク (38)

  • 最小二乗法でシステム同定やってみた - Qiita

    はじめに 私が制御工学を学び始めたとき、「これを学んでいけばモータを自由に制御できるようになるのか!」と思い、古典制御、現代制御と勉強を続けましたが、「これってモデルがある前提で説明してくるけど、そもそもモデルってどうやって求めるの?」という疑問が湧きました。制御工学を学んでいる人でもこういった疑問を持つ人は多いのではと思ったので、今回は実際に水平1軸アームシステムを対象に、システム同定を行い、モデルの妥当性を簡単に評価したいと思います。 目次 1. システム同定とは 2. 水平1軸アームシステムのモデル 3. 同定入力の選定 4. システム同定の手法 5. システム同定 6. モデルの妥当性評価 1. システム同定とは 制御工学を勉強してPID制御やら最適レギュレータやら様々なコントローラ・オブザーバの設計方法を知ると思います。しかしそれらを設計するとき、必ず必要になるのが数学モデルです

    最小二乗法でシステム同定やってみた - Qiita
    sh19910711
    sh19910711 2024/06/06
    "システムに適当な入力を与え、その出力を観測することで、入出力間の関係を表す数学モデルを決定する / 教科書や授業ではさらっと「モデルのパラメータはこうなっています」、と流されることが多い"
  • ニューラルネットの積分表現理論――リッジレット変換とオラクルサンプリングによる3層パーセプトロンの学習の数値実験 - Qiita

    概要 園田翔『深層ニューラルネットの積分表現理論』[3]という論文の中で「(浅い)ニューラルネットワークがしていることは 双対リッジレット変換 (の離散化)である」ということが解説されています. この論文では入力を一般の $m$ 次元にとり,活性化関数として ReLU やシグモイド関数を含む超関数のクラスに対して結果を与えています.が,そのぶんとても難しいです. 1 そういうわけで,稿では上の論文で提案されている「オラクルサンプリング」という手法を 活性化関数として Gauss 核 $\eta(x) = \exp(-x^2/2)$ (急減少関数)を用い, $m = 1$ 次元の場合に限って 解説し,さらにその数値実験をしようと思います. (稿を読む前に園田先生のスライド[2]に目を通しておくことをおすすめします.) 使ったもの Python 3.6.0 Chainer v3.1.0 O

    ニューラルネットの積分表現理論――リッジレット変換とオラクルサンプリングによる3層パーセプトロンの学習の数値実験 - Qiita
    sh19910711
    sh19910711 2024/05/21
    "パラメーターの「使われやすさ」に偏り / ニューラルネット(3層パーセプトロン)は双対リッジレット変換の(離散的な)計算をしているとみなせる / 本稿を読む前に園田先生のスライドに目を通しておくことをおすすめ" 2018
  • グラフ信号処理におけるサンプリングと復元 - 甲斐性なしのブログ

    はじめに グラフ信号処理に関する日語の書籍が昨年発売された。 グラフ信号処理の基礎と応用: ネットワーク上データのフーリエ変換,フィルタリング,学習 (次世代信号情報処理シリーズ 5) 作者:田中 雄一コロナ社Amazon 記事ではその中で解説されているグラフ信号のサンプリングと部分空間情報を利用した復元について簡単にまとめた上で、実際に試てみた際のコードと結果を紹介する。 グラフ信号処理の諸概念 グラフ信号 グラフ信号は下図のようにグラフの各頂点上に値を持つ信号である。 このような頂点上に値を持つグラフの例としては、空間上に配置された複数のセンサーが挙げられる。これは、近くにあるセンサー同士が辺でつなげば、その計測値はグラフ信号とみなせる。それ以外にも、路線図と各駅の人口、SNSのつながりと各ユーザの特性(年齢などの何らかの数値)等々、グラフ信号としてモデル化できる現実の事象は様々存

    グラフ信号処理におけるサンプリングと復元 - 甲斐性なしのブログ
    sh19910711
    sh19910711 2024/05/13
    "グラフ信号としてモデル化できる現実の事象は様々 + 時系列信号や画像も時刻、画素を頂点とし近傍を辺でつなげばある種のグラフとみなせる / 「グラフ信号処理の基礎と応用: ネットワーク上データのフーリエ変換 ~ 」"
  • 機械学習をやる前に学んでおくべき最低の数学

    機械学習を勉強する前に学んでおくべき最低の数学の範囲について、あれこれ議論されている*1。この手の議論、なかなか不毛である。ライブラリをブラックボックスとして使う分には、数学の知識はほぼ不要。中身を考えながら使うには、大学の学部の微分積分と線形代数と確率・統計の教科書をまずは頑張れと言う自明な話になるからだ。 1. ライブラリの利用に数学はほぼ要らない 当にライブラリ利用者としては、数学の知識をほとんど要求されない。例えばSVMの分類器を構築するのに、プログラマが指定する必要があるのは、分類先と識別のための特徴量が入った学習データと、データの項目間の関係を説明する文、チューニングするのに使えるオプションが幾つかあるぐらいだ。オプションは経験的に精度が良くなるように選ぶ。これはランダムフォレストなどでも同じになる。 ディープラーニングのライブラリ、TensorFlowだと行列形式の乗算と加

    機械学習をやる前に学んでおくべき最低の数学
    sh19910711
    sh19910711 2024/04/27
    "学部の微分積分と線形代数と確率・統計の教科書をまずは頑張れ / 多変量のテイラー展開の証明 + ヘッシアンが半負定符号であることが極大化のための必要条件、負定符号であることが十分条件であることを示せる" 2018
  • 数学的バックグラウンドが無い人は理論を勉強しようと思っても厳しい - studylog/北の雲

    という事を痛切に悟りました。無理・無茶です。2015に出たLSTMとかCNNの教科書的の段階ならば、自分みたいな人間でも頑張って青読んでも何とか理解できました。でもそのレベルでは特に自然言語処理関係であまり実用的なモノは作れません。LSTMで言語モデル作って文章出力して「知性!(実際はワードサラダ)」とか言ってた牧歌的な時代はもうとうの昔に過ぎ去りました。数学的バックグラウンドが無いと最新論文見ても何がなんだかわかりません。論文を簡単に説明してくれているブログ記事を読んでも理解できなくなってきました。片手間では無理ですね。 理論を理解するのは諦めて、他の人の成果物(論文)を誰かがコード実装してくれてそれを使ってなんかやるっていう方向性に特化しないと全部中途半端になっちゃうでしょう。最低限CNNの畳み込み・フィルタとかDropoutとかそのレベルぐらいまでは理解しないと誰かが書いたコードす

    数学的バックグラウンドが無い人は理論を勉強しようと思っても厳しい - studylog/北の雲
    sh19910711
    sh19910711 2023/03/23
    2016 / "LSTMで言語モデル作って文章出力して「知性!(実際はワードサラダ)」とか言ってた牧歌的な時代 / 2006だが2007ぐらいに作られたweb2.0的なモノってもうほぼ淘汰された + 淘汰されちゃったモノ達は立派に隙間を埋めた"
  • 異空間散歩!双曲空間を歩いてみよう。 - ぬぬろぐ

    この記事は、scouty Advent Calendar の14日目です。 記事には、線の束がウネウネ動くgif動画があります。人によっては気持ち悪いと感じるかもしれませんので、苦手な方はご注意ください。 双曲空間埋め込み - Poincaré Embedding 近年、機械学習界隈で双曲空間(Hyperbolic geometry) への埋め込み(Poincaré Embedding; Nickel & Kiela, 2017)1が流行っています。 双曲空間は、ユークリッド空間(普通のN次元空間)と異なり、原点から遠ざかるに連れて(正確な表現ではありませんが)急激に空間が拡がるという性質を持っています。このため、ユークリッド空間では不可能であった『木構造の埋め込み』が双曲空間においては可能となる2など、少ない次元でより複雑な構造を扱うことができる点が注目されています。 今年のICML

    異空間散歩!双曲空間を歩いてみよう。 - ぬぬろぐ
    sh19910711
    sh19910711 2023/01/28
    2018 / "双曲空間: 原点から遠ざかるに連れて(正確な表現ではありませんが)急激に空間が拡がるという性質 + 木構造をはじめとする複雑な構造を埋め込むことができる"
  • 空間をめぐる旅 - Qiita

    機械学習のための数学を学んでいて戸惑うもの、茫漠としてつかみどころがない、なのに至るところで重要な役割というかそもそも土台となっている概念に「空間」がある。しかも日常の言葉なので なんでこんなに沢山の種類の空間があるのか なにがどう違いがあるのか がさっぱり分からない。かつ、テキストを読んでも定義、定義のオンパレードでわけがわからない。ので、ほんの気持ちだけでも分かるようにまとめてみた。 手元のでざっと拾っただけでもこれだけあり、ちょっとだけ学んだイメージと名前の響きから平易な概念→難解な概念順に並べてみた(独断と偏見) (素朴な)空間 ユークリッド空間 ベクトル空間 距離空間 内積空間 ノルム空間 位相空間 アフィン空間 ヒルベルト空間 共役空間 バナッハ空間 ハウスドルフ空間 …… これらをWebで探してみると * 北野坂備忘録:再生核ヒルベルト空間 * ベクトル空間、ノルム空間、内

    空間をめぐる旅 - Qiita
    sh19910711
    sh19910711 2022/11/11
    2021 / "至るところで重要な役割というかそもそも土台となっている概念に「空間」がある / なんでこんなに沢山の種類の空間があるのか / テキストを読んでも定義、定義のオンパレードでわけがわからない"
  • 物理学で理解するグラフフーリエ変換 - Qiita

    目的 グラフニューラルネットワークの論文を読んでいると突然 グラフフーリエ変換後のフィルタリングを1次の項までで近似すると以下の式が導出できる. ここの$\theta_0$と$\theta_1$と$\vec{\beta}$を学習させる. $$P^{T}(\theta_0I+\theta_1\Lambda) P\vec{x}+\vec{\beta}$$ ここで$\Lambda$はラプラシアン行列の固有値行列で, $P$がラプラシアン行列の対角化行列である. などといった文章が出てくることがある. これについて信号処理の知識で導出している文書は多いものの, 恥ずかしながら筆者は信号処理に明るくないためよく理解できなかった. そのため, 筆者と馴染みのある物理学の知識を用いて上式の導出を行う. (そういった背景なので, いい加減なことを言っていたら訂正してくれるとありがたいです) 導出 出力$\

    物理学で理解するグラフフーリエ変換 - Qiita
    sh19910711
    sh19910711 2022/11/06
    "ここでΛはラプラシアン行列の固有値行列で, Pがラプラシアン行列の対角化行列である などといった文章 > 信号処理の知識で導出している文書は多い / グラフフーリエ変換はどこがフーリエ変換っぽいのか"
  • 機械学習をこれから始める人の線形代数を学ぶモチベーション - HELLO CYBERNETICS

    はじめに 機械学習に使われる主要な数学 線形代数 最も重要な理由 線形代数って何なんだ? 線形代数を学ぶモチベーション 線形代数を学んで、できるようになること 補足 微分積分学は? 確率統計は? 確率・統計を考えていくための初歩を確認したい人は以下の記事へ はじめに この記事は、私が機械学習を学んできて感じた、数学の役割をまとめたものです。記事を書く上で特に意識したのは、ある数学機械学習においてどのように活躍し、どのような旨味をもたらしたのか、そして、そこから数学を学ぶ意義を改めて抑えることです。 数学の解説をすることが目的ではないため、直接的に数学の疑問を晴らすということにはなりませんが、 これから機械学習を学んで行こうという場合に、数学がどのように役立ちうるのか、その全体像を予め把握しておくことに使っていただけると幸いです。 機械学習に使われる主要な数学 多くの書籍、多くの記事が世の

    機械学習をこれから始める人の線形代数を学ぶモチベーション - HELLO CYBERNETICS
    sh19910711
    sh19910711 2022/06/10
    2017 / "機械学習において、線形代数を学ぶ最大のモチベーションは、本が読めるようになること / 機械学習のことを調べようとした場合、その調べものはたいてい線形代数という言語で表記されています"
  • 『線形代数とネットワーク』前半を読み、木の意義について理解してみる - 機械のように今を輝き、少女のようにここを定義せよ

    記号を整理する 記号の意味 記号の直感的理解 すべては木だった さいごに 参考文献 最近は「グラフ」、ようはネットワークのことですが、 の話題をいろいろな所で目にします。 何か数理科学的な問題を考える上で、 その表現の幅が豊かであるためでしょうか。 しかし一方で、 それぞれのグラフがどんなグラフなのか、 その「性質」をヒトコトで言うのはなかなか 難しいようです。 そんな中、あるを読んでいて、 グラフでもやはり「行列式」が 一定の意味のある働きをしているようで、 これにそこはかとない快さを感じました。 この理解を改めて整理したく、 要点を簡潔にまとめてみたいと思います。 結論を先取りすると、 グラフについてある表現をしたとき、 グローバルな性質の1つである行列式が、 結局、木の数になるということ。 この木の数というのが、 電気回路などで重要視される、 (あるいは自分だったら因果とかでも 気

    『線形代数とネットワーク』前半を読み、木の意義について理解してみる - 機械のように今を輝き、少女のようにここを定義せよ
    sh19910711
    sh19910711 2022/04/15
    "『線形代数とネットワーク』という本で改めて線形代数の価値を感じることになりなかなかの良さ / グラフでもやはり「行列式」が一定の意味のある働きをしているようでこれにそこはかとない快さを感じました"
  • 有用な確率不等式のまとめ - Counterfactualを知りたい

    はじめに 機械学習に関連する諸分野では何かしらの統計量(期待判別誤差やリグレットなど)を上から評価したい場面が多くあります. そのような場面で大活躍するのが確率不等式と呼ばれる不等式の数々です. 今後ブログでもこれらの不等式を多用することが予想されるため, 一度まとめておきます. いくつかの不等式は証明もします. 証明は, MLPシリーズの『統計的学習理論』のAppendix Aを参考に, 自分なりに行間を埋めてみました. 目次 はじめに 目次 Jensen's inequality Markov's inequality / Chebyshev's inequality Hoeffding's inequality McDiarmid's inequality さいごに 参考 Jensen's inequality まず, 凸関数の定義を確認します. 凸関数: 関数が, 任意の と任意

  • テトリミノの偏り補正から見るテトリスの歴史

    レトロゲーム勉強会#04 https://retrog.connpass.com/event/153204/ での発表資料です。資料公開にあたり、ゲームボーイ版テトリスの記述を中心に追記を行っています。Read less

    テトリミノの偏り補正から見るテトリスの歴史
  • 変分ベイズに関する復習 - Qiita

    はじめに 前回は、エントロピー・KL divergenceに関する基的なことを復習しました。 今回は、変分ベイズに関する基的なことを書いていこうと思います。 変分ベイズをまとめると、以下の通りです。 (自分なりの大まかな解釈です。) 今、自分たちはAについて知りたい。しかし、Aを直接知ることは困難 なので、良く分からないAを計算せず、計算可能なBについて考える BをなるべくAに近づけるよう形で定義したい ある基づいてBをAに近づけていく 十分にAに近づいたBは、もはや自分たちが知りたかったAと見なせる 少しざっくりしてますが、こんな風に理解しています。 では、この内容を具体的に考えていきます。 目的 目的は、観測データから未知の変数を求めることです。 $y$ を観測データ、$z$を推定したい未知の変数とすると、この問題は の事後確率分布を計算する問題となります。 これを解析的に求めるの

    変分ベイズに関する復習 - Qiita
  • 「情報幾何の新展開」のやばさ - xiangze's sparse blog

    「情報幾何の新展開」というが話題になっています。 http://www.saiensu.co.jp/?page=book_details&ISBN=ISBN4910054700848&YEAR=2014 別冊数理科学 情報幾何学の新展開 2014年 08月号 [雑誌] 出版社/メーカー: サイエンス社発売日: 2014/08/22メディア: 雑誌この商品を含むブログを見る 著者は情報幾何という学問分野を創始したともいえる甘利俊一先生です。 書においては今までの分野の総括のみならず機械学習の理論や応用の進展を受けた今後の発展の方向を示しているような非常に野心的であおられているような書き方であったので、非常に簡単ではあり、また理解が不足している部分がありますが感想をまとめます。 4部構成になっていて、第I部、第II部は情報幾何を理解する為の基礎となる数学についての解説で、第III部は統計的

    「情報幾何の新展開」のやばさ - xiangze's sparse blog
  • 共役勾配法 - 大人になってからの再学習

    まず最急降下法について。 最適化問題の局所的探索法に最急降下法がある。 この最急降下法の考え方は次のような感じ。 「最も勾配が急な方向に進みましょう。その方向で一番低い場所に到達したら、進む向きを変えましょう。新しい方向は、その地点で最も勾配が急な方向です。これを繰り返すことで、やがては最も低い点に到着するでしょう。」 考え方は単純でわかりやすい。 その性質上、向きを変えるときには、それまでの進行方向と新しい進行方向が直交し、直角にジグザグと進むことになる。 下図のような感じ。 この楕円が扁平な場合、最急降下法だとジグザグの回数が増えて、なかなか最適解に収束しないという問題がある。 下図のように最適解に向かって進むものの、次第にステップサイズが小さくなって、なかなか収束しない。 で、もっといい方法があるんじゃないの? ということで共役勾配法が考え出された。 これは「最も勾配が急な方向」では

    共役勾配法 - 大人になってからの再学習
  • F値に調和平均を使う理由(再)

    正確にはF1値と言うべきでしょうか. 以前F値に調和平均を使う理由というエントリーで苦しい説明をしましたが,もうちょっとうまい説明が思いついたのでまとめてみました. 検索結果の評価指標に適合率 (precision) と再現率 (recall) があります. 適合率は目的に合った文書(適合文書)が検索結果にどれだけ含まれているかという正確性の指標, 再現率は検索対象としている文書群の中に存在する適合文書のうちどれだけ検索結果に含まれているかという網羅性の指標です. つまり, U: 検索対象文書群の文書の数 R: 検索結果に含まれる適合文書の数 N: 検索結果に含まれる文書の数 C: 検索対象文書群に存在する適合文書の数 引用: 情報検索 - Wikipedia とすると, 適合率 (precision) = R / N 再現率 (recall) = R / C です. 検索結果に含まれる文

    F値に調和平均を使う理由(再)
  • 機械学習をやる上で知っておきたい連続最適化 - Qiita

    記事では、機械学習のタスクを解く上で非常によく登場する最適化問題(optimization problem)の基礎を解説していきます。 機械学習で用いる最適化といえば、SGDやMomentum、Adamなどが有名ですね。はじめ、それらに関しての解説を書こうかとも考えましたが、既に優れた記事が多々あるので、ここではほとんど触れません。 一方、最適化問題とは何か、アルゴリズムが"優れている"とはどう評価するか、などの最適化の基礎に関わる部分の情報が少なかったので、記事ではそれらについて解説を行なっていきたいと思います。 最適化問題 まず、はじめに最適化問題の定義を与えます。最適化問題とは、与えられた条件のもとで何らかの関数を最小化(もしくは最大化)する問題のことを指します。 関数$f:R^n \rightarrow R$, $g_i:R^n \rightarrow R(i=1,...,m)

    機械学習をやる上で知っておきたい連続最適化 - Qiita
  • 素因数の個数の平均 - inamori’s diary

    Problem 468の計算量を見積もるときにこんな問題が思い浮かびました。 N以下を素因数分解したとき、素因数の個数の平均は? 例えば、2、3、4 = 22、5なら1個、6 = 2 * 3なら2個とします。logNよりはずっと小さいと思われます。とりあえずコードを書いて調べてみましょう。 from itertools import * def div_pow(n, d): e = 0 while n % d == 0: e += 1 n /= d return e, n def make_factors_table(N): a = range(N + 1) for p in takewhile(lambda p: p * p <= N, (n for n in count(2) if a[n] == n)): for m in xrange(p, N + 1, p): if a[m] =

    素因数の個数の平均 - inamori’s diary
  • 1~nまでの逆元をO(n)で求める方法 - takapt0226's diary

    参考にしたのは以下の@rng_58さんによるツイートです 導出が自明ではないのでメモ(少なくとも僕にとっては) ideone.com/SOygoW これで 1 から N までの逆元が O(N) でもとまります— rng_2さん (@rng_58) 2013年3月15日 @komaki__ i * (MOD/i) = MOD - MOD%i を変形すると出てきます— rng_2さん (@rng_58) 2013年3月15日 逆元列挙のコード 以下のコードで1~nまでの逆元(mod m)をO(n)で求められます // 1~nの逆元を求める(mod m) vector<ll> list_mod_inverse(ll n, ll m) { vector<ll> inv(n + 1); inv[1] = 1; for (int i = 2; i <= n; ++i) inv[i] = inv[m %

  • 科学史から最小二乗法 (回帰分析) を説明してみる - ill-identified diary

    2016/12/15: にわかに閲覧者が増えたのでおかしなところを微修正 概要 統計学史をちょっと調べていておもしろかったのでまとめてみた 技術的にはすごく初歩的な話なので, 回帰分析 (最小二乗法) の入門的な「読み物」という位置づけになりそう 入門的な読み物なので, 特に最小二乗法の説明箇所は中学高校の数学の知識だけで理解できるような表現をしている, したつもり. PDF換算で 10 ページ (ただし画像が結構多い) 惑星の軌道を予測する連立方程式で惑星の軌道を予測する19世紀初頭にフランスの数学者ルジャンドル*1が最小二乗法のアイディアを最初に発表したが, ドイツ数学者ガウス*2が直後に自分こそが先に思いついたと主張し, 論争を生んだという (Abdulle & Wanner, 2002, 200 Years of Least Squares Method). しかし, いずれが先

    科学史から最小二乗法 (回帰分析) を説明してみる - ill-identified diary