見出し画像

Desmosで作ったものをまとめてみる(2D関数グラフ)

Desmos ー 帯、結びつき、靭帯
皆さんはDesmosというサイトを知っていますか?
式を入力するだけで関数グラフを描いたり、定規やコンパスを用いて幾何図形を作図することもできます。
私がこれまで作ってきたものの中で見てもらえそうなものを公開します。



Relu関数とその微分

ずいぶん前に作ったので、コメントしてあったことを書きます。

コメントしてあったこと

手書き数字認識AIのために活性可関数を作る。活性化関数は最小化で微分条件が欲しい。しかし、Relu関数は微分不可。数値微分も考えたが、精度の問題を考えて無理やり微分したような関数にする。

はい。なんか昔の人が書いたみたいですね。でも、これはおそらく過去の私がこういう本をたくさん読んでたからですね。ちなみにp変数を動かすことで関数の値を変えられるみたいです。赤い関数がRelu関数で青い関数がその微分(っぽいもの)です。
「なるほど、絶対値を使えば微分(っぽいもの)が作れるのか。」と思って作ったものでした。

三角関数(笑)

これは三角関数と逆三角関数を使って作ったかくかく関数です。
$${\arcsin(\sin(x))}$$
みたいなかんじで 逆関数(関数) と描くとかくかくになることを発見した時のものです。mod関数とかabs関数を使わなくてもかけて面白いですよね。

接線方程式と法線方程式

学校で習ったものを描いてみました。紫の点を動かすと接線・法線が動きます。微分を使って接線をかきます。
接線の式:$${y=f'(a)(x-a)+f(a)}$$
法線の式:$${y=-\frac{1}{f'(a)}(x-a)+f(a)}$$

多項式補完

Desmosにあったものを使って点の個数をふやしました。
$${∑}$$使って一般化できないかなあ。。。

数値微分いろいろ

Qiitaの記事を読んで作りました。

Desmosでは$${x^3}$$を計算させているのにどれも結構正確に近いことにかなり驚きました。思った以上に正確でした。

勾配降下法

勾配降下法を10回適用します。
$${μ}$$が正の数なら極小値か最小値に、負の数なら極大値か最大値になります。
AI作るときについでに作りました。緑の点を動かすことで最終的な点の場所が変わります。

イージング

Scratchで角度をなめらかに変えるように作ったものです。三角関数を使って書いているので「〇度変える」よりは遅いですが綺麗に動作します。逆三角関数を使わないのは計算効率が悪いからです。

ハレー法

数値計算の王道「ニュートン法」よりも収束が早い3次収束の求値アルゴリズムを7回適用します。アルゴリズムを探してたら見つけたので、式を丸写ししてやってみました。参考にしたサイトは以下です。

https://www.jstage.jst.go.jp/article/jhsj/31/182/31_95/_pdf/-char/ja

単位離散化関数

関数を間隔$${n}$$で離散化します。
このサイトでもとり上げています。


更新履歴(手動)

ここのページは時間があったときに更新していきます。見ていただきありがとうございました。

2024/09/13

  • Relu関数とその微分

  • 三角関数(笑)

  • 接線方程式と法線方程式

  • 多項式補完

  • 数値微分いろいろ

  • 勾配降下法

2024/09/14

  • イージング

  • ハレー法

2024/09/19

  • 単位離散化関数

いいなと思ったら応援しよう!