詳解 確率ロボティクス 2.3 確率モデル

前回の投稿に引き続き,詳解 確率ロボティクスの2.3 確率モデルを通して学んだことやコードを実行してみた結果のメモです.この投稿はGithubでもご覧になれます(こちら). ガウス分布*は(例えば)センサ値zがa以上b未満()に入る確率を ここで, を表し…

詳解 確率ロボティクス 2.2 度数分布と確率分布

UASの自律飛行にあたって,ロボティクスに興味を持ちました.上田隆一先生の書籍 詳解 確率ロボティクスが出版され,非常に分かり易そうだったので,詳解 確率ロボティクスの2.1センサデータの収集とJupyter Notebook場での準備,2.2 度数分布と確率分布を通…

Tello Programming 006 -Telloの状態確認(LED)-

Telloには機体前方のカメラ横にLEDがついています.このLEDの点灯,点滅パターンはTelloの状態を表します.LEDの状態は通常,警告,充電の3つに分けることができます.トイドローンなので,LEDの点滅,点灯からしか状態を把握することができませんが,何か異…

Tello Programming 005 -Scratchでプログラミング Test Flight 01-

これまでに数回に分けて,TelloをScratchでプログラミングする準備やテストを行ってきました.これまでの投稿は以下のようになります. Tello Programming 000 -Tello本体の準備- Tello Programming 001 -プログラミングの準備(macOS)- Tello Programming …

Tello Programming 004 -Scratchでプログラミング-

TelloをScratchで動かすには, ・Scratchオフラインエディター(現在、Ver.2.0) ・Node.js ・Adobe AIR が必要です.これらのセットアップに関しては,過去の投稿(macOS編,Windows編)を参照して下さい.また,Scratchの基本についても過去の投稿を参照し…

Tello Programming 003 -Scratchの基本-

前回(Windows),前々回(Mac)でTelloをプログラミングによって飛行させるためにScratchのセットアップを行いました.以下は,Scratchの基本についてのメモです. 前回(Windows),前々回(Mac)はデスクトプエディター(オフラインで利用できるScratch)…

Tello Programming 002 -プログラミングの準備(Windows)-

前回,macOS環境でのプログラミングの準備に関して投稿しました. 今回は,Windows環境でのセットアップについてのメモです. まずは,macOSの場合と同様にAdobe Airをインストールします.こちらからAdobeAIRInstaller.exeをダウンロードして実行します. …

Tello Programming 001 -プログラミングの準備(macOS)-

RYZE Telloの特徴的な機能の一つにプログラミングによる自動飛行が可能なことが挙げられます.Telloは「Scratchを使ってプログラムか可能」というのが教育用途にも適していることが一つのウリになっているようです. なお,Scratchとは,一般的なプログラミ…

Tello Programming 000 -Tello本体の準備-

TelloはDJIから発売されている200g未満*のドローンです.公表されている資料によると 重量:80g 飛行時間:13分 カメラ:500万画素 となっています. * 200g未満のドローンは航空法の適用を受けません. 標準ではプロポは付属しておらず,スマホ等で専用アプ…

-R- 正則化パラメータの選択

Lasso推定値は正則化パラメータλの値に依存するため,λの値が異なると当然Lasso推定値も異なってきます. 特に,Lasso推定値の違いは変数選択の結果の違いに直接影響してくるため,正則化パラメータの値の選択は重要です. 前回の投稿(アメリカの犯罪例にLa…

-R- glmnetパッケージをインストール

ターミナルからRを立ち上げます. $ r R version 3.6.0 (2019-04-26) -- "Planting of a Tree" Copyright (C) 2019 The R Foundation for Statistical Computing Platform: x86_64-apple-darwin17.7.0 (64-bit) R is free software and comes with ABSOLUTEL…

-gnuplot- gnuplotのインストール (with Aquaterm)

macOSにHomebrew経由でgnuplotをインストールすると,terminal type が 'qt' のみとなってしまい,非常に困ってしまいます. 以前は,Homebrewのインストールで $ brew install gnuplot --with-aquaterm とすれば良かったのですが,現段階では何故かエラーと…

-Python- 主成分分析

主成分分析に関するメモです. 主成分分析を行うには scikit-learn パッケージを使用して,sklearn.decomposition の PCA でインスタンスを生成します. 以下の例では,Davis データを用いて主成分分析を行っています. Davisデータ(Davis.csv)はJupyter N…

-Python- 交差検証法によるテスト誤差の推定

K重交差検証法によってテスト誤差を推定する際のメモです. K重交差検証法の計算プロセスは以下のようになります. 学習方法と損失:チューニングパラメータをもつアルゴリズム,損失 入力:データ 入力データを要素数がほぼ等しいK個のグループに分割する.…

損失関数,トレーニング誤差,テスト誤差

データ数を20,10組のデータセットに対してトレーニング誤差をプロットした際の実装例のメモです. まずはパッケージを読み込みます. >>> import numpy as np >>> import matplotlib.pyplot as plt >>> import scipy.stats >>> パラメータ範囲を設定します…

-Python- 共分散,相関係数

Pythonのnumpyのnp.covやnp.corrcoefを使い,データから標本共分散,標本相関係数を求める例のメモです. 関数には, データの次元 x データ数 のサイズのデータ行列を入力します. >>> import numpy as np >>> from sklearn.datasets import load_iris >>> …

-Python- 分位点

標準正規分布 $N(0, 1)$の上側$\alpha$点を$z_{\alpha}$と表します. Pythonでは sp.stats.norm.ppf を使うと正規分布の分位点の値が得られます. Pythonでの実装は以下のようになります. >>> import scipy as sp >>> from scipy.stats import norm の0.7点…

期待値と分散

Pythonでは,確率分布からデータを生成するための関数 np.random や scipy.stats として提供されています. サンプルの生成で使うのは,以下のような関数です. 正規分布 np.random.normal(loc = 0.0, scale = 1.0, size = None) オプションのlocは期待値,s…

-Python- サイコロ投げ

等確率で出るサイコロの目をPythonで再現するには,ランダムに要素を取り出す関数 np.random.choice を用います. >>> import numpy as np >>> np.random.choice(np.arange(1, 7), 10) array([5, 6, 3, 2, 1, 4, 3, 3, 2, 2]) >>> np.arange(1, 7) は,標本…

-R- Windows10にRStudioをインストール

WIndows10にRStudioをインストールした際のメモです. まずは,CRANからRStudioのインストーラーをダウンロードします. "Download R for Windows" を選択して,その後,base > Download R 3.6.0 for Windows (3.6.0は現時点でのバージョン)をクリックする…

-R- Jupyter NotebookでRを使う

以前に,Homebrew経由でRをインストールする記事を投稿しました. 今回は,RをJupyter Notebookで使えるようにするための手順のメモです. まずは,ターミナルからRを起動します. $ r 続いて,IRkernelのページにある手順に従って必要になるパッケージをイ…

Homebrew経由でRをインストール

Homebrew経由でRをインストールした際のメモです. ターミナルから,以下のコマンドを入力します. $ brew tap brewsci/science 以前は,外部リポジトリの `homebrew/science` に `tap` すれば良かったようですが,外部リポジトリ `brewsci/science` に `tap…

Juliaの計算の仕組み

Juliaは, 「関数を実行したときに,与えられた引数の型情報を使い,その関数をネイティブコードにコンパイルしてから実行する仕組み」 なので,高速に計算したい場合は関数化して計算する必要があります. 以下に,円周率のモンテカルロ計算を実行した時にか…

-macOS- HomeBrew list コマンド

HomeBrewでインストールしたソフトを確認するには,ターミナルで以下のように入力します. $ brew list すると,HomeBrew経由でインストールしたものの一覧が表示されます. 一覧の中でアンインストールしたいものがあるときは,以下のように入力します. $ …

-Julia- ベクトルと行列の演算

ベクトルと行列の演算例をREPLを使って行う際のメモです. 1次元配列は要素をカンマ(,)で区切ります.また,1次元配列は列ベクトルに相当します. julia> col = [1.0, 2.0] # Column vector 2-element Array{Float64,1}: 1.0 2.0 行ベクトルは行の数が1つ…

-Julia- REPLにおけるギリシャ文字表示

JuliaのREPLではLaTeX表記でタブ補完することで,以下のような表示が可能です. julia> α β γ δ ϵ ζ η θ ι κ λ μ ν ξ ø π ρ σ τ υ ϕ χ ψ ω 入力は \alpha + tab, \beta + tab, \gamma + tab, \delta + tab, \epsilon + tab, \zeta + tab, \eta + tab, \theta…

-Julia- -q オプション

Juliaを対話的実行で使用する際には,以下のようにターミナルから"julia"コマンドを実行します. すると,以下のようにJuliaのロゴと共にREPLが起動します. $ julia _ _ _ _(_)_ | Documentation: https://docs.julialang.org (_) | (_) (_) | _ _ _| |_ __…

-Julia- 平均の計算

Juliaで平均の計算を行ってみた際のメモです.実行例はREPLで行なった結果です. まずは相加平均(算術平均)についてです. 1〜10までの整数の和の平均を求めてみます. 総和は`sum()`関数を用いて求めます. julia> x1 = [1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7…

-Python v Julia- 二項分布

以前に,Pythonで二項分布のグラフをプロットする投稿をしました.今回は,同様の内容をJuliaで行ってみます. 二項分布の確率質量関数は です. 実装は以下のようになります.実装例はREPLで行った結果です. julia> using Statistics julia> using Distrib…

-Python vs Julia- 順列・組合せ

以前に,順列・組合せに関する計算をPythonで行う投稿 をしました. 今回は,それをJuliaで行ってみます.計算例はREPLで行なったものです. 順列 1, 2, 3の3つの数字の並べ方は 通りです. 階乗を求めるには factorial() 関数を使用します. julia> factori…