技術をかじる猫

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

学習

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

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

ニューラルネットの弱点

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

JavaScript でニューラルネットを実行

前回のニューラルネットの分類で、アヤメの判別を実装しました。 white-azalea.hatenablog.jp この学習データを JavaScript に持って行って動かそうとしたのが今回。 学習データを取り出そう ニューロンの学習した重みとバイアスを JSON 化して取り出すよう…

ニューラルネットワーク各階層の勾配計算式

勾配計算式 を重み、 をバイアス、 を誤差(損失関数出力)とするとこんな形状で定式化されてる。 この辺はいくつかの書籍見て、ようやっと飲み込めた感じ…。 数式を飲み込むのにはそれなりに時間を要したけど…。 出力層 中間層 結局のところ、 さえ算出できれ…

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

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

ReLU 関数とその派生

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

統計のメモ

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

Raspberry Pi 4 で LED + スイッチ点灯

基本から行くべきだよねってことでやってみた。 作ったのはこいつ スイッチで LED の On/Off するだけの実装です。 ラズパイの IO これは公式に落ちているものを拝借する。 gpiozero.readthedocs.io 使用しているライブラリはこれなので、まずはこのレイアウ…

Chrome拡張をやってみる

Chrome 拡張いじれれば、色々便利じゃまいかと思ってとりあえず気の赴くままに作ってみた。 仕様は、現在開いているURLを markdown 書式でメモリにコピーするプラグイン あくまで目標は Chrome 拡張をやってみるということで… Hello world から どこから初め…

プレーテキストを校正チェックする

Word などに校正ツールはますが、Markdown や ReStructuredText などのプレーンテキストを校正する手段には乏しいです。 まさかこのためだけに pandoc で word ファイルを作るとか、ワードを起動するとか、腹立たしいことこの上ありません。 そこで、ツール…

Ui Path で簡単スクレイピング

スクレイピングというのは、サイトの内容を自動で抽出する操作の事。 ニュースサイトでは通常、RSSとか配信してるけど、そういう情報がないサイトに対しては有効です。 ものは試しという事で、Engaget からトップニュースをしれっととってみる。 Ui Path の…

プログラム言語の源流をざっくり

目標 プログラムってどう動いてるの?なんでプログラム言語なんてものが必要なの?を理解する。 それが分からないとプログラミング言語のありがたさなんてわからないんで… 初めに 0 と 1 がある とは皆聞いたことがあるはずだ。プログラムは全部 0 と 1 で動…

Pandas の入門にいいかも?

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

『「考える技術」と「地力頭」がいっきに身につく東大思考』を読んでみた

「考える技術」と「地頭力」がいっきに身につく 東大思考作者:壱誠, 西岡発売日: 2020/07/31メディア: 単行本 超ざっくり概要 この本は、東大生のような優秀な頭脳といわれる人間たちがどの様に思考し、また自分たちがどうすればその様な考え方ができるのか…

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

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

テスト駆動開発

書籍 テスト駆動開発作者:Kent Beck発売日: 2017/10/14メディア: 単行本(ソフトカバー) 来たよケントベック先生(Smalltalker で XP 開発の始祖様)! 読もうと思ったきっかけ テスト駆動開発…って聞いた時の自分の知ってる知識は ユニットテストを最初に…

【3/14】アプリからドライバまで現役エンジニアの濃い話#8

sciencepark.connpass.com このイベント行ってみました。 最初はExcelでいけると思ってたけど途中からしんどくなってきたデータのためのPython Pandas (複数インデックス編):サイエンスパーク株式会社 西村さん WinDbg Previewについて: 日本マイクロソフ…

最急降下法を使用して、近似線を引いてみる

やっていることは前回とほぼ同様。 ただしこちらでは偏微分を使って複数のパラメータを計算している。 white-azalea.hatenablog.jp 目標とすべき線が def actual(x): """目指すべき線""" return 0.6 * x + 4 で、学習データセットを以下の様に設定してみる。…

今日やった事メモ

何がしたいのかというと、log4javascript を試したかっただけ。 どんなリクエストが飛ぶかもよくわからなかったので、PHP でざっくりキャプチャするかーって事で、まずはPHP用意。 qiita.com Docker のおかげで世の中楽になりました。 まずはダウンロード lo…

Docker(17.12.0) docker-compose 試してみた

と言っても言うほど難しい話ではなく、複数起動してたコンテナをスクリプトでまとめてやるだけの話。 docker-compose.yml を下記の様に記述。 version: '3.1' services: wordpress: image: wordpress restart: always ports: - 8080:80 environment: WORDPRE…

Docker(17.12.0) Dockerfile からのイメージ作成

内容的には前回やった事を自動化する。 white-azalea.hatenablog.jp だってこんなのイメージで持ち続けるって大変じゃね? ってことで、スクリプトでイメージの作り方を指定するらしい。 XXXXXXXX$ cat Dockerfile FROM ubuntu # Install requirements. RUN …

Docker(17.12.0)をもう少し真面目に弄って見た

前回 docker run -it ubuntu /bin/bash を叩いた後の事。 別シェルを開いて、今度は docker ps でプロセスを眺めてみた bash が普通に動いているのが見えるわけだ。 まずはファイルを作成して見る。 別タブで差分を表示してみる。 普通に Ctrl+D で終了して…

1 クラス 1 機能、1 メソッド 1 処理の徹底

どういう事? 名前の通り、クラス設計において、1つの機能は1クラスとして用意します。 また、1機能の実現もまた手続きがありますので、それら手続きも基本的にクラス、メソッドとします。 さらに、手続きの中でもループして書き換えるとか、なんらかの値…

オブジェクトの状態は作らない

ここで言う状態とは、クラス変数と振る舞いの状態を意味します。 例えば、クラス内の特定のフラグが true となったらメソッドの挙動が変わるなどです。 状態とは? Java で例えれば、Closable インターフェース実装クラスなんかがそれに当たります。 リソー…

設計はトップダウンとボトムアップ

設計のトップダウン コードが設計だとしても、全ての設計が不要になるわけではない。 もちろん、Excel 方眼紙に書いた誰も読まないコード書いた方が早い設計書ではない。 まずは機能設計までと名前空間(パッケージやディレクトリ構成)だ。 何の事はない、…

車輪の再発明は避ける

プログラマなら何度も聞いた筈。 でも、実際に車輪の再発明って結構やってるのでは? 車輪の再発明とは? 何のことはない、同じようなものを何回も書く事をいう。 例えば、AJAX API を作るという場合なら、XML/JSON でシリアライズ/デシリアライズの環境を整…

勉強し続ける

前のエントリ でも書いたが、勉強はスキルを上げる唯一の手段だ。 加えて言えば、勉強する気もなく古い技術ですべて解決しようとする人、とはコードを改善したいとも思わない人とは、僕は仲良くできないだろう(きっと一緒に仕事をしたら喧嘩になるか、そいつ…

プログラムを読みやすくするための個人的Tips

個人的に綺麗なコードを書くために心がけているもの。 数が多いので、効果があると個人的に思っているものだけ集めてる。 なぜ読みやすく書くのか 読みやすいことに興味がない人のコードで、本当に汚ければ遠慮なく指摘するし、そのコードを保守したいとも触…

Play 2.4.x をいい加減調べてみる

色々変わったそうなので、まずはハイライトを見てみる。 https://www.playframework.com/documentation/2.4.x/Highlights24 DI サポート テストにおけるモックを容易にしたかった 軽量な組み込みPlayアプリケーションや、一つのJVM上で複数のPlayアプリケー…