【確率論】中心極限定理

中心極限定理 を示す.中心極限定理は, 母平均とのズレがGauss分布に近づくという意味である. 左辺は母平均とのズレの分布関数, 右辺は, N(0,1)のGauss分布を表している. 証明は, 左辺の確率変数の積率母関数が右辺の分布関数の積率母関数と同じになることを…

【確率論】大数の法則

Chebyshevの不等式から証明できる. Chebyshevの不等式の証明は次のリンクへ. umashika5555.hatenablog.com 確率変数の期待値と分散を計算する. 次にChebyshevの不等式より のとき, これはすなわち, を表している.

【確率論】Chebyshevの不等式

を示す. したがって, これより,

【確率論】正規分布の最尤推定

1次元データにおける正規分布を当てはめたときの最尤推定の計算 尤度関数 対数尤度関数 で偏微分 で偏微分

【確率論】二項分布

定義 k: ベルヌーイ試行についてある事象が成功する回数 n: すべての試行回数 p: ベルヌーイ試行についてある事象が成功する確率 積分 二項定理より自明 期待値 分散 を用いる. の計算では, 二項定理の係数を消すためと, 期待値の定義式に落とし込むため, と…

【確率論】指数分布

定義 積分 期待値 分散 積率母関数 図 import numpy as np import matplotlib.pyplot as plt import scipy.stats as stats from IPython.core.pylabtools import figsize figsize(12.5, 4) expo = stats.expon lambda_ = [0.5, 1, 1.5] # 指数分布のパラメタ…

【確率論】Gauss分布

定義 積分 まずガウス積分の導出を行う. と置き, ヤコビアンはと計算できる. とおく. 次に, の導出を行う. これはと置きガウス積分に代入できる. その際, よりガウス積分の結果に係数が付き, 最終的な結果がとなる.これらの結果から, 正規分布の積分が計算で…

【確率論】幾何分布

定義 意味 ベルヌーイ試行で初めて成功するまでの試行回数の確率 積分 期待値 分散 積率母関数 図 scipy.stats.geomではで定義されているため, は定義なし. 成功確率が高いときは大きい試行回数の値で確率が小さくなり, 反対に成功確率が小さいときは大きい…

【確率論】Poisson分布

定義 導出 Poisson分布は二項分布の にして定義されている. 二項分布 積分 のマクローリン展開はよりであるから, 期待値 分散 を利用する. 積率母関数 マクローリン展開を利用する. 図 import numpy as np import matplotlib.pyplot as plt import scipy.sta…

softplus, softmax関数のオーバーフロー対策

xをtorch.tensor型として def softplus(x): return torch.max(torch.nn.functional.relu(x)) + torch.log(1 + torch.exp(- torch.abs(x))) def softmax(x): tmp = (x-torch.max(x)) return torch.exp(tmp) / torch.exp(tmp).sum()

シンプルな2次元ベクトルクラス

from math import hypot class Vector: def __init__(slef, x=0, y=0): self.x = x self.y = y def __repr__(self): return "Vector(%r, %r)"%(self.x, self.y) def __abs__(self): return hypot(slef.x, self.y) def __bool__(self): return (abs(self)) de…

【Python】train_data_splitについて

dataset = ["dog000.png", "dog001.png", ... , "dog999.png"] というデータセットのパスを格納しているリストがある場合でトレーニングデータとテストデータに分ける場合, 重複なくランダムに分けたいときのメモ import numpy as np train = np.random_choi…

【Python】PIL.Image.putpalette()について

semantic segmentationで独自データセットを用いたいとき, パレットにRGB値とクラスの対応の定義をする必要がありそうなので, パレットを定義する方法を考察. 1. まず, GIMPなどで, 画像をアノテーション. 2. 各クラスの色のRGB値をリストに入れる. [R0, G0,…

【PyTorch】DataLoaderで(images, labels)だけでなく(images, labels, paths)をロードできるようにする

まずglob.glob()を用いて, すべての画像データのパスを保持したリストを作る. def make_datapath_list(phase="train"): rootpath = "./data/" target_path = os.path.join(rootpath, phase, "**", "*.jpg") # 最初の**はクラスのディレクトリ path_list = []…

UbuntuでLoLをプレイ

ゲームは基本的にWindowsでやるものだが, Linuxでもプレイすることができる. Ubuntu18.04 LTSで動作を確認している.手順としてはLutrisをインストールし, LutrisのWEBページからLeague of Legendsをinstallする. # Ubuntu の場合 $ sudo add-apt-repository …

ubuntu18.04にJuliaをインストール

julialang.org 公式サイトからGeneric Linux Binaries for x86 の64bitのリンクをコピー $ cd ダウンロード $ wget https://julialang-s3.julialang.org/bin/linux/x64/1.1/julia-1.1.0-linux-x86_64.tar.gztarコマンドで展開する. 最後~/.profileにPATHを設…

【tex】独立記号の定義

LaTeXでグラフィカルモデルなどで用いる_||_という記号の定義 \newcommand{\indepe}{\mathop{\perp\!\!\!\perp}} \newcommand{\notindepe}{\mathop{\perp\!\!\!\!\!\!/\!\!\!\!\!\!\perp}}

【python】 PythonでMeCabを使う

エラーが出てよくわからなかったけど, ここを参考にしたら上手くできた. own-search-and-study.xyz

物体認識をお手軽に試す

ImageNetにおける物体認識をしたいとする. 通常ならイチからモデルを組み, データを入手し, 学習させ……という作業が必要なわけだが, ディープラーニングのフレームワークKearsならこれが簡単にできる. さらに, VGGやResNet, Xception, MobileNetなど自宅の計…

【linux】コマンドラインから画像をリサイズする

拡張子を変換したりするconvert コマンドでリサイズもできるそう. a.pngを640x640のb.pngにリサイズしたい場合 $ convert a.png -resize 640x640! b.png imagemagick.rulez.jp

【numpy】よく見るサイトメモ

sin波の生成 qiita.com乱数生成 qiita.com (b - a) * np.random.rand() + a

(曲線, 曲面) の法線と接線

機械学習をやる上で重要な線形代数学と微分のお話.多次元の曲線に関するベクトルの計算を導入する. 厳密な説明ではないので, 簡単な二次元の例から多次元へと拡張していく. 曲線の法線ベクトル 曲線 の座標(a, b) における法線ベクトルが であることを示す. …

【numpy】 行列結合

a = np.array([[1, 2], [3, 4], [5, 6], [7, 8]]) b = np.array([[1, 2], [3, 4], [5, 6], [7, 8]]) c = np.vstack((a, b)) c = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [1, 2], [3, 4], [5, 6], [7, 8]])

k-NN法をフルスクラッチ実装

今日はk-NN法(k-NearestNeighbor)を実装する. k-NN法の概念 k-NN法は教師データから未知データを予測する教師あり学習の一つで, また, 線形回帰などのようにパラメータを最適化するような手法を取らない. すなわち, 「教師データから識別境界のようなものを…

最小二乗法をフルスクラッチで実装する

ココで言うフルスクラッチは行列演算以外である. 行列演算は本質ではないので, 行列演算ライブラリは使うことにする.前回の記事で線形モデルの最小二乗法について, パラメータの解が で得られることが分かった. これをPythonによって実装してみる. 今回は一…

最小二乗法概略

予測モデルをつくるときに最も簡単な方法としては「最小二乗法による線形モデル」と「k近傍モデル」である. この2つは統計学や機械学習を学んでいない人でも割と思いつきそうな方法である. 線形モデルとはパラメータに対して線形なモデルという意味である. …

cshでpyenv構築

pyenv のリポジトリ githubとのssh接続の設定を行う前にひとまずhttpでcloneしよう github.com 構築の基本的な流れ qiita.com まずは環境変数のproxyを設定 cshだとexport コマンドが無いためsetenvで環境変数を設定 ```bash $ setenv http_proxy proxy.exam…

コロッケそば

食べるなどした.

【環境設定】Ubuntu 18.04 LTSでmarkdown編集

qiita.com

【環境設定】opencvを入れる

後々のことも考えて, pyenvでanaconda3.x環境を作りcondaでインストールするのが無難そう. qiita.com