You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
import org.junit.Assert; import org.junit.jupiter.api.Test; public class TwinCell { private static class Solver { private class Searcher { int c=0; int col; Searcher( int x, int y) { col = color(x,y); search( x, y ); } void search( int x, int y ) { if ( col != color(x,y) || ( attended[y] & (1<<x)) != 0 ){ return; } c+=1; attended[y] |= 1<<x; search( x+1, y ); search( x-1, y ); search( x, y+1 ); se
最近、Spring Frameworkを使用したプロジェクトで便利なBeanマッピングライブラリを使用したので紹介します。 1. 概要 Beanマッピングとは、一つのBeanを他のBeanにフィールド値をコピーすることで、アプリケーション層とドメイン層で、データの受け渡しをする場合に使用することが多いです。 MVCにおける例としては、コントローラで受け取ったFormオブジェクトと、Entityオブジェクトを相互に変換するケースがよくあります。 今回はConvention(規約)ベースを謳っているModelMapperを使用してみました。 2. 利用するメリット ModelMapperを使用した場合と使用しない場合のコード例を挙げます。 2.1. 煩雑になり、プログラムの見通しが悪くなる例 User user = userService.findById(userId); XxxOutput
Javaのclass loaderについてまとめる。 boostrap class loader bootstrap class loaderはbootstrap classを読み込む bootstrap classはjre/lib/rt.jarやjre/lib/以下の.jarに存在するクラスのことである Macだと/Library/Java/JavaVirtualMachines/jdk1.x.x_xxx.jdk/Contents/Home/jre/lib/rt.jar など JVMに付属しているclass loaderであり、JVM起動時にクラスを読み込むのに使用される bootstrap class loaderによって読み込まれたクラスのgetClassLoader()の返り値はnullになる public class Example { public static void ma
Ubuntu 18.04 LTSに複数のJDK (Java Development Kit) をインストールする方法についてまとめます。 sudo add-apt-repository ppa:linuxuprising/javaコマンドを実行し、リポジトリを追加します。 sudo apt updateコマンドを実行し、パッケージ一覧を更新します。 sudo apt install default-jreコマンドを実行し、デフォルトのJREをインストールします。 ※デフォルトとして設定したJDKのバージョンに対応していないソフトウェアがあった場合、このJREを使うようにすると解消するかもしれません。 以下をインストールしたいJDK全てに対して行います。 sudo apt install oracle-java*-installerコマンドを実行し、JDKをインストールします。 ※*にはJD
scikit-learnのRandomForestClassifierを使うことで,分類問題をランダムフォレストで解くことが出来ます. ランダムフォレストの特徴として,同じクラスに属するデータから,クラスを代表する属性値とは離れた値をもつ外れ値(outlier)のデータを特定することができます. 公式のscikit-learnでは外れ値を算出する機能がないため,今回はoutlierを出力するスクリプトを作成しました. (ちなみにRでは算出が可能です) 外れ値と求めるためには,scikit-learnのRandomForestClassifierのメソッドにあるapplyを使用します. これはランダムフォレストアルゴリズムで作成した各決定木にバッチの入力データを与えた時,各データがどの葉に含まれるかを葉のインデックスで返してくるメソッドです. http://scikit-learn.org/
##結論から ChainerやTensorFlowなどの機械学習(特にDeepLearning)フレームワークでGPUを使うと、誤差程度ではあるものの演算結果が毎回変わってしまいます。(非決定的な演算) 「乱数使ってるから当たり前でしょ」って話ではなく、乱数種を指定してもGPU内部での演算順序が非決定的であるためGPU演算の結果は安定しません。 浮動小数点演算なので誤差が出るのは当然だが、その誤差が安定しない(非決定的)なのが気になるところです。 Chainerでは環境変数(CHAINER_CUDNN)の指定またはConvolution2Dなどへのパラメータ追加で本事象を回避可能。 TensorFlowについてはGoogle社曰く「EigenライブラリまたはcuDNNの仕様によるとのこと」であり現状では対応策無し。(詳細は次の記事に記載のIssuesを参照のこと) 尚、Caffeでも同様の
#ベイズ最適化とは ベイズ最適化は,ガウス過程(Gaussian Process)というベイズ的にカーネル回帰を行う機械学習手法を使って,何らかの関数を最適化する手法です.このベイズ最適化のメリットは様々で,例えば,入力が連続値でない(微分不可能な)関数に適用できたり,局所解がある関数に強かったりします.これらのメリットのため,今後様々な問題に適用可能だと考えられます.ここでは,Pythonでベイズ最適化を行うパッケージであるGPyOptについて使い方を説明します. #GPyOptのインストール 環境としてanacondaを使います.最新のscipyとGPy(ガウス過程)のパッケージが必要となっています. #入力が1次元の関数最適化(解説) まずは,入力が1次元の非線形関数を最適化しましょう. 今回は,$f(x)=\cos(1.5x)+0.1x$の関数を,$0\leq x \leq 10$
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? #WHY 1:自分の勉強のためです。 2:機械学習に興味があるけど英語ができない人でも大まかな内容が理解できれば良いな 機械学習は近年話題になっている技術ですが具体的な運用のための指針はあまり明確になっていないのが現状です。企業の担当者が知恵を振り絞って工夫されていると思います。 今回、参考にした資料はGoogleの中の人が書いているので参考にできるはずです。 機械学習の適用で悩めるエンジニアの指針になれば良いと思います。 ただし参考資料の方が詳しいので英語ができる方は元の参考資料を読まれる ことを強くオススメします。 誤訳がある可能性
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く