白猫のメモ帳

JavaとかJavaScriptとかHTMLとか機械学習とか。

callとかapplyはいつ使う?

あけましておめでとうございます。お正月、いかがお過ごしでしたでしょうか。 おもちは食べましたか。初詣はいきましたか。 さて、たまにはJavaScriptのお話をします。 callとapplyを使うことはありますか。違いは知っていますか。結論から先に書くと、違い…

elseのコメントってどこに書く?

おはようございます。仕事納めましたか? 年末年始もお仕事ですか?さて、緩めの話題ですが、戦争が起きそうな話題でもあります。 elseとかelse ifのコメントをどこに書くか問題です。 コメント書かないで済むコードが最高というのは言わないお約束ですよ。…

ラムダ式をメモ化する部品を作ろうとして混乱したお話

こんばんは。クリスマス直前とは思えない暖かさですね。 大掃除は進んでいますでしょうか。 メモ化とフィボナッチ数列 さて、今回はメモ化のお話です。メモ化とは、簡単に言えば、参照透過性を持つ関数の計算量を削減するためのキャッシュです。 引数に対す…

TF-IDFでニュースを要約する

こんばんは。猫様に椅子を取られて座るところがありません。さて、今回はTF-IDFを使って文章要約を試してみます。 要約と謳ってはいますが、重要な文を抜き出すだけなのでご注意を。 TF-IDFってなんだ 今回のポイント、TF-IDFについて簡単に説明します。TF-I…

年末調整書類にマイナンバーを書かないのは何故?

こんばんは。気が付けば12月。年の瀬ですね。 年末調整書類、ちゃんと出しましたよね。この前、知人に「年末調整書類にマイナンバー書いたら怒られたんだけどなんでだろう」と聞かれたので、 「そりゃあ書いちゃダメって説明されたのに書いたからでしょう…」…

JJUG CCC 2016 Fallに参加してきました

こんばんは。年2回開催されているJJUG(日本Javaユーザグループ)のカンファレンスに参加してきました。 なんだかんだでもう3回目の参加です。 だいぶ慣れた気はしますが、周りの人が全てスーパープログラマーに見えるのは相変わらずです。で、あの・・・え…

Comparatorの型推論

こんばんは。雪、降りましたね。 寒い…。 さて、Streamなお話。Streamを処理する際、ソートには中間メソッドのsortedを使います。 このメソッドの引数はComparatorですが、自然順序付けを使わないような場合には、 comparingやcomparingIntなどのメソッドを…

JavaでTwitterBotをつくってみたよ

こんばんは。最近VBAが多くて、あまりJavaを書いていない気がするわたしです。 あ、このブログのプロフィール欄をTwitterとかで使っている名前と写真に合わせました。 なんか混乱してきたので。さてさて、 結構前にさくらVPSにJavaやらMySQLやらJenkinsやら…

「次元が違う」ってどういうこと?

こんばんは。なんか変なことをふと思ったので、気の赴くままに書きます。 「次元が違う~」とか「別次元の~」ってときどき聞きますよね。たとえば、スポーツ選手の技術を評したり、 あるときには、女優さんの美しさを表現したり、 はたまた、ハイスペックな…

勾配降下法ってなんだろう

こんばんは。一年中穏やかな気候な土地に移り住みたいです。 さて、機械学習においては学習器がなるべく正しい答えを出力できるように いくつかのパラメタを訓練していきます。これを最適化といいます。最適化にはいくつも方法がありますが、 いちばん基本的…

OCJP SE8 Goldに合格しました

こんばんは。新しいiPohoneに変えようかちょっと悩んでいます。 5sユーザなのでサイズが大きくなるのが・・・。 さて、少し前の話ですが、オラクル認定Javaプログラマの試験に合格しました。 (※写真差し替えてます。わたしはネコ科ではない。)Goldは参考書…

うちのコンソールには勝手にFizzBuzzしてくれる妖精が住んでいる

こんばんは。暑さ寒さも彼岸から。 変に暑かったり寒かったり困りますね。 体調がもうだめです。ところで、 「FizzBuzz」 知ってますよね。できますよね。え、できない?いやいやいや。 System.out.printlnするだけですよ。 import java.io.PrintStream; pub…

CourseraのMachine Learningを完走しました

こんばんは。あめあめ・・・雨、そして雨ですね。 毎日傘を持って出かけなければならないのが面倒です。 Courseraで7月11日からやっていた「Machine Learning」コースの全11週が完了しました。 クイズが大体4/5でクリアしていたので、点数が低めです・・・ふ…

LocalDate#ofの引数はゼロ埋めしないよ

こんばんは。急に涼しくなっていまいち体調が悪いです。 しかもまた暑くなるとか・・・無理・・・。 さて、Java8でDate/Time APIが刷新されて使いやすくなりました。 ローカライズされた日付を扱いたいときにはLocalDateクラスを使います。parseメソッドを使…

List<Integer>をremoveするとどうなる?

こんばんは。だいぶ涼しくなってきましたね。 その分朝に布団から出るのがつらくなってきました。 さて、割と有名かもしれませんが、Listのremoveのお話です。これを実行すると、 List<String> list1 = new ArrayList<>(Arrays.asList("hoge", "fuga", "piyo")); lis</string>…

ファイル名を取得したいなら、dirコマンドにはオプションを付けたほうがいい

こんばんは。なんかだんだんとタイトルが文章っぽくなってしまうのは、 昨今のラノベタイトルとかと関係があるんでしょうか。 さてさて。 あるディレクトリにあるファイル名の一覧がほしい時ってたまにありますよね。特に何も考えずに dir > a.txtみたいなコ…

カレントディレクトリでコマンドプロンプトを開く

こんにちは。 Macだと右クリックメニューに「ここでターミナルを開く」っていうのがありますよね。 Windowsでもこれをやりたいです。 簡単な方法は2つあって、ひとつめは、①エクスプローラで「Alt+D」 ②「cmd」とタイプ ③Enter①でエクスプローラのパス欄にカ…

ベイジアンフィルタでニュースのカテゴリ分けをしてみる

こんばんは。ここ数日は涼しい日が続きましたが、明日からまた暑いようですね。 秋の気配は微妙でも、お店の品揃えはあっという間に秋モードです。 さて、今日はベイジアンフィルタを使って文章のカテゴリ分けをしてみようかと思います。迷惑メールフィルタ…

CourseraのMachine Learningを受講中

こんばんは。甲子園が終わり、オリンピックが終わり、日常が戻ってきた気がしますね。 さてさて。 オンライン学習サイトのCourseraで7月11日から始まっている「Machine Learning」コースを受講しています。www.coursera.org全11週のうち6週が終わって折り返…

.gitignoreに書き忘れたとき

自分用のメモ。.gitignoreに指定するの忘れてよくpushしちゃう。 そうすると、あとから足しても反映されない。 git rm -r --cached . でいったん全部降ろして、 git add . でまた全部ステージに乗せる。あとはコミットしたりプッシュしたり。

enum+ラムダ=おしゃれ

こんばんは。オリンピックが始まりましたね。 夜更かししすぎないように気をつけねば。 ところで、enumって便利ですよね。 使いますよね。 数が限られているようなときに便利です。 Java7でStringがswitchに対応したので、switchに使えるというメリットはち…

単純パーセプトロンをJavaで作る その③

こんばんは。関東甲信越も梅雨明けして、いよいよ夏本番ですね。 学生さんは夏休みを満喫していますでしょうか?さて、単純パーセプトロンについての記事の3つ目です。その① 機械学習の基本とパーセプトロンでできること その② 単純パーセプトロンの仕組みを…

単純パーセプトロンをJavaで作る その②

こんばんは。歩きながらスマホを見るのは危ないのでやめましょうね。さて、単純パーセプトロンについての記事の2つ目です。その① 機械学習の基本とパーセプトロンでできること その② 単純パーセプトロンの仕組みを簡単に解説 ←今回はコレ その③ 単純パーセプ…

単純パーセプトロンをJavaで作る その①

こんばんは。猫が網戸を開けるので、家の中に蚊が入って困っています。 さて、今回は単純パーセプトロンを作ってみようと思います。 が、あれもこれもと書いていたら結構長くなりそうなので3つの記事に分けます。その① 機械学習の基本とパーセプトロンででき…

WhileStreamってないの?

こんばんは。今日から数日は少し涼しいみたいですね。 30℃を超えると仮死状態になるので、ありがたいです。 最近ちょっと自然言語処理をしたかったのでKuromojiを使っているのですが、 JapaneseTokenizerがstream化できなくてなんかもやもやするんです。やっ…

ラムダ内の例外処理はもう少しおしゃれであってほしい

こんにちは。今日から3連休ですね。 学生の皆様はもうそろそろ夏休みでしょうか? さて、タイトルの通りなのですが、 Javaでは言語仕様上、ラムダ内での検査例外を投げることができないので、 せっかくのラムダが全然おしゃれじゃない感じになってしまいます…

ブログタイトル変えました

あまりに適当だったので。ついでにちょっとデザインも変えてみたのですが、 真っ白すぎてちょっと見づらい…?

ラムダを引数にとるメソッドのオーバーロードってどうなるの?

こんにちは。そんなに雨が好きなわけでもないですが、 こう暑さを実感すると、雨が降っていても涼しい方が幸せな気がします。 水不足ですしね。さて、タイトルの通りです。 関数インタフェースのラッパーをつくろうかと思ったら、参照があいまいとか怒られて…

k近傍法をJavaで実装する

こんばんは。暑いですね。 とろけてしまいそうです。さて、前回は最近傍法を試してみましたが、今回はk近傍法を実装してみましょう。別のクラスにしてもいいのですが、 最近傍法はk=1ですので、共通化しておきましょう。kはコンストラクタ引数で渡すことにし…

最近傍法をJavaで試してみる

こんばんは。最近はちょっと機械学習を勉強している私です。機械が学習できれば私は学習しなくていいんですよね。 すばらしいです。 そのために私は勉強します。・・・ん?さておき、とりあえず最初は機械学習アルゴリズムの中でももっとも単純な(ってWikip…