空飛ぶロボットのつくりかた

ロボットをつくるために必要な技術をまとめます。ロボットの未来についても考えたりします。

Machine Learning

機械学習のお勉強(BoW)

教科書 GitHub - rasbt/python-machine-learning-book: The "Python Machine Learning (1st edition)" book code repository and info resource 映画のデータセットの取得 http://ai.stanford.edu/~amaas/data/sentiment/ import pyprind import pandas as p…

機械学習のお勉強(アンサンブル学習)

アンサンブル学習 多数決 アンサンブルの誤分類率 多数決分類器の実装 多数決方式の分類アルゴリズムの構築(スタッキング) データセットの準備 ロジスティック回帰、決定機分類器、k近傍分類器でのそれぞれの結果 アンサンブル学習の結果 アンサンブル分類…

DockerでDeepLearningの環境を作ってみる

Dockerを支えるLinuxカーネル NVIDIA-DOCKER 環境構築 手順 Dockerfile imageの作成 containerの作成とログイン test sample ためになる参考 Dockerを支えるLinuxカーネル 参考: Etsukata blog: Docker を支える Linux Kernel の機能 (概要編) Docker内部で…

機械学習のお勉強(モデルの評価とパラメータのチューニング)

教科書 GitHub - rasbt/python-machine-learning-book: The "Python Machine Learning (1st edition)" book code repository and info resource Data準備 import pandas as pd import urllib try: df = pd.read_csv('https://archive.ics.uci.edu/ml/machine…

機械学習のお勉強(自作データセットでCNN by pytorch)

Pytorch tutorial DataSetの作成 DataLoader 自作transformsの使い方 PILの使い方 Model Definition Training total evaluation each class evaluation CNNを用いた簡単な2class分類をしてみる Pytorch tutorial Training a classifier — PyTorch Tutorials …

機械学習のお勉強(pytorchで姿勢推定)

DeepPose PyTorchでDeepPoseを実装してみた - Qiita PyTorchでDeepPoseを実装してみた PartⅡ - Qiita Leeds Sports Pose Datasetのデータセットがインストール出来無い... https://engineering.leeds.ac.uk/info/20132/school_of_computing データセットのイ…

機械学習のお勉強(pytorchのtutorialを眺めてみる)

install PyTorch DOCS PyTorch documentation — PyTorch master documentation Tutorial すごくわかりやすい What is PyTorch? — PyTorch Tutorials 0.2.0_4 documentation Pytorchのススメ - SSSSLIDE Pytorchで遊ぼう【データ成形からFNNまで】 - HELLO CY…

機械学習のお勉強(pytorchを使ってみる)

PyTorch すごくわかりやすい参考、講義 fast.ai · Making neural nets uncool again GitHub - ritchieng/the-incredible-pytorch: The Incredible PyTorch: a curated list of tutorials, papers, projects, communities and more relating to PyTorch. Prac…

機械学習のお勉強(次元削減)

教科書 特徴抽出 主成分分析による次元削減 共分散行列の固有値 特徴変換 scikit-learnで主成分分析 線形判別分析によるデータ圧縮 変動行列を計算 新しい特徴部分空間の線形判別を選択 新しい特徴空間にサンプルを射影 scikit-learnによるLDA カーネル主成…

機械学習のお勉強(データの前処理)

教科書 データセットの欠損値の削除と補完 削除 補完 機械学習のアルゴリズムに合わせたカテゴリデータの整形 順序特徴量のマッピング クラスラベルのエンコーディング one-hotエンコーディング データセットの分割 標準化・正規化 モデルの構築に適した特徴…

機械学習のお勉強(chainerでkaggleに初挑戦)

Kaggleとは 公式:Kaggle: Your Home for Data Science Kaggleは企業や研究者がデータを投稿し、世界中の統計家やデータ分析家がその最適モデルを競い合う、予測モデリング及び分析手法関連プラットフォーム及びその運営会社である。 Kaggle - Wikipedia Kag…

機械学習のお勉強(scikit-learnを使ってみる:分類問題)

教科書 Perceptron 実装 ロジスティック回帰 ロジスティック関数 コスト関数 実装 L2正規化 正規化をするメリットは? サポートベクターマシン コスト関数 スラック変数を用いた際のコスト関数 二次計画法 実装 カーネルSVM デメリット 実装 決定木 情報利得…

機械学習のお勉強(Tiny Yoloを動かしてみる:予測のみ)

やりたいこと 低スペックパソコンで Tiny YOLOを使ってざっくりとした人の位置と大きさを出力する 教科書 わかりやすい記事ありがとうございます。 ChainerでYOLO - Qiita 今回扱うTinyYOLOの説明 上記でもあるように、 Pascal VOCという20クラス分類問題の…

機械学習のお勉強(chainerのTrainerについて)

公式Docs How to write a training loop in Chainer — Chainer 3.0.0rc1 documentation わかりやすいまとめ Chainer の Trainer 解説と NStepLSTM について MNIST分類コードをChainer-v1.11.0のTrainerで書き換える - Monthly Hacker's Blog Chainer: ビギナ…

機械学習のお勉強(データセット)

Segmentation ADK20K いい感じ ADE20K dataset SUN RGB-D Introduced: CVPR 2015 Device: Kinect v1, Kinect v2, Intel RealSense and Asus Xtion Live Pro Description: New images, plus images taken from NYUv2, B3DO and SUN3D. All of indoor scenes. …

機械学習のお勉強(Classification,Detection,Segmentationの有名論文)

All CVPR論文まとめ Classification,Detection,Segmentation UberNet Classification 全体 AlexNet 論文 論文まとめ VGG16 論文 論文まとめ Fine-tuning ResNet 論文 論文まとめ SqueezeNet 論文 論文まとめ DenseNet 論文 Git Local Binary Convolutional N…

機械学習のお勉強(セグメンテーション)

画像認識のタスク セグメンテーション ポイント Sample 前処理 入力画像のサイズ調整 画像の正規化 オーギュメンテーション Train Model Convolution層 Deconvolution層 モデルの結合 Segmentationのサンプル Segmenatation論文まとめ Tips 画像認識のタスク…

機械学習のお勉強(CNN)

全結合層の欠点 畳み込み層と比較してパラメータ数が膨大になる コンテキストの活用が難しい 位置ずれに弱い 畳み込みニューラルネットワーク(CNN) 全結合層の問題点はデータの形状が無視されてしまうこと。例えば、画像28×28ピクセルの形状を784個のデー…

機械学習のお勉強(chainerの概要)

chainerの特徴 計算グラフ 全結合層におけるバックワード計算 Config オブジェクト Variableクラス Functionクラス Linkクラス Chainクラス Optimizerクラス Trainerクラス Reporterによる監視対象のフック Updateクラス chainerの特徴 ネットワーク構築と学…

機械学習のお勉強(オプティマイザーと学習率とエポック、イテレーション)

オプティマイザー 勾配 勾配降下法 確率的勾配降下法 ミニバッチ確率勾配降下法 モーメンタムSGD 学習率 AdaGrad Adam エポックとイテレーション エポック イテレーション まとめ オプティマイザー 勾配 勾配(微分に負をかけたもの)が示す方向は関数の値を…

機械学習のお勉強(活性化関数と損失関数と過学習対策)

活性化関数 単位ステップ関数 パーセプトロン 符号関数 パーセプトロン 線形関数 ADALINE,線形回帰 区間線形関数 サポートベクトルマシン シグモイド関数 ロジスティック回帰、ニューラルネットワーク 双曲線正接 ニューラルネットワーク ReLU関数 ニューラ…

機械学習のお勉強(性能評価)

全体の考え方 機械学習における学習方法と性能評価の基礎知識 - Build Insider 交差検定(クロスバリデーション)など機械学習の評価方法まとめ : 新規事業のつくり方 検証 ホールドアウト法 学習データとテストデータを単純に分割 参考: 機械学習の性能を…

ベイズ的最適化・実験計画法のお勉強

目的 少ない実験回数で最適なパラメータを導出したい ベイズ的最適化 まずはこの2つを見てお勉強 1020:ベイズ的最適化の入門と応用 機械学習による機械学習の実験計画 - YouTube » 機械学習のハイパーパラメータ探索 : ベイズ最適化の活用 TECHSCORE BLOG …

機械学習のお勉強(単層ニューラルネットワーク)

人工ニューロン 神経細胞を2値処理を行う単純なゲートとして表現。 z = w0 * x0 + w1 * x1 + .... + wm * xm and phi(z)={ 1 (z>=0) or -1 (z<0) これは脳内の一つのニューロンの働き(発火するかしないか)を模倣している。 パーセプトロンの学習規則 重み…

機械学習のお勉強(全体像)

教師あり学習 クラスラベルを予測するための分類 カテゴリデータをインスタンスに割り当てる 連続値を予測するための回帰 予測したい変数:結果変数 予測に使用される変数:説明変数 強化学習 エージェント:環境とのやりとりに基づいて性能を改善するシステ…

機械学習のお勉強(DeepPose, OpenPose)

やること pythonでのcaffe環境構築 OpenPoseを動かしてみる Caffe Install 設定(GPU) 【Caffe】はじめてCaffeをmakeするまでOn Ubuntu16.04 - 緑茶思考ブログ Ubuntu 14.04にCaffeをインストール(GPU編) - Qiita Installing Caffe on Ubuntu (CPU-ONLY) - Ch…

chainerで動かしたいものリスト

動かしながら理解を深めたい ひとつずつ動かしていく〜(TBD) サンプル集 Chainerのサンプルコードを集めてみた(メモ) - あおのたすのブログ くそ初心者がchainerを理解してちょっといじれるようになるために見るべき5つのサイト - MATHGRAM 2D-CNN Chai…

クラスタリング(k-means)のお勉強

k-meansでクラスタリング(教師なし) import numpy as np from sklearn.cluster import KMeans # size 量的データ features = np.array([ [20, 95, 190], [52, 103, 103], [50, 70, 280], [65, 65, 210], [84, 84, 96], [20, 50, 140], [28, 49, 176], [40,…

Hough変換で直線、円検出をやってみる

import cv2 import numpy as np img = cv2.imread('dave.jpg') gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) edges = cv2.Canny(gray,50,150,apertureSize = 3) lines = cv2.HoughLines(edges,1,np.pi/180,200) for rho,theta in lines[0]: a = np.cos(thet…

マーカーを用いたカメラ位置姿勢推定(OpenCV+ArUco)

ArUcoのマーカー種類 SingleMarker Board ChessBoard Diamond Single マーカの一辺の長さを指定。 マーカとカメラ間の位置関係を求める。 Board マーカの一辺の長さとマーカ間の長さを指定。 ボードとカメラ間の位置関係を求める。 単一マーカより精度は良い…