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

DeepLearning実装 #1

名著『ゼロから作るDeepLearning』を読み終わったので特に重要であった4,5,6,7章について4回に渡って解説をしたいと思う. 第1回目は4章の「ニューラルネットワークの学習」である. 4.1 データから学習する ニューラルネットワークは他の機械学習の手法と違っ…

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

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

ベイズの定理

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

分類問題の手法

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

apacheの設定

index.htmlは自分の環境だと/var/www/html/index.html d.hatena.ne.jp

UbuntuにVirtualBoxを入れる

Ubuntu で Virtualbox を使う Linux_Downloads – Oracle VM VirtualBox

【Python】condaでkerasを入れる

Keras :: Anaconda Cloud

【GitHub】ファイル名変更

Git

ローカルリポジトリで名前を変更する $git mv a.txt b.txtローカルリポジトリにコミット $git commmit -m "名前変更したぞ"リモートリポジトリに反映 $git push origin masterGitよくわかってないので間違ってるかも

GitHub使い方

qiita.com

【Ubuntu】ターミナルの起動

Ctrl+Alt+T

「5000兆円欲しい」までツイートし続ける

#!/usr/bin/env python # -*- coding: utf-8 -*- from requests_oauthlib import OAuth1Session def Tweet(tweet): """str型のtweetを受け取り,それをツイートする """ CK = '' # Consumer Key CS = '' # Consumer Secret AT = '' # Access Token AS = '' # …

【蟻本】Lake Counting

// 蟻本p.35 // Lake Counting(POJ No.2386) // 深さ優先探索で同じ文字を消していく問題 #include <bits/stdc++.h> using namespace std; static const int MAX_N = 100; static const int MAX_M = 100; char field[MAX_N][MAX_M]; int n,m; int dx[8]={1,1,0,-1,-1,-1,0,1</bits/stdc++.h>…

【蟻本】部分和問題

// あり本 p.34 // 部分和問題 // 数列の中からいくつか選び和がkにできるか判定する #include <bits/stdc++.h> using namespace std; static const int MAX_N = 20; int cnt = 0; int k,n; int a[MAX_N]; bool dfs(int i,int s) { if(i==n)return s==k; //a[i]を使わない場</bits/stdc++.h>…

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

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

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

減色された画像の色(代表ベクトル)とグラフの点の色が同じになるように改良した. matplotlib.pyplotのscatterの色の指定ではc="#000000"のように16進数でRGBの順に指定する必要がある. OpenCVではGBRの順なので気をつける. #coding:utf-8 """ $jupyter noteb…

【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】3Dグラフを自動回転する

3Dグラフを自動で回転させる方法が載ってる. meganehouser.hatenablog.com

【Jupyter】実行+下のセル

Shift+Enterでできる!

【Python】【画像処理】画像の画素毎のGBR値を3Dグラフにプロットする

#coding:utf-8 """ $jupyter notebook $for python3.x """ from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt import numpy as np from sklearn.cluster import KMeans from PIL import Image from PIL import ImageDraw from rando…

【python】画像表示

jupyterで画像の読み込みするときに便利 from PIL import Image im = Image.open("./img_0.jpg") im.show()

【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アルゴリズムを一つのデータセットで複数回実行し,誤差平方和から最も性能が良いモデルを選択す…

【Python】【スクレイピング】HTMLデータのスクレイピング

import urllib.request url = 'http://umashika5555.hatenablog.com/' response = urllib.request.urlopen(url) data = response.read() decoded_data = data.decode('utf_8') print(decoded_data) import urllib.request import bs4 url = 'http://umashika…

【ネットワーク】お勉強19

フロー制御はTCPのプロトコルで, 相手のバッファが溢れないようにするもの. 相手のバッファに溜まっている量を見て満杯そうだったらあまり送らないようにする. 逆に空いているときは一気に送りつける. 一気に送りつけれる量のことをウィンドウサイズという.T…

【Ubuntu】ショートカット

Alt+Tabでアプリケーションウィンドウの切り替えが便利 ubuntu.hatenablog.jp

【Python】【OpenCV】n*m のランダムな色の画像を作成

# vim: set fileencoding=utf-8 : import numpy as np import cv2 from random import randint import numpy as np cols = 320 rows = 320 #イメージ生成 image = np.zeros((rows, cols, 3), np.uint8) div = 16 # 縦横の分割数 w = cols / div # 分割された…

【並行処理】【Python】

プロセス間の同期 multiprocessing.Lock()を用いると標準出力に書き込んだ場合は一度に一つのプロセスしか書き込まない. from multiprocessing import Process, Lock def f(l, i): l.acquire() try: print('hello world', i) finally: l.release() if __name…

【並行処理】【Python】プロセスについて

Processクラス multiprocessingクラスでのプロセスの手順 Processのオブジェクトを作成 start()メソッドの呼び出し join()で処理が完全に終わるまで待つ Process()クラスの呼び出しで引数はtargetに実行したい関数名,argsにtargetに入れる引数を入れる.一つ…

【Python】コマンドライン引数

コマンドライン引数はsys.argvで操作することができる. 先頭は自身のプログラムの名前となることに注意. #sample.py import sys print("コマンドライン引数:",sys.argv) $python sample.py a b cコマンドライン引数:['sample.py','a','b','c']

【ネットワーク】お勉強18

【第40回】TCP シーケンス番号 MSS TCP/IPではデータが長い場合は分割して送信する. その分割するサイズがMSS. 送信は元のデータと同じ順序で送る. この時に使うのがシーケンス番号. データを転送する際にはシーケンス番号に送るデータの先頭番号を入れる. …

【Linux】ハードリンクを作る

/mnt/nasというディレクトリをカレントディレクトリでNASという名前でハードリンクを作る場合 $ln -s /mnt/nas NAS

【ネットワーク】お勉強17

【第31回】Layer3 Routing ルーティング ルータは最適なルートを見つけるために他のネットワークへのルートを知る必要がある. 更に知ったルートの中から最適なものを選んでルーティングテーブルを作成する. ルートの知り方は2種類あり静的ルーティングと動的…

【ネットワーク】お勉強16

【第27回】 プロトコルと帯域幅 通信には4つのアドレスが必要でそのアドレスの確認方法は以下である. アドレス 取得方法 送信元のMACアドレス 既に決まっている 送信元のIPアドレス DHCP 宛先IPアドレス DNS 宛先MACアドレス ARP 【第28回】Layer3 Router ル…

【ネットワーク】お勉強15

【第25回】Layer7 DHCP 自分のIPアドレスを動的に取得する場合に必要 DHCP概論 DHCPは割り当てるIPアドレスを管理し,実際に割り当て作業を行うサーバーと割り当ててもらうクライアントから成り立つ. DHCPを行うサーバーをDHCPサーバーという.DHCPサーバーソ…

【Linux】 自分の端末のMACアドレスを知る

MACアドレスはNICについている世界でユニークなアドレスである. 上位24bits=3bytesがベンダー番号 下位24bits=3bytesが製造番号 Linuxで調べるには $ifconfigUbuntuの場合は「ハードウェアアドレス」として見ることができる.

【ネットワーク】お勉強14

【第23回】Layer3 サブネットマスク プライベートアドレス インターネットでのIPアドレスはICANNとNICがネットワーク番号を割り振っている. 裏を返せば,インターネットへの接続を考えないネットワークならばICANNのクラスフルアドレッシングに従う必要はない…

【ネットワーク】お勉強13

【第20回】レイヤ3 Internet Protocol TCP/IP TCP/IPという現在標準で使われているプロトコルではレイヤ3はIPが受け持つ.Layer3 Protocol TCP/IP以外でよく用いられているプロトコルはIPX/SPXやAppleTalk. レイヤ3プロトコルがパケットの転送を受け持つ. ま…

【ネットワーク】お勉強12

【第19回】レイヤ3 Network層 Network層での「ネットワーク」という意味は計算機やデバイスが相互に接続した論理的なグループ, つまり所属している場所という意味. レイヤ2Datalink層での通信は「そのネットワーク内での相互通信」,レイヤ3Network層では「ネ…

【ネットワーク】お勉強11

【第18回】Datalink層 スイッチ スイッチ レイヤ2に属するスイッチを一般的にスイッチングハブという. ※ブリッジの機能はMACアドレスでフィルタリングする. ブリッジを通過するフレームか通過させないフレームかを判断する. スイッチもブリッジと同様にMACア…

【ネットワーク】お勉強10

【第16回】IEEE802.5とFDDI ethernetの意味 ethernetのetherとは「エーテル」と言う意味 エーテルとは古い物理学でひかり熱などの媒体とされた伝説上の物質 信号が全体に伝わっていく様がエーテルのようなのでEthernetというらしい.トークンパッシング IEEE8…

【環境設定】【Anaconda】Anacondaのアンインストール

$sudo rm -rf /home/username/anaconda2

【環境構築】【Linux】Python2.x にOpenCVを入れる

avinton.com

【TeX】jlisting, listingsを入れる

ラボのPCにTeX環境を引き継ぐにあたってしたこと 1.texmakerのインストール $sudo apt-get install texmakerこれでlatexの環境はほぼ構築できる.2.listings, jlistingsを入れる コードをのせるときに役立つやつ $sudo cp /usr/share/texlive/texmf-dist/tex/…

【Python】関数の返り値について

PythonではNone,False,0,"",[]などがFalseに評価されるので関数の返り値としてNoneを返すのはバグを起こしやすい. Noneを返すよりは例外処理するほうが良い,さらに呼び出しの部分で例外処理の結果を明らかにしておくことが望ましい. def divide(a,b): try: r…

【Windows】【Python】Anaconda2にOpenCVを入れる

opencv.org ここからWinPackを選択してダウンロード,インストール Anaconda2\Lib\site-packages\にダウンロードしたファイルのopencv\build\python\2.7\x64\cv2.pydをコピーする.

【ネットワーク】お勉強9

【第15回】Datalink層 イーサネットの拡張 イーサネットのおさらい つながっているすべてのノードへフレームを送りつけるブロードキャスト型 CSMA/CDでアクセス制御をしている. イーサネットでは衝突が起こる.半二重,全二重 イーサネットでは誰かが送信中は…

【ネットワーク】お勉強8

【第14回】イーサネット/IEEE802.3 イーサネットのフレーム構造 イーサネットはLANの規格として同軸ケーブル(10Mbps),CSMA/CDアクセス制御方式,バス,スター型物理トポロジを使用する.レイヤ2でレイヤ3から来たパケットに加える情報は 8バイト 6バイト 6バイ…

【ネットワーク】お勉強7

【第13回】Datalink層 レイヤ2アドレッシング アドレスには論理アドレスと物理アドレスがある. 論理アドレスはレイヤ3の物理アドレスはレイヤ2の役割を持つ.物理アドレスはメディアに直接接続されている誰に届けるのかを識別するために使う. 論理アドレスは…

【ネットワーク】お勉強6

【第12回】Datalink層 概要 Datalink層の機能:データの伝送制御 IEEEのLAN仕様ではレイヤ2を更に2つに分けている. 論理リンク制御副層(LLC)とメディアアクセス制御副層(MAC)LLC副層では実際の危機に依存しない部分を取り決めている. エラー制御(レイヤ4でも…