kentsu.dat

何かその時の興味でいろいろする人。最近はScala使ってる。

Hadoopを使ってみた

はじめに インフラに興味をもってから、その中でも特に分散システムや分散並列処理に興味を持ったので有名な分散処理フレームワークであるHadoopを使ってみる。 今回は以下の記事を参考にして自分のUbuntu 16.04上で動かす。 Apache Hadoop 2.5.0 セットアッ…

Twitter APIのScalaラッパーを作っている話

はじめに 夏休み、特にすることがなかったのとTwitter4Jに憧れてScalaでTwitter4SというTwitter APIのラッパーを作り始めた。 初めは標準ライブラリだけでごり押すつもりが色々ありいくつかライブラリを使用しているがある程度出来た為、概要をまとめる。た…

形態素解析とngram、マルコフ連鎖を用いてもののけ姫風の文章を生成する。

形態素解析とngram,マルコフ連鎖を組み合わせる 前回紹介した記事ではrabbitfoot141.hatenablog.comngramをいくつかの文字で分割するタイプにしたが今回は形態素解析を用いていくつかの形態素で分割し、マルコフ連鎖を使って文章を生成する。 今回の概要 形…

n-gramとマルコフ連鎖の理論と実装、もちろんScalaを使って。

対話システムを作りたかった 対話システムという名の対話botを作っているがいきなり深層学習はハードルが高すぎたから人工無能から始めることにした。 この記事の流れ 今回の記事は次のように進んでいく。 n-gramのとは n-gramのサンプル マルコフ連鎖とは n…

Oracle Code Japan Tour in Sapporoに行ってきた

はじめに Oracle Code Japan TourがSapporoにくるとのことで初めて情報系のイベントに参加してみた。 というわけで実際に得た情報をあれこれまとめてみた。すごいメモのような感じになっているので間違ってたらコメントなどくれると嬉しい。 Feed Back from …

自分なりの、プログラミングを楽しむためのベストプラクティス

はじめに 大学や専門学校、高校中学や老若男女問わず、これからプログラミングを始める初心者の人がどうすればプログラミングを楽しめるか。 案外むずかしいこの話題に関して、自分の経験を踏まえた自分なりのベストプラクティスをまとめてみた。 自分は高校…

日本語版NetBeans8.2をUbuntuにいれてみた

なぜかNetBeansをいれることになった 友達曰く、「NetBeansが英語なのとプロジェクトを開けない」とのことで実際に検証してみた。 普段はVSCodeかVimとsbtでScala,Javaしか書かない人間のUbuntuにはそんな便利なもの入ってるわけもなく 実際に導入しながらそ…

【メモ】sbtで自作ライブラリを使えるようにした話

とりあえず公開したかった。 なんか公開したかった。 sbtで使えるようにしたかった。 何をやったか とりあえず次のサイトを参考にしてあれこれしたqiita.com qiita.com d.hatena.ne.jp 具体的には ライブラリをビルドする github pagesを作成しそこにビルド…

Newton-Raphson法と単位円内接正多角形を使った円周率近似をScalaでやってみた

やってみた C言語縛りは面白くないので例によってScalaでやってみた こんなやつをコードにした まずNewton-Raphson法は次の式におけるxの値を求めるこのあと登場するけど、単位円内接正多角形を使う近似では漸化式をつかっていくわけだけども その中で平方根…

Newton-Raphson法を用いた円周率近似

Newton-Paphson法の基礎原理 Newton-Raphson法とは次の式を満たすxの値を見つけるアルゴリズム ここではg(x)を任意の微分可能な関数としてCを実数定数とする。 つまりNewton-Rapshon法は次の式を満たすxの値を見つけるアルゴリズムとなる。 つまり以下の様に…

githubでコミットしても芝生が生えなかったわけ

昨日、githubの自分のレポジトリにコミットしてたら唐突に芝生が生えなくなった。それで色々ググった結果 masterブランチじゃないとだめ ローカルレポジトリの登録アドレスがgithubアカウントのメールアドレスになっていないとだめ forkしたやつもだめ みた…

Java使いのScala入門 〜Scala入門のはじめの一歩〜

Scala入門のはじめの一歩 これから何回かに分けてScala入門についての記事を書いていこうと思う。 教材はScala スケーラブルプログラミング[第3版]を元にJavaとの違いをまとめていく。 今回は「Scala入門のはじめの一歩」ということで、Scalaとは何か。とい…

遺伝的アルゴリズムとその応用

遺伝的アルゴリズム ~Genetic Algorithm~ 遺伝的アルゴリズム(Genetic Algorithm)とは、近似解を探索するアルゴリズム。 主にランダム性を持って要素を変化させる。進化的アルゴリズムの一つでもある。このアルゴリズムはデータを遺伝子として表現し、一つ一…

確率的解析と乱択アルゴリズム

確率的解析と乱択アルゴリズム 確率論と計算機における問題解決の手法として 確率的解析と乱択アルゴリズムについて解説していく。 ここでは以下の問題を考える。 雇用問題 問題: あなたは秘書を雇おうとしている。 その際にあなたは代理店を利用することに…

gdbを使ってコアダンプの原因を解析

コアダンプは嫌いだ。 大学やその他情報系専門科のある学校に通ったことがある人が一度は触ったことがあるであろう、C言語。 こいつは近年の言語に比べてものすごく面倒くさい書き方をするし、手間もかかる。 中でも最悪なのが「コアダンプ」の文字。 これは…

セキュリティミニキャンプ北海道2016に参加してきた

初めてミニキャンに参加してきた LOCAL学生部に加入して、しばらくしてからミニキャンのお知らせが回ってきたから何をやるんだという感じで詳細を見てみると…。Linuxでハードウェア制御、スマホアプリでサーバサイドへの攻撃と対策、クラウドセキュリティ基…

さくっとアセンブリ入門 hello,world編

さくっとアセンブリ入門 なんとなくアセンブリをはじめてみる レジスタがーとかメモリがーっていうお話は割愛 とりあえず「Hello,World」 まずはお決まりの「Hello,World」から .globl main main: movl $4,%eax movl $1,%ebx movl $msg,%ecx movl $13,%edx i…

メディアンフィルタ

メディアンフィルタ 移動平均法ではn*nの局所領域における濃度の平均値を領域中央の画素が保有する濃度として扱ったが 別の画質改善法にメディアンフィルタというものがある これは局所領域中の濃度値の中央値を領域中央の画素が保有する濃度として扱う方法…

サイトをリニューアルしたから今回使ったものをまとめてみた

はじめに 今回自分のサイトをリニューアルしたので kentsu-141.github.io これに使ったものをざっくりまとめてみる 基本的なデザイン まず基本的なデザインはこのホームページを見て思いついた sard.website ただ画像なんかを用意するのがめんどくさかったの…

C言語 構造体

6章 構造体 構造体とは、操作しやすいように一つの名前でまとめられた 1つ以上の異なった型の集まりであるこの構造体と呼ばれるものは大きなプログラムで特に複雑なデータを組織化するのに役立つ それは関連したデータを実体としてでなく一つの単位として扱…

C言語 ポインタと配列

5章 ポインタと配列 ポインタは、他の変数のアドレスを格納する変数でありC言語では頻繁に利用される理由は大きく分けて2つある 一つ目としてポインタを使うことが処理を行う唯一の方法である場合があるから 二つ目はポインタを用いて記述したほうが、それ…

Javaオブジェクトのライフサイクル管理

はじめに javaではnewを使うことで簡単にオブジェクトを生成できるが プログラムの規模が大きくなると、オブジェクトの生成から消滅までの管理が複雑化してしまうオブジェクトのライフサイクルを適切に管理するには以下のようなやり方がある・変数のスコープ…

OpenGLをC言語で扱う①

OpenGLをC言語で扱う 今回から画像処理以外にCGの部分も少しずつやっていこうと思ってこれからOpenGLをC言語でぼちぼち扱っていこうと思うインストールとかその他もろもろの環境構築は割愛 空ウィンドウを表示する まずはとりあえずウィンドウだけを表示して…

RaspberryPiにSambaをインストールしてサーバー化する

はじめに 結構前にRaspberryPI B+を買っていて そのままになっていたのを発見したのでsambaでもインストールしてサーバー化しようと思う sambaのインストール これはすごく簡単で sudo apt-get install sambaでいい sambaの設定 インストールすると/etc/samb…

移動平均法

移動平均法 今回は移動平均法を自分で実装してみた そもそも移動平均法とは、一枚の画像に含まれるノイズを除去する基本的な手法の一つで 入力画像における(i,j)成分の濃度に対しその近傍の濃度値の平均値を出力画像の(i,j)成分とする方法のこと その過程に…

判別分析法

判別分析法 判別分析法とはざっくり言えば2値化の手法の一つで 分離度という値が最大になる値を見つけ、自動的に2値化する手法分離度はクラス間分散とクラス内分散の比で求めることができる 具体的な仕組み 今、しきい値を として これがまず判別分析法を…

OpenCV+Pythonで顔にモザイク処理をする

顔にモザイク 最近はずっと画像処理の理論的な部分ばかり勉強していて、これといった成果物を出してないから 簡単に作れるものをとりあえず作ってみようっていうことで 今回は、OpenCV+Pythonで顔にモザイクをかけてみた顔認識とかはよくわからないしそうい…

python入門

はじめに 最近OpenCVをpythonで扱うことが多くなったので一度しっかりと勉強してみる 今回は自分の備忘録として書くようなスタイルなので、ある程度プログラミング言語を他に扱えることを想定している なので、ところどころ説明を省くので全くの初心者が見る…

画像処理におけるヒストグラム

はじめに 今回は画像処理をするとき(2値化などで)に使うヒストグラムというものについてまとめる ヒストグラムとは ヒストグラムとは画像処理以外の分野で使われることもあるが 画像処理の分野では、各濃度値に対してその濃度値を持った画素数を求めたもので…

画像処理における標本化と量子化

はじめに 画像処理でグレースケールと白黒について書いたがそれをもっと掘り下げようとすると量子化についてのまとめが必要で、さらに量子化を説明しようとすると標本化まで説明しないと行けないので今回はその両方を説明する 標本化 標本化とはざっくり言え…