【電子工作】ボタン電池式小型照明(キラキラエッグ)改造のための回路を設計する(実験編)

wanko-sato.hatenablog.com

前回の続きです。
ひとまずダミー電池を使ってボタン電池式の小型照明(100均で売っている「キラキラエッグ」)を単三電池式にすることが可能であることを確認しました。
今回は実装にあたってその回路を検討するのに加え

  • 電池だけでなくコンセントからも電源をとれるようにすること
  • 可変抵抗器を使って明るさを調節できる機能の追加

の2点を検討しました。
今回は実装の前の設計段階の話ですので、実装にしか興味のない方は飛ばしていただいて構いません。

続きを読む

【電子工作】ボタン電池式の照明を単三乾電池式に改造する(実験・試作編)

2018年のやりたいことの中にarduinoを使った電子工作があります。そういう話題をしようかと思ったのですが、今回は全く違う話です。
表題の通り、「ボタン電池式の照明を単三乾電池式に改造する」です。そのまんまです。はたしてこの話題を「電子工作」というくくりにいれていいものかどうかなんとも言えないところですが、電気使ってるし、工作してるし、テスタとか配線とか抵抗とか使ってるからそれっぽいし、電子工作のカテゴリに入れてしまいます。

続きを読む

【Javascript】オープンデータ遊びのための下準備。

昨年はR、Shiny、自然言語処理ニューラルネットワーク辺りを一生懸命やっていました。
2018年はどうしようかな、と考えていたところ、諸事情によりデータの可視化周りをあれこれする必要が出てきました。従来通りShinyでやっても良いのですが、せっかくだから新しいことにチャレンジしたい。ShinyだとどうしてもRが裏で動くことが前提だから、広く使ってもらうにはちょっと不便だな、という不満がなんとなくあって、だったらいっそのことJavascriptをやってみよう、と思い立ったわけです。
また、昨年末、諸事情あってIoTに興味をもち、arduinoをnode.jsから動かす"Johnny-five"なるライブラリがあることを知り、ますますJavascriptに興味をもったのでした。
2018年の前半はJavascriptによるデータビジュアライゼーション(たぶん主にD3.js)を中心に勉強しつつ、後半はnode.jsをつかったarduinoの操作およびセンサデータの取得と可視化をやってみようと思っています。加えて、まだどちらか決めかねているのですが、Amazon Web ServiceなりGoogle Cloud Platformなりのクラウドサービスを使ってあれこれ遊んでみたいとも思っています。
自然言語処理でやりたいことがあるといえばあるのですが、そのためのテストデータがなかなか集まらなくていったん休止状態です。

続きを読む

【PC】Windows10の自己修復ループから復旧までの道のり。

年末おしせまる中、12月23日に突如、PCがおかしくなりました。サインインできない状態からスタートし、新しいアカウントを作ることで一時的に動くようにはなったものの、翌日の12月24日にはエラーが発生し、再起動するものの自己修復ループにはまってしまいました。
結局、OS再インストールで復旧させたのですが、その間にいろいろあったので、少しでもお役に立てるよう、記録を残しておきます。

続きを読む

【Rで機械学習】back queryとムーア・ペンローズ形逆行列の話。

前回の記事、恥ずかしいことに堂々と片手落ちなことを書いてしまっていました。

wanko-sato.hatenablog.com

ニューラルネットワークの出力から入力を逆算するには重み行列の逆行列を用いれば良い、と書きました。
が、これだけでは片手落ちで、逆行列が存在しないケースではこの計算はできないことになります。さすがにそれではいかんと思うので、補足の意味で、逆行列が存在しない場合はどうすれば良いか、メモ書きとして残しておきたいと思います。

続きを読む

【Rで機械学習】ニューラルネットワークの結果を精査してみる。

wanko-sato.hatenablog.com

前回、Rで簡単なニューラルネットワークを自作してみました。参考にした書籍はこちら。


ニューラルネットワーク自作入門

ニューラルネットワーク自作入門

本書はPythonでの実装例が示されていますが、前回の記事ではそれをRに書き直してみよう、というものでした。
さて、本書では、MINSTを学習データとして使用しており、興味深い実験として、「ある出力結果を与えたらどのような入力データでありうるのか?」というback queryを行っています。それ自体、面白い結果だと思っているのですが、いかんせん入力データが大きいため、実際のところどうなの?というのがいまいちわかりづらい結果でした。

前回の記事では、三次元の正規分布を使った座標データを分類する、という非常に単純な課題をニューラルネットワークで学習させました。入力データは3つの座標、出力データは3つの確率です。精査していくのには手ごろな大きさなので、改めて、前回学習させたニューラルネットワークで何が起こっているのか、精査していきたいと思います。

続きを読む

【Rで機械学習】ニューラルネットワークを自作してみる。

やっぱりニューラルネットワークの基礎くらいはきちんとおさえておいた方が良いだろうなぁ、ということで、取り急ぎこちらの書籍を読んでみました。

ニューラルネットワーク自作入門

ニューラルネットワーク自作入門

基礎から丁寧に解説してくれている本です。前提となる知識はほぼ不要です。行列の積と微分がちょっぴり出てきますが、それも必要な解説はすべて含まれています。これを読めばニューラルネットワークの基礎の基礎はひとまずおさえられるはず、という作りになっています。
この本の良いところは、実際にPyhtonでニューラルネットワークを作ってみよう、というところで、中に実際のコードが記述されてあります。ニューラルネットワークの基礎はそれほど難しくありませんから、Pythonのコードも非常にシンプルです。Pythonの入り口に立つのにも良いのではないかと思います。

さて、じゃあ自分でもやってみよう、と思ったのですが、さすがにここでPythonのコードを丸パクリするのはどう考えてもまずいので、本書に記載されているPythonのコードをRに置き換えてみよう、ということをやってみました。

続きを読む