タグ

数学と機械学習に関するskypenguinsのブックマーク (18)

  • iALSによる行列分解の知られざる真の実力

    以下では、この表データは \(X\) という行列にまとめられているとします。上記テーブルに含まれる user_id 数を \(N_U\) , item_id 数を \(N_I\) とするとき、 \(X\) は \( N_U \times N_I\) 行列であり、その第 \(i\) 行は user_id として \(\mathrm{user}[i]\) を持つユーザーに、第 \(j\) 列 は item_id として \(\mathrm{item}[j]\) を持つアイテムに対応するとします。このマッピングのもと、 \(X\) の \(i\) 行 \(j\) 列の要素は、以下の式で与えられます。 $$ X_{ij} = \begin{cases} 1 & (\text{if } \mathrm{user}[i] \text{ and } \mathrm{item}[j] \text{ had

    iALSによる行列分解の知られざる真の実力
    skypenguins
    skypenguins 2022/04/24
    推薦システム
  • 統計・機械学習の理論を学ぶ手順 - Qiita

    社内向けに公開している記事「統計・機械学習の理論を学ぶ手順」の一部を公開します。中学数学がわからない状態からスタートして理論に触れるにはどう進めばいいのかを簡潔に書きました。僕が一緒に仕事をしやすい人を作るためのものなので、異論は多くあると思いますがあくまでも一例ですし、社員に強制するものではありません。あと項目の順番は説明のため便宜上こうなっているだけで、必ずしも上から下へ進めというわけでもありません。 (追記)これもあるといいのではないかというお声のあった書籍をいくつか追加しました。 数学 残念ながら、統計モデルを正しく用いようと思うと数学を避けることはできません。ニューラルネットワークのような表現力が高くて色々と勝手にやってくれるような統計モデルでも、何も知らずに使うのは危険です。必ず数学は学んでおきましょう。理想を言えば微分トポロジーや関数解析のような高度な理論を知っておくのがベス

    統計・機械学習の理論を学ぶ手順 - Qiita
    skypenguins
    skypenguins 2022/01/26
    数学科の学生が4年~6年かけて習得してることを一朝一夕で美味しいところだけを習得したいと思うのはおこがましいと思う(「ベイズ統計の理論と方法」だけでもきちんと理解しようすると2年はかかるらしい)
  • 2020年度講義情報ページ

    講義 九州大学集中講義「深層学習および機械学習の数理」 2020年9月2日~4日 講義資料 資料1:機械学習概要・統計的学習理論 資料2:統計的学習理論・汎化誤差解析の理論 資料3-0:カーネル法の導入とガウス過程回帰 資料3-1:カーネル法と再生核ヒルベルト空間 資料4:再生核ヒルベルト空間の性質 資料5:カーネル法の学習効率 資料6:再生核ヒルベルト空間における最適化/深層学習とカーネル法の繋がり (8/29改訂) 資料7:深層学習の数理 統計数学セミナー 発表スライド レポート課題:pdf 広島市立大学集中講義「カーネル法と深層学習の数理」 2020年8月28日~29日 講義資料 資料1:機械学習概要・統計的学習理論. 資料2-0:カーネル法の導入とガウス過程回帰. 資料2:カーネル法と再生核ヒルベルト空間. (背景無し版) 資料3:再生核ヒルベルト空間の性質. (背景無し版) 資料

  • 劣微分・劣勾配と共役関数の可視化 - Qiita

    最適化や凸解析ののわりと序盤に登場するトピックに 劣微分・劣勾配 と 共役関数 があります。いずれも凸関数にとって特に重要な概念ですが、通常の書籍だと当然動きのない図でしか描かれていないため、イメージしづらい方もいるでしょう。そこで代表的な凸関数について、劣微分・劣勾配および共役関数のアニメーションを作りました(初めて格的にGoogle Colabを使いました)。の図よりはもっと鮮やかにイメージでき理解が深まるかと思います。なお、厳密には「閉真凸関数」などと呼ぶべき箇所を簡単のために単に「凸関数」と記述しています。厳密な定義などは専門書(例えば [福島2001,冨岡2015])を参照ください。 多変数関数 $f$ のある一点 $x$ での傾き(昇る方向)を表すベクトルを 勾配 と呼び $\nabla f(x)$ と表しますが、微分不可能な点では勾配を求めることができません。この問題を

    劣微分・劣勾配と共役関数の可視化 - Qiita
  • 確率的勾配降下法のメリットについて考えてみた

    機械学習初心者です。機械学習やディープラーニングでは、「確率的勾配降下法」というアルゴリズムがよく出てきますが、そのメリットがいまいちピンとこなかったので考えてみました。素人のポエムなのでトンチンカンなこと書いていると思います(そこそこ長いよ!)。 二次関数の最小値 全てはここから始まります。今回の確率的勾配降下法も、それのもととなった最急降下法も全てこれの応用です。 例:$ y=x^2-4x$ の最小値とそのときの$x$を求めなさい 参考:二次関数の最大値,最小値の2通りの求め方 数学的解法(1)~平方完成~ 高校数学でおなじみ(?)の平方完成をします。 $$y = (x^2-4x+4)-4 = (x-2)^2-4 $$ したがって、x=2のときに最小値-4です。簡単ですね。 しかし、次数や次元が増えていくと簡単に平方完成できなくなります。もう少し一般的に使える方法を考えます。 数学的解

    確率的勾配降下法のメリットについて考えてみた
  • 線形回帰を最小二乗法で解く - 機械学習に詳しくなりたいブログ

    これも機械学習の1つなんですね。統計学のものだと思っていました。 線形回帰とは何か まず回帰分析というのは、目的変数と説明変数の間の関係を求めること。との間にどのような関係があるか、つまりで表されるとき、はどのような関数になるか?を求めるもの。具体的な例で言えば、ある人の体重(これを説明変数:とします)が60kgだった場合、身長(これを目的変数:とします)は何cmか?みたいな感じですかね。もちろん何のヒントもなしじゃ予測しようがありませんから、複数のサンプルが与えられているわけですね。100人分の身長と体重のデータから関係式を求め、体重しかわからない人の身長を予測する、と。さて、回帰分析の中でも線形回帰とは、との関係が例えば のように表されるものを指すようです。で、係数をどう設定すればとの関係が最も適切になるか、を求めることが線形回帰の目標です。これ、いきなりとかになってて、全然線形じゃな

    線形回帰を最小二乗法で解く - 機械学習に詳しくなりたいブログ
  • 正則化項(罰金項)の意味 - 機械学習に詳しくなりたいブログ

    最小二乗法による線形回帰において、訓練データ数に対して近似式の表現能力が高すぎると過学習が発生します。(参考:線形回帰を最小二乗法で解く) それに対し、係数が大きくなることに対してペナルティを与えることで過学習を防止する方法があります。(参考:正則化最小二乗法) 今回は、そのペナルティ(正則化項)を加えることの数学的な意味を確認したいと思います。 正則化最小二乗法で書いた通り、正則化項は で表されます。ここで、の制約条件において、二乗和誤差 の最小値を求める問題を考えます。とすると、制約条件および二乗和誤差は凸関数ですから、不等式制約におけるラグランジュの未定乗数法(KKT条件)より、 の条件の元で を解けば、解が求められます。*1 さて、式(6)においてはに依存しませんから、これをで偏微分してみると、二乗和誤差に正則化項を加えた をで偏微分するのと同じ式が得られます。今、正則化項において

    正則化項(罰金項)の意味 - 機械学習に詳しくなりたいブログ
  • 正則化最小二乗法 - 機械学習に詳しくなりたいブログ

    訓練データ数に対して多項式の次元数が大きすぎると、過学習が発生することを以前確認しました。(参考:線形回帰を最小二乗法で解く) 過学習が発生するとき、係数が大きな値をとる傾向があるようです。よって、係数を小さい値に制限することができれば過学習が抑止できるということになります。この考えに基づいた手法が正則化です。最小二乗法の解の導出の式(5)で示した二乗和誤差 に対して、係数が大きくなることに対してペナルティを与える正則化項(罰金項)を以下のように追加します。 が大きくなれば、そのぶん誤差関数も大きい値をとってしまうということですね。ここでは正則化係数で、解析者が任意に決定する値です。式(2)を最小化するを求めるには、最小二乗法の解の導出で導出したのと同様に展開してで微分します。すると以下の式が求められます。 導出の過程はほとんど同じなので省略します。僕はの変形がちょっと戸惑いました。(は行

    正則化最小二乗法 - 機械学習に詳しくなりたいブログ
  • Lassoの理論と実装 -スパースな解の推定アルゴリズム-

    $$ \begin{aligned} \boldsymbol{S}_{\lambda}(\boldsymbol{\beta}) & = ||\boldsymbol{y}-\boldsymbol{X\beta}||^2 + \lambda||\boldsymbol{\beta}||_q \\\\ & = ||\boldsymbol{y}-\boldsymbol{X\beta}||^2 + \lambda \sum_{i=0}^{p}{|\beta_i|^q} \cdots (*) \\\\ \end{aligned} $$ となります. 確認ですが, $\boldsymbol{y}$:n次元の観測ベクトル $\boldsymbol{X}$:n×(p+1)次元の計画行列(design matrix) $\boldsymbol{\beta}$:(p+1)次元の回帰係数ベクトル (これを求めたい.

    Lassoの理論と実装 -スパースな解の推定アルゴリズム-
  • 重回帰モデルの理論と実装 -なぜ正則化が必要か-

    この記事は昔Qiitaに投稿していた内容になります. 元記事の方は近々削除する予定です. 導入 Qiitaで重回帰と検索をかけても意外と数式での説明がなかったので今回は数式で攻めたいと思います. 例題として,The Boston Housing Datasetを使います. https://raw.githubusercontent.com/satopirka/Lasso/master/Boston.csv crim zn indus chas nox rm age dis rad tax ptratio black lstat medv 1

    重回帰モデルの理論と実装 -なぜ正則化が必要か-
  • 【Day-23】機械学習で使う"距離"や"空間"をまとめてみた - プロクラシスト

    データ分析ガチ勉強アドベントカレンダー 23日目。 ここまでデータをどういう風に処理したり、どういうタスクをこなしていくかについて勉強してきたが、 一度基礎的な事項に戻ってみたいと思う。基礎だから簡単というわけではない。基礎だからこそ難しく、また質的な内容。 データ分析で使われている手法などをまとめて集約して、簡単な説明を付け加えていく。 しかし、このあたりの数学*1は苦手なので、なるべく直感的に自分のイメージを書いていく。 われわれが生きている空間や、距離は"正しい"のか ユークリッド空間/ユークリッド距離 点の距離 分布の距離 wasserstein計量 カーネル(再生核ヒルベルト空間) Topological Data Analysis(TDA) 次元削減/Embedding PCA(principal component analysis) t-SNE(t-Distributed

    【Day-23】機械学習で使う"距離"や"空間"をまとめてみた - プロクラシスト
  • 機械学習の中身を理解する - Speaker Deck

    2018年12月5日 リクルートスタッフィングのイベントでの資料です。 「機械学習のエッセンス」の解説がメインになっています。

    機械学習の中身を理解する - Speaker Deck
    skypenguins
    skypenguins 2018/12/06
    何気に最終スライドが衝撃なんだが
  • 30分でわかる機械学習用語「次元削減(Dimensionality Reduction)」 - Qiita

    機械学習用語としての「次元削減(Dimensionality Reduction)」について、「次元削減という言葉を初めて聞いた」という程度の方を対象に、次元削減の目的・方法から、どんな方法で実現するのかという話までを説明する記事です。 なお、いろいろと日語訳にブレがあるようですが、「次元削減」で通します。 記事は、courseraで提供されているAndrew Ng氏の機械学習講義の内容を参考に、「次元削減」に関して説明するものです。 また、記事では、「次元削減」の手法として、主成分分析(PCA:Principal Component Analysis)を取り上げます。 次元削減とは? 「次元削減」とは、文字通り、データの次元数を減らすことです。 ここでいう「次元数」は、データセットのフィーチャーの数と言い換えることができます。 以下に次元削減の例を示します。 上図上は身長と体重の関

    30分でわかる機械学習用語「次元削減(Dimensionality Reduction)」 - Qiita
  • 機械学習をやる上で必要な数学とは、どの分野のどのレベルの話なのか(数学が大の苦手な人間バージョン) - 渋谷駅前で働くデータサイエンティストのブログ

    しばらく前にこんな記事が出ていたのをお見かけしました。 明らかにこれは僕が某所(笑)で適当に放言したことがきっかけで巻き起こった議論の一旦なのではないかと思うのですが、個人的にはこちらの@yohei_kikutaさんの仰る通りで大体良いのではないかと考えております。 なのですが、言い出しっぺらしき身としてはもうちょっと何か具体的な話を書いた方が良いのかな?とも思いましたので、常々公言しているように数学が大の苦手な身ながらどの分野のどのレベルの数学機械学習をやっていく上で必要なのかという点について戯言だらけの駄文を書いてみることにします。 深層学習 (機械学習プロフェッショナルシリーズ) 作者: 岡谷貴之出版社/メーカー: 講談社発売日: 2015/04/08メディア: 単行(ソフトカバー)この商品を含むブログ (13件) を見るちなみに、以下に並べる戯言は深層学習青から得られた知識を

    機械学習をやる上で必要な数学とは、どの分野のどのレベルの話なのか(数学が大の苦手な人間バージョン) - 渋谷駅前で働くデータサイエンティストのブログ
  • 機械学習をやる上で線形代数のどのような知識が必要になるのか

    TL;DR 「機械学習をやるなら線形代数はやっとけ」的な話が出るけど具体的な話があまり見当たらない 研究でなく実務レベルで機械学習を扱う場合にどのような線形代数の知識が必要になるのか考えてみた 高校でやるベクトル・行列+αくらいあれば概念的には十分で、計算が苦じゃない基礎体力が重要では? 機械学習が流行ることで、機械学習に必要な数学的基礎にも話が及ぶことが多くなってきている。 特に、線形代数や微積に関しては基礎を押さえとけみたいなことを言う人が結構いる気がする。 中身のない話をしたい場合はまあそれだけでもいいのだけれど、具体的に何が必要になるのかを説明してくれてる人はあまりいない。少なくとも自分の観測範囲では。 レベル感が様々なので万人に通用する議論はできないのはしょうがないが、「自分としてはこれは必要だと思っている」みたいな意見は聞いてみたい。 自分の考えはどうだろう、ということで線形代

    機械学習をやる上で線形代数のどのような知識が必要になるのか
    skypenguins
    skypenguins 2018/04/15
    >高校でやるベクトル・行列+αくらい/今の学習指導要領では数Cが消滅して行列はやらなくなりました…
  • 統計学・機械学習でよく使われる数学記号リスト(主に自分用) - About connecting the dots.

    統計学とか機械学習周りのを読んでいると,何の説明もなくややこしい数学記号が出てきて,そういえばこれはなんだっただろう? と途方に暮れてしまうことが少なくないので,自分用にまとめなおしてみました,というのが今回のエントリ.あくまで自分用なので,全部の数学記号を扱ってるわけではありません*1. 代数学 記号 意味 用例 用例の意味 備考 総和 要するに足し算 総乗 要するにかけ算 クロネッカーのデルタ i=jなら1,それ以外なら0 要するにブーリアン条件 ナブラ *2 3次元ベクトルの微分 要するに各要素の微分 ラプラシアン 3次元ベクトルの2階微分 要するに各要素の2階微分 下限 のとき与式は0になる との違いは,は当該値を含む必要があるが,はないこと 上限 との違いは,は当該値を含む必要があるが,はないこと 関数値が最大となるような定義域の元の集合 を最大にするような がの下にくる場合も

  • 勾配法は本当に鞍点近傍にはまるのか?モース理論で考えてみる - Qiita

    TL;DR 勾配法はほとんどのケースで極小点に収束する(鞍点には収束しない) この事実は力学系や最適化の分野ではよく知られているが,機械学習では新しい? 数年前にバズった勾配法の比較動画は実際の学習現象を説明できていないかも 鞍点の近傍での振舞いで差がつく? いや,そもそも鞍点近傍に流れ込まないかも 比較動画に登場した鞍点は,実際にはまず生じないタイプかも 機械学習にも役立つモース理論 ほとんどすべての関数はモース関数 モース関数の臨界点のタイプはわずか $d+1$ 種類($d$ は定義域次元) 安定/不安定多様体とモース・スメール複体で勾配法の流れは分かる Monkey saddleはまず現れない(もし現れても簡単に消せる) 量的な問題に関しては,結局は実験するしかない この記事を書いたきっかけ 昨夜,ある論文を見かけて,ふとこんなツイートをした. ML業界,「勾配法が鞍点に収束する確率

    勾配法は本当に鞍点近傍にはまるのか?モース理論で考えてみる - Qiita
  • データサイエンス、データ分析、機械学習に必要な数学 - Qiita

    データサイエンス、データ分析機械学習の専門書の前書きには「大学初年度の数学」≒微分積分と線形代数を前提としているものが多い。 それならば大学に行っている人はほとんど履修しているはずなのだが、その専門書を読むと全然歯が立たない事が多い。 かといって微分積分や線形代数のテキストを開くと、これが機械学習データ分析のどこに役立つのか全然分からず、途方に暮れる。 データの変化を捉えるから微分 変化を結果にまとめるから積分 多変量を扱いやすくするための線形代数 なのだがそんなお題目ではどうにもこうにも…… そんなときには下記の 『統計学のための数学入門30講 (科学のことばとしての数学)』 がいい。1冊で微分積分と線形代数の内容が入っている。また、それらが統計学にどうつながっているか、統計学のどこでどう使われているかが明示されている。「統計学のための」なので必ずしも機械学習データ分析向けではない

    データサイエンス、データ分析、機械学習に必要な数学 - Qiita
  • 1