紙媒体で管理するとなくなりがちなのでブログで進捗などを管理することにしました
※殆どの記事は自分自身のためだけにかいています.他人に見せられるレベルには至っていません...

機械学習

教師あり学習分類問題の決定境界の可視化

パーセプトロン,SVM,ロジスティック回帰,ランダムフォレストなど「決定境界を求める」という分類問題を解く際に下のような2次元グラフで決定境界を可視化できると嬉しい. 今回は決定境界を引くアルゴリズムをまとめた. 手順は以下の通りである. 学習モデルで…

ベイズの定理

条件付き確率 事前確率P(A)についてBという事象が起こるという情報が与えられたときにAという事象が起こる確率を求めたい. AとBの同時確率を事前確率で割る. イメージとしてはこんな感じ. オレンジの確率を赤の確率で割る. ベイズの定理 結果がわかっている…

分類問題の手法

ロジスティック回帰 決定木 ランダムフォレスト ニューラルネットワーク SVM ロジスティック回帰の考え方・使い方 - TokyoR #33 from horihorio www.slideshare.net

【画像処理】画像機械学習の前処理

前処理フィルタについて | 画像処理.com | キーエンス 元の画像 グレイスケール 膨張フィルタ 収縮フィルタ 平均化フィルタ メディアンフィルタ 平均化フィルタ #coding:utf-8 """ $jupyter notebook $for python3.x """ from mpl_toolkits.mplot3d import A…

【Python】【画像処理】k-means法で画像を減色

上の画像を7色に減色した. ソースコードは適宜変数を付け足していったので自分でもわからなくなったので注意. #coding:utf-8 """ $jupyter notebook $for python3.x """ from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import nu…

【Python】【機械学習】3次元モデルのk-means

#for python3.6 from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np from sklearn.cluster import KMeans #サンプルを定義 a = [0.0,0.0,0.0] b = [0.1,0.1,0.1] c = [1.0,1.0,1.0] d = [0.9,0.8,0.7] e = [1.0,0…

【Python】3次元モデルのプロット

from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np x = np.arange(-3,3,0.25) y = np.arange(-3,3,0.25) X,Y = np.meshgrid(x,y) Z = np.sin(X) + np.cos(Y) fig = plt.figure() ax = Axes3D(fig) ax.plot_wiref…

k-means++法

k-means法ではセントロイドの初期値が不適切である場合, クラスタリングが上手く行かなかったり収束に時間がかかる場合がある. この問題の対策としては k-meansアルゴリズムを一つのデータセットで複数回実行し,誤差平方和から最も性能が良いモデルを選択す…

k-means法 準備

k-means法で理想的な結果が出せるようにデータを予めプロットしておく方法 # -*- coding: utf-8 -*- impo from sklearn.datasets import make_blobs import matplotlib.pyplot as plt X,y = make_blobs(n_samples=150, #サンプル点の総数 n_features=2, #特…

Irisのデータプロット

# -*- coding: utf-8 -*- impo import pandas as pd import matplotlib.pyplot as plt import numpy as np #データの取得 df = pd.read_csv("https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data",header=None) df.tail() #1-100行目…

k-means法問題点

【k-means法の問題点】 空になるクラスタが存在する可能性があること.(Fuzzy C-means法(k-medoids)ではこの問題は生じない.) scikit-learnのk-means実装ではこの問題には対処できている. クラスタが空の場合,空のクラスタのセントロイドから最も離れているサ…

k-means法

k-means法はプロトタイプベース(prototype-based)クラスタリングというカテゴリに属している. アルゴリズムは以下の通りである.1.クラスタの中心の初期値として,サンプル点からk個のセントロイドをランダムに選びだす. 2.各サンプルを最も近いセントロイドに…

パターン識別

LBG+splitting εはセントロイドから最も遠い特徴ベクトルの1/100倍したベクトルの場合

アニメop顔検出器+分類器

うまく分類できないなもっと精度あげたい pic.twitter.com/nEsDQc7Vio— 雨宿まち (@vocky_Zn) 2017年3月31日今後すること トレーニング画像の種類を増やす. 出力層の出力を増やして分類の数を増やす.

【Python】namedtupple

>>>from collections import * >>> # Basic example >>> Point = namedtuple('Point', ['x', 'y']) >>> p = Point(11, y=22) # instantiate with positional or keyword arguments >>> p[0] + p[1] # indexable like the plain tuple (11, 22) 33 >>> x, y =…

CNNで画像の前処理

判定処理を行う入力画像の前処理 1.画像の周囲を切り落とす(Cropping) 2.画像のダイナミックレンジを平準化する(Whitening)トレーニングデータとして入力する画像にする前処理 1.画像の周囲をランダムに切り落とす(Random Cropping) 2.画像をランダムに左右…

【python】【機械学習】Jupyterの起動方法

jupyterはanacondaに入っている. $jupyter notebook $ipython notebook右上の選択画面からpython2を選んでコードを書く.

【TensorFlow】tf.Variableのトレーニング

sess = tf.Session() sess.run(tf.initialize_all_variable()) これを実行した時点でそのセッションにおけるtf.Variableの値が初期化される. 複数のセッションを宣言し個別に計算させることも可能.

機械学習とTensorFlow

機械学習の大まかな手順 1.教師データから未知のデータを予測する式を立てる. 2.数式に含まれるパラメータを評価する損失関数を用意する. 3.損失関数を最小にするパラメータを用意する.(勾配ベクトルが小さくなるように移動)で表され Xはトレーニングセット…

【DL】sigmoid関数, ReLU関数

sigmoid関数 import numpy as np def sigmoid(x): return 1/(1+np.exp(-x)) def main(): x = np.array([-2.0 ,1.0, 2.0]) y = sigmoid(x) print(x) print(y) if __name__=='__main__': main() 結果は下記 入力が小さいほど出力も小さい. 入力が大きいほど出…

クラスタリング

k-means法を用いてクラスタリングを行った. 元画像 2色 4色 8色 16色 32色 64色 128色 256色 1024色 1024色までいくとかなり立体感のあるものとなった. 1ピクセルあたり3バイト = (2^8)^3色を表現できるから1024色だからといって元画像に近くは難しい.