技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

Python3

三次元グラフを書いてみるテスト

ちょっとやってみた感じです。 import numpy as np x,y = np.mgrid[10:100:2, 10:100:2] pos = np.empty(x.shape + (2,)) pos[:, :, 0] = x pos[:, :, 1] = y np.mgrid[10:100:2, 10:100:2] で x, y にグリッドなデータを生成させます。 この形状は、 10 起…

確率の勉強

確率のキーワード周りを勉強してみる。 一般的な概念として分かりやすい例なので、サイコロを例に考えてみる。 試行と事象 とりえる値をランダムに1回抽出することを 試行 という import numpy as np dice = np.array([1, 2, 3, 4, 5, 6]) # サイコロの取り…

DeepLerning らしいDeepLerning実装

white-azalea.hatenablog.jp ここに、Dropout 層とか色々積んでみたというもの。 尚、この記事初めて見た人は突然何のことやらだと思うので、この辺の 2021/2 月あたりから継続してるのでその辺見ると良いかも? white-azalea.hatenablog.jp やってみてわか…

畳み込み層を実装してみる

white-azalea.hatenablog.jp この辺の続き。 畳み込み層とプーリング層、ひいては CNN をしてみる。 前回の im2col 連中を、バッチサイズ/チャンネルとか踏まえて再実装。 超長いので、今回はここから続きを読むリンク…。

画像を行列で処理する前準備

CNN で特徴的な動作に畳み込みっちゅう処理がある。 画像には局所性(隣接するピクセルの影響を受ける事)があるので、それを利用して画像の特徴を強調したりできる。 やってることはフィルタを用意して、画像に畳み込み計算を行う事。 以下の例みたいに、左…

過学習対策あれこれ

white-azalea.hatenablog.jp 前回わざと過学習させてみたわけだが、そもそも学習の打ち切りはやたらと難しいハズだ。 あの時はデータセットが 200 位しかないし、ニューロンの数も限られていたといえる。 しかし、現実には大量のデータセットがあるだろうし…

多層ニューラルネットで過学習させてみる

実際過学習がどの程度影響するのかを検証してみる。 ニューロンのひな型は このへん で作ったものを流用。 import numpy as np wb_width = 0.1 # 重みとバイアスの広がり方 eta = 0.01 # 学習係数 class Neuron: def __init__(self, n_upper, n, activation_…

ニューラルネットの弱点

過学習 現在のデータセットに過度に最適化されすぎて、未知のデータに対処できなくなる問題。 これはニューラルネットに限った話でもない。 同一のデータセットを学習させ続けることでも起きるが、ニューラルネットの場合以下のケースがある。 少ないデータ…

ニューラルネット実装

今回やったこと: 入力: 正弦波( )を学習させて、-1 - 1 までの整数食わしたら を返す 中間層: シグモイド関数(3 個) 出力層: 恒等関数 損失関数: 二乗和誤差 最適化アルゴリズム: 勾配降下法 バッチサイズ: 1 で実装する。 まずは学習データその他 import…

ニューロンの定義と、重み/バイアスの影響

ということで、ニューロンの定義とその重みやバイアスでどう影響するのかを見てみる。 影響の方向性を確認するけども、目的としては重みとバイアスで出力って変わるんだなーって理解すること。 ニューロンに使う関数 シグモイド関数は前回の通り。 まぁ 0 以…

ReLU 関数とその派生

前回記事の続き。 white-azalea.hatenablog.jp ReLU に関して深掘りして調べてみた。 ReLU は DeepNeuralNetwork に使われる…という知識はあったのだけど、調べてみると関連する活性関数が沢山あった。 ReLU これは分かりやすい import numpy as np def relu…

ニューラルネットワーク周りの関数

具体的には活性関数と呼ばれる連中。 これは入力を受けて結果を応答する関数。 調べてみると結構いっぱいある。 ステップ関数 0 基準で 0 か 1 かという単純なもの。 in python import numpy as np import matplotlib as mpl import matplotlib.pyplot as pl…

統計のメモ

正規分布 統計つっても正規分布に関するもの。 正規分布はガウス分布ともいわれてる。 bellcurve.jp この辺が分かりやすいはず。 要するに、平均値を中心(かつ最大出現数)に対象に見えるデータ分布をガウス分布と呼んでる。 例えば平均点 65 点で、標準偏…

行列操作周りのメモ

ニューラルネットワーク周りが行列だらけなので。 そして僕は数式では理解できず、コードで理解する人なのでメモ(汗 スカラー といっても、基本的には単独の値を意味する a = 1 b = 1.5 c = 1.2e5 ベクトル(一次テンソル) スカラを直線状に並べたもの≒一次…

Python3 でマルバツゲームを自分ならどう書くだろう?

お題 プログラマを育てる脳トレパズル 遊んでおぼえるPythonプログラミング&アルゴリズム作者:増井 敏克発売日: 2020/12/22メディア: Kindle版 一番最初の課題:三目並べ(マルバツゲームとも TicTacToe ともいう)の実装。 自分ならどう解くか? というこ…

確かに!下手な入門書より面白い「プログラマを育てる脳トレパズル」

プログラマを育てる脳トレパズル 遊んでおぼえるPythonプログラミング&アルゴリズム作者:増井 敏克発売日: 2020/12/22メディア: 単行本(ソフトカバー) 最近読んだのでレビューを。 入門書じみてるのにワクテカがとまらんw この入門書のポイント Good 発想…

も少し真面目にスクレイピング(Scrapy)

Python を使ってスクレイピングしてみる。 変に商用サービスにスクレイピングすると、規約問題が発生するので、とりあえずは自分のサイトで検証してみた。 準備 まずは Python その他諸々をインストールしよう。 ちなみに自分の Python 環境はいま時点でこん…

Pandas の入門にいいかも?

Python実践データ分析100本ノック作者:下山輝昌,松田雄馬,三木孝行発売日: 2019/10/31メディア: Kindle版 秀和さんホントいい本出しますね。 本の概要 データサイエンスって、手法は一通り調べはしたんだけど、そこからどう応用すればいいんだろう? そう思…

Circuit Playground Express の各種機能を試す(音声周り)

マイクを使って音をサンプリングする ということで、音のサンプリングを実行してみた。 具体的には、音量を検出して、10 個の LED (Pixcel) を段階的に光らせた。 前回のライブラリも利用し、 white-azalea.hatenablog.jp 追加で simpleio を入れた。 実際の…

Circuit Playground Express の各種機能を試す(3)

温度センサーを利用する 利用するライブラリは adafruit_thermistor.mpyでこれを lib に放り込む。 で、コードをしれっと import time import adafruit_thermistor import board thermo = adafruit_thermistor.Thermistor(board.TEMPERATURE, 10000, 10000, …

Circuit Playground Express の各種機能を試す(2)

環境:: CircuitPlaygroundExpress : Bootloader 3.10.0 CircuitPython : 5.0 ライブラリで色彩/明度/彩度 を扱う どちらかといえば CircuitPython の機能で、 ライブラリ からコピーして使う。 全部のライブラリをコピーはできないので、今回使うものだけ。 …

Circuit Playground Express の各種機能を試す

環境: Circuit Playground Express (Bootloader3.10.0) Circuit Python v5 ボタン AB 認識 import board import time from digitalio import DigitalInOut, Direction, Pull # LED definition led = DigitalInOut(board.D13) led.direction = Direction.OUTP…

Python3 で負荷テストを簡単に

for Python 3.7.x テスト対象のサーバを起動する require: Docker version 19.03.+ docker-compose.yml にざっくり記述。 version: "1" services: wordpress: image: wordpress:latest ports: - 9000:80 links: - wordpress-db environment: WORDPRESS_DB_HO…

瞬間 HTTP サーバ

for Python 3.7.x HTTP サーバを単独起動 Python には HTTP サーバがデフォルトで樽座しています。 あらかじめ example/index.html を用意しておきます。 その上で $ cd example $ python -m http.server 8000 Serving HTTP on 0.0.0.0 port 8000 (http://0.…

Matplotlib の使い方近辺

# Matplotlib と seaborn (ヘルパー) import matplotlib as mpl import seaborn as sns # pyplot import matplotlib.pyplot as plt %matplotlib inline 散布図 # ライブラリ import numpy as np import numpy.random as random random.seed(0) # x,y x = np.…

Flask 1.0.2 入門してみた

見通しよく、REST API を書きたいと思ったのだけど、Flask-restful がなんともしっかりした REST 特化しすぎてて微妙だったので、Flask 単品でちょっと実験したメモ Install といっても… Python だとこれだけ。 $ pip install Flask ルーティング機構 と言っ…

Pandas の練習がてら、勉強会のトレンドを探ってみた

この辺の続きです。 white-azalea.hatenablog.jp 4月の勉強会の開催状況と、事前申し込みの状況を眺めてみたが正解。 勉強会情報を拾ってくる 前回の流れですが、2サイト以上でやるので、少しだけ汎用化を考えてみた。 調べてみたら、ATND と COMPASS のAP…

SQLAlchemy のさわりだけ

SQLAlchemy? Python の O/R マッパーです。 スクリプト言語だし、たかが数行試すだけならSQL 文書いても…とは思ったのだけど、せっかくなので 検証は python : 3.6.8 (anaconda) sqlite3 インストール済み SQLAlchemy : 1.3 インストール $ pip install SQL…

Anaconda パッケージのアップデート

といっても、そんな大したコマンドではないので、あくまでメモ $ sudo conda update --all Python 3.6.8 までが今日時点で出てたのでサクッと入れた。 問題は pandas とかアップデート入ってたから、前に書いたサンプルとか動かなくなってそうな点… 結構 Dep…

微分を使ってパラメータを求める(最急降下法or勾配降下法)

お題は、ある不明関数 f にっついて、t という値にもっとも近くパラメータを見つける。 ということで、ちょこちょことやってみた。 計算したい関数はこれで、もっとも 0 に近くなる x を求めたい。 このくらいならふつーに計算すればできそうなものだが、あ…