2016/12/19

Ordinary least squares

Roughly calculation of ordinary least squares of multiple linear regression.

y = X b + e
is a multiple linear regression where
y is a dependent vector,
X is an explanatory matrix and
e is an error vector.

e = y - X b

Multiply both sides with a transposed variable of then self.

eT e
= (y - X b)T (y - X b)
= yT y - 2 bT XT y + bT XT X b

Differentiate by b.
Since the right hand side of previous equation is a squared expression with b,
the differentiation of minimal value of it is 0.

d(eT e) / db = - 2 XT y + 2 XT X b = 0

b = (XT X)^-1 XT y

References:
https://en.wikipedia.org/wiki/Ordinary_least_squares
https://en.wikipedia.org/wiki/Proofs_involving_ordinary_least_squares#Least_squares_estimator_for_.CE.B2

2015/04/06

TODO 2

TODO
エフェクト
ポーズを練習(1ストローク毎に採点しグラフ化)
ポーズを練習(同じ問題をやるボタン、使った設定をツイートに表示、結果の表に出す情報を増やす、設定の説明をちゃんとする、採点エフェクトは表示・非表示の切り替えにする)
ポーズを練習(結果の統計データ)

DONE
背景(ポーズを練習、なぞって練習、円の達人、色彩テスト)
円の達人(ペンタブレットに対応)
ソフト倉庫(ウェブページ読み上げツール、時間計測・TODOリストのアプリを更新)

POSTPONE
ソフト倉庫(ツールの利用規約を書く、ライセンス管理をする、バグ修正、紹介ページ)
位置テスト(デッサントレーナーをWeb版として復活させる)
円の達人(経過時間を測る、点数を表にする)
なぞって練習(ラウンド制にする)
色彩テスト(回数を多く、説明をちゃんとする、はじめからボタン、ツイート内容を豪華に、経過時間も測る)

2015/03/05

JavaScript + SVG で星空を作ってみた

JavaScript、mapもクロージャもあって、意外とまともだなあ・・

2015/02/22

JavaScript で雨を降らせてみた

blogger には JavaScript が貼れるという真理を忘れていた・・

2015/01/02

短期目標1

TODO
ポーズを練習(1ストローク毎に採点しグラフ化)
ポーズを練習(同じ問題をやるボタン、使った設定をツイートに表示、結果の表に出す情報を増やす、設定の説明をちゃんとする、採点エフェクトは表示・非表示の切り替えにする)

POSTPONE
ソフト倉庫(ツールの利用規約を書く、ライセンス管理をする、バグ修正、紹介ページ)ウェブページ読み上げツール、時間計測・TODOリストのアプリを更新
位置テスト(デッサントレーナーをWeb版として復活させる)
円の達人(ペンタブレットに対応、経過時間を測る、点数を表にする)
なぞって練習(ラウンド制にする、エフェクト)
色彩テスト(回数を多く、説明をちゃんとする、はじめからボタン、ツイート内容を豪華に、経過時間も測る、エフェクト)

DONE
5分ドローイング(左右反転、キー変更)
絵(デモとして雰囲気のあるものを+5枚程度)ランダムなお題を表示(ポーズ、服装、髪型、角度)
ポーズを練習(ツイート内容を多く、客観的な数値を表示、ヒントとして一部を表示、お手本が消えるモード、UNDO・REDO、クリア、制限時間の選択の見た目、秒単位で調整、どう間違えたか分かるリアルタイムの採点、ページ別の設定ファイル、CSS preprocessor の代わりのヘルパー、ドロップダウンメニュー、ヘルプ、リアルタイムの採点のオン・オフ)
絵を何枚か仕上げる -> 4枚仕上げた
いつかぜのサブストーリーをノベルゲーム化したものを公開する

2014/12/31

さくさくペイントのコンパイル方法2

FStap.Controls はレポジトリをクローンした後は、
以下のように dll が読み込めていない状態のようです

FStap.Control プロジェクトを右クリックして Manage Nuget Packages から
FSharp.Data, HtmlAgilityPack, NDde, Newtonsoft.Json の4つはインストールされているように見えて、実は存在しないので、一旦すべて Uninstall します
Online のタブを開き、右上の検索ボックスにキーワードを入れて、パッケージを検索できます
ndde と入力して NDDe を見つけてインストールして下さい
F# Data と入力して F# Data を見つけてインストールして下さい(ToolBox と書いてある方は使いません)
HtmlA まで入力すれば出ると思いますが、HtmlAgilityPack と入力して、 HtmlAgilityPack をインストールして下さい。
Json.NET と入力して Json.NET をインストールして下さい

先ほどの警告マークの出ていた Reference に戻ります
警告マークのあるもののうち
FStap.TypeProviders
Interop.SHDocVw
だけ一旦、右クリックして削除して下さい

FStap.Controls プロジェクトを右クリックして Add -> Reference の Browser タブを開いて
Browese で dll を探します
Windows 7 だと C:\Windows\System32\shdocvw.dll を追加します
OSのバージョンが違うと位置が違うかもしれません。

ここで、Visual Studio をもう1つ起動する必要があります
FStap\FStap.TypeProvider\FStap.TypeProviders.fsproj をVisual Studio で開き
Build -> Build Solution すると
FStap\FStap.TypeProvider\bin\Debug\FStap.TypeProvider.dll が出来上がっていると思います
これを 最初に起動しているVisual Studioの FStap.Controls プロジェクトの参照に追加します

ここまでやった後で、
Build から Build Solution して、Clean Solution して
Paint\Paint.UI に res というフォルダを作成して
もう1回ビルドしたらコンパイルが通りました。




さくさくペイントのコンパイル方法

ソリューションを右クリックして Add -> Existing Project から、以下のように
FStap.Core
FStap.System
FStap.WPF
FStap.Controls
をインポートします

次に、各プロジェクトを右クリックして、Add -> Reference から以下のように他のプロジェクトを読み込みます

Paint.Core

Paint.Algo

Paint.Canvas

Paint.UI

Paint.Tool

Paint.App

FStap.System
FStap.WPF
FStap.Control