Pythonによる勾配降下法の実装
勾配降下法
目的関数の1次微分を求めて、勾配の逆方向にパラメータを逐次的に更新していく手法。
数式表現
実装
条件
目的関数はに設定。明らかにで最小となる。
コード
import numpy as np import matplotlib.pyplot as plt def J(x): return x*(x-4)+5 def diffJ(x): h = 1e-4 return (J(x+h) - J(x)) / h n = 100 x = np.linspace(0, 5, n) np.random.seed(seed = 32) stack = [] # プロット用のリスト ''' # Graph plt.xlim(-1, 6) plt.ylim(-1, 8) plt.xlabel(r"$\omega$") plt.ylabel(r"$J(\omega)$") plt.plot(x, J(x), "b") plt.show() ''' # 初期値 omega = np.random.rand()*5 # ステップ幅 eta = 0.01 for i in range(100000): # プロット用のリスト stack.append(omega) # パラメータ更新 omega = omega-eta*diffJ(omega) # 収束判定 if eta*diffJ(omega)<=0.0001: break # 結果表示 plt.xlabel(r"number of steps") plt.ylabel(r"$\omega$") plt.plot(stack, "r") plt.show()
出力
辺りに収束していると分かる。
主成分分析における行列表現
線形次元削減
高次元の訓練入力標本から低次元の表現を求めること。
つまりの埋め込み行列を用いて、としてを求めること。
主成分分析
次元削減後の表現がの正射影であるという制約の下で、がとなるべく近くなる埋め込み行列を決定する。
下線部はと行列を用いて表現できる。
このときとは次元が違うので、単純に比較できない。そのために左からをかけてとして次元を揃える。
これらの差を最小化するようなを求めることになる。
『画像認識』(機械学習プロフェッショナルシリーズ)第1章まとめ
iPhoneでホームボタンを連打すると変な音声案内機能が起動する問題の解決法
画面が割れてしまったため、最近iPhoneの本体を交換しました。するとホームボタンを連打した際に、音声案内のような変な機能が起動することに苦しめられました。(せっかちなので、時おりホームボタンを連打しがち)
その現象を防ぐ設定方法をまとめておきます。
まずは「設定」>「一般」>「アクセシビリティ」へ移動します。
調べたところ、その画面の一番上にある「VoiceOver」が、ホームボタンの「トリプルクリック(三連打)」で起動しているそうです。
トリプルクリックで、OnとOffが切り替わります。
この機能が起動しないようにするには「アクセシビリティ」の画面を下にスクロールし「ショートカット」の設定をします。
現時点では「VoiceOver」にチェックが入っているので、そこをタップしてチェックを外せば解決です。
ウェブで手軽に格好良いスライドを作れる「slideship」が良さげ
ウェブで手軽に格好良いスライドを作れるという触れ込みのサービス「slideship」(β版)が本日公開されました。
We've released our new product!! https://t.co/YvOByJtNtK
— slideship (@slideship) 2017年6月28日
it's a cloud service to create & ship your presentation slides using Markdown. pic.twitter.com/gAdZSeZdHR
日本語のプレスリリースはこちら:
prtimes.jp
ざっとユーザーガイドなどを見てみた印象ですが、markdown形式の記述によって、手軽に格好良いスライドを作成できそうです。初期の段階から数式対応なのも個人的には非常に評価が高いです。
「slideship ユーザーガイド - テーマ紹介」を公開しました。このスライドも5分とかからず作成&公開できました。 https://t.co/FgB4knYn5E
— Takahiro E. Ikeuchi (@iktakahiro) 2017年6月28日
とは言え、いくつか気になる部分もあります。
- ログイン認証の選択肢
- 対応言語
- マネタイズの方向性
- 他のサービスとの差異化
1について、現状GitHub (https://github.com/) アカウントの OAuth認証のみでログインできます。また2について、現在のサービスは英語のみで案内されています。現時点では「markdown形式」に違和感なく対応できる層を主な対象にしているため取りあえず必要最低限の仕様になっているのかなと。ただ将来的には、より多様な選択肢があっても良い気もします。
※ 検討しているらしいです
こんにちは。ご意見嬉しく思います。認証方式については、ID/Password や その他 SNS 連携に順次対応してまいります。インターフェースの言語につきましては、将来的には多言語対応を検討しております。
— slideship (@slideship) 2017年6月28日
3について、個人的にはどのような形でマネタイズを図っているかが気になりました。ありがちなフリーミアム(無料機能+有料会員専用機能)なのか、広告モデルなのか、はたまた別路線なのか……。
4は、群雄割拠のウェブサービス業界の中で、どのような立ち位置を目指しているかです。個人的には、表現しづらいですが用意されている「グラデーションテーマ」の格好良さ・綺麗さ・お洒落さが魅力に感じました。ただこの価値は普遍的にアピールしづらい面もあり、どういった部分で生き残りを狙うかは難しい部分だと思います。
いろいろ書きましたが、ユーザー目線で、この類いのサービスが切磋琢磨してより便利になっていくのは大歓迎です。「slideship」の今後の展開に大いに期待したいです。
【遊戯王デュエルリンクス】カオス・ソルジャーが格好良いから、出せそうなデッキ組んだ
「カオス・ソルジャー」が出したいというのが動機。少なくとも、もう1枚「カオス・ソルジャー」が欲しいけど出ない。
[追記:20170721]
カオス・ソルジャー2枚目を手に入れたので更新。