takeda_san’s blog

JavaFXと機械学習を頑張る方向。

JJUG CCC 2017 Fallにいってきましました

イベント参加の感想を書くとポエム感でるのでどうなのよ。と、いらんことで悶々と悩むこと二日間。 書きたいものは書く。発信だいじ。 年齢も経験も関係ない!ステップアップするためのJavaコミュニティ活用術 朝から行ってきました。 前回もJJUG CCCには来て…

GCPでもJavaがしたい その3

作業記録的なやつです。 作業予定 GCPアカウント作成 Webサーバをたててみる JREをいれて何か動かしてみる RMIで通信してみる ←今回はここ Dockerイメージをつくってみる クラスタ環境をつくってみる コンテナを動かしてみる RMIで通信してみる(コンテナ編) …

GCPでもJavaがしたい その2

作業記録的なやつです。 作業予定 GCPアカウント作成 Webサーバをたててみる ←今回はここ JREをいれて何か動かしてみる ←今回はここ JavaFXのクライアントアプリケーションと通信してみる(たぶんRMIで) Dockerイメージをつくってみる クラスタ環境をつくって…

Gradleでビルドがしたい

作業メモ。 JavaのアプリケーションのビルドをMaven、Antで書いてJenkinsで実行みたいなことを今までやってきたのですが、 XMLの設定ファイルをいじったり、プロパティファイルを書いたりが、あまりにも精神力をすり減らす作業なので別のやり方無いかなぁ。 …

GCPでもJavaがしたい その1

作業記録的なやつです。 作業予定 GCPアカウント作成 ←今回はここ Webサーバをたててみる JREをいれて何か動かしてみる JavaFXのクライアントアプリケーションと通信してみる(たぶんRMIで) Dockerイメージをつくってみる クラスタ環境をつくってみる コンテ…

QwiklabsでAWSをやっていく

AWS

思えばいままで、サーバーサイドをやってこなかったな。 というわけでAWSやろう。 なぜQwiklabs AWSとかGCPとか、やったことある友達がいないんですよね… いや、普通の友もいないですけど。 だから、独学で!というわけになるんですけども、従量課金制だから…

EclipseでJigsawしてみる 完結編

ぽやぽやしていたらJava9正式リリースされてました。 そういえば、EclipseのJava9対応もそろそろでしたっけ。 Java9対応のOxygen a1が10/11リリースとの情報を手に入れた我々は、RC版を手に入れるべくEclipseホームページへと急いだ。 というわけで、このシ…

JavaFXで白い画面がでるので…

白い画面現象 JavaFXの画面の描画が止まって、真っ白なウィンドウが表示される。 という現象が、何回か起きてます。 原因としては次のどちらかでした。 ヒープ領域がいっぱいだった コントローラーとか、UI部品などの大きなオブジェクトの中に参照が残ってい…

テーブル内のチェックボックスをクリックしたときに行を選択したことにしたい

おのれ、チェックボックス こんな画面、ギョームアプリケーションを作ったことがある方なら一度はあると思います。 チェックボックスを選択して、その行に対して操作を行うみたいなやつ。 JavaFXでは、CheckBoxTableCellというチェックボックス入りのテーブ…

Windowsのコマンドプロンプトの代わりにcmderをつかう

私、Windowsを家でも仕事場でも好んで使っているのですが、コマンドプロンプトの使いにくさに少々困っておりまして、 代替のものはないかなぁと、いろいろ試してみた中で個人的に使いやすいものを見つけたのでメモ。 cmderというもの。 何よりハーフライフ的…

JavaFXとNettyでソケット通信アプリケーションを作ってみよう その2

前回のあらすじ takeda-san.hatenablog.com Nettyを使った簡単なソケット通信プログラムを動かしたぞ! 今回やること 好きな文字列が送れるようにする。 前回は決まったフォーマットの固定長のデータだったので、データのエンコード、デコード部分を直接コー…

JavaFXとNettyでソケット通信アプリケーションを作ってみよう その1

ちょっとNettyを使う用事があったので、忘れないうちにメモ。 せっかくなのでJavaFXでソケット通信アプリケーションを作ってみる。 今回使っているバージョンは、「4.1.12-Final」です。 まずは、JavaFXを使わないで、サンプルプログラムを動かして動作を確…

コレクションにファクトリーメソッドが追加されたらしい

まだまだ続くよJava9お試し。 今回はコレクションフレームワークのお話。 List<String> list = new ArrayList<>(); list.add("ひとつめ"); list.add("ふたつめ"); Map<String, String> map = new HashMap<>(); map.put("きー1", "ばりゅー1"); map.put("きー2", "ばりゅー2"); Set<String> se</string></string,></string>…

Java9から匿名クラスの総称型も省略して書けるって本当ですか!?

わかった気になっているうちにやっておこうシリーズ第二弾。 EclipseでJDK9-eaの設定をする記事はこちら。 takeda-san.hatenablog.com Java9から匿名クラスの総称型もダイヤモンド演算子(って言い方でいいの?)で省略して書けるらしい。 試してみようじゃな…

EclipseでJigsawしてみる その2

というわけで続きです。 takeda-san.hatenablog.com jar作成死闘編 ようやくjdk9-eaの設定に成功したので、コードを書いていきましょう。 今回は、ライブラリ用のプロジェクトとそれを使うアプリケーションのプロジェクトの二つを準備しました。 まずは、ラ…

EclipseでJigsawしてみる その1

Java Day Tokyo 2017に行ってきた。 わかった気になっているうちに、実践。 エディタで書いて、コマンドラインでビルドと実行? とんでもない、いつものEclipseで書きます。 JDK9-eaダウンロードしてインストールして、Eclipseにjreを追加… あれ、『Target i…

JavaFXのテーブル行の文字色をまとめて設定したい

結論から書くと、次のスタイルを指定すればよい。 -fx-text-background-color 参考にしたのは下記のページ。 やはり、スタイルの設定をしたければ、まずmodenaの定義を見よ。ということに尽きる。 (以前にもtreetableの偶数行の背景色を変更する設定で、はま…

プログラミングのための線形代数「1.1 ベクトルと空間」

やったこと プログラミングのための線形代数「1.1 ベクトルと空間」を読む。 表紙の主な対象読者の記述にぐっときたので買ってしまいました。 『研究・仕事で信号処理なりデータ解析なりをやろうとして、その方面の本を読んだら、線形代数が出てきた。どうに…

平均二乗誤差について少しだけ理解した話

前回のあらすじ 分類とラベルについて、今更理解した。 takeda-san.hatenablog.com やったこと 統計学の入門書を読んでいる。 www.kyoritsu-pub.co.jp 要するにやる夫で学ぶ統計学的なものである。 半分ぐらいまで読んだが、今のところ躓くことなく読めてい…

分類とラベルについて理解した話

前回のあらすじ ようやく、csvからデータを読み込み想定通りの出力を得る。 takeda-san.hatenablog.com やったこと 前々回、ハマったラベルとクラスの概念。 下記のページが非常にわかりやすかった。 やる夫で学ぶ機械学習 - 序章 - · けんごのお屋敷 クラス…

setResizableをfalseにすると、不要な余白が生じる問題

唐突に始まるJavaFX記事。 事象 Scene Builder上でのFXMLプレビューと実際にコントローラーを実装して起動したときの画面サイズが違う気がする。 もともと、この事象に気が付いたのはStageが保持しているSceneを別のSceneで差し替えて画面を切り替えるような…

サンプルプログラムをいじろう その4

前回のあらすじ そもそも、教師データの想定が間違っていたのだな。 takeda-san.hatenablog.com やったこと まずは、教師データの見直し。 今使っている株価のデータはこんなデータが入っている。 日付,始値,高値,安値,終値,出来高,終値調整値 "2015-01-05",…

サンプルプログラムをいじろう その3

前回のあらすじ csvからのデータ読み込みができない。 takeda-san.hatenablog.com やったこと 参考になる情報がないなら公式にいけばいいじゃない。 dl4j-examples/CSVExample.java at master · deeplearning4j/dl4j-examples · GitHub というわけで、csvを…

サンプルプログラムをいじろう その2

前回のあらすじ 学習データを書き換えてうまくいくかと思ったが、そんなに甘くなかった。 takeda-san.hatenablog.com やったこと なぜ、出力がすべて1になったのか検討した。 まずはシグモイド関数を使ってるのに、出力に1以上の値を使っている点を直すべき…

サンプルプログラムをいじろう その1

前回のあらすじ 多層パーセプトロンプログラムを読んだ。 takeda-san.hatenablog.com やったこと 今回からサンプルプログラムを少しいじって、何かデータを解析してみる。 どうせやるなら心躍る題材をということで、株価をデータとして扱います。 2015年の株…

多層パーセプトロンプログラムの理解

前回のあらすじ パーセプトロンプログラムを最後まで読んだ。 takeda-san.hatenablog.com やったこと 今回からは多層パーセプトロンプログラムを読んでいく。 courseraの機械学習動画や各種技術書で基礎をじっくりと… と思っていたが結局プログラムを実際に…

パーセプトロンプログラムの理解 その4

前回のあらすじ 学習率と重みについて、少し深堀り。 takeda-san.hatenablog.com やったこと 学習の実行と結果表示部分のプログラムを読む。 // 確認用のリスナーを追加 perceptron.setListeners( new ScoreIterationListener(1) ); // 学習(fit) perceptron…

学習率、重みってなんだ?

前回のあらすじ ニューラルネットワークの定義、生成部分のコードを読んだ。 takeda-san.hatenablog.com やったこと 重みってなんだ? 前回のニューラルネットワークの定義の中で重みというパラメータが登場した。 この重みは、以前にやった下記の数式におけ…

パーセプトロンプログラムの理解 その3

前回のあらすじ 学習データの生成方法部分を読んだ。 takeda-san.hatenablog.com やったこと なんとも本丸感がある、このワンライナー。 落ち着いてひとずつ確認していきます。 // ニューラルネットワークを定義 MultiLayerConfiguration.Builder builder = …

パーセプトロンプログラムの理解 その2

前回のあらすじ 活性化関数として使われる、シグモイド関数。 誤差関数として使われるMSEについてそれとなくわかった気になる。 takeda-san.hatenablog.com やったこと 実際にプログラムを読んでいく。 INDArray tIn = Nd4j.create( new float[]{ 1 , 1 , //…