サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Switch 2
qiita.com/antimon2
初めに この記事は、Julia Advent Calendar 2023 の14日目の記事です。 今年、私が少しずつ書いてきた Julia の入門書(『実践Julia入門』)が出版(商業出版)されました。 これ早く出したかったんです。できる限り早く Julia ユーザの皆さんに届けたかった。 その理由は、『これさえ読んでおけば Julia の基本はばっちり押さえられる』言い換えると 『「それこの本に書いてあるよ」と言う言葉で Julia の基礎知識を共有できる』 ことを目指して書いてきたからです。 特に Julia の概念と仕様と基本機能については広く深く丁寧に書き切ったつもりであり、ある程度「それこの本に書いてあるよ」と言えるような内容になっていると自負しています。 とは言え、見てほしい読者全てにはまだまだ行き渡っていないのだろうな、というのが正直な実感です。 なぜなら、今年(拙著が出版
この記事は、Julia Advent Calendar 2017 の3日目の記事です。 Julia では関数は第一級オブジェクトであり、関数の中で関数を定義することとかも普通にできるし、Closure も普通に定義できます。 ただ、Julia に限った話ではないですが、Closure って気軽に手軽に定義できるけれど、決してパフォーマンス良くないんですよね。 その理由と、Julia における「Closure のパフォーマンス改善」について少し解説してみます。 Julia の対象バージョンは v0.6.x(v0.6.1 で動作確認済)1。 お題:Xorshift32 Closure の良い例がなかなか浮かばなかったのですが、単純すぎず複雑すぎずと言うことで、Xorshift(32bit版)を取り上げます2。 Closure によるシンプルな実装 まずはこれを Closure でシンプルに実装
TL;DR この資料は、機械学習名古屋勉強会#16「強化学習ハンズオンパート2」 の補助資料です。 この資料を見るだけで、Windows10(Home可)上で OpenAI Gym が動くまでの環境設定ができることを目指します。 はじめに OpenAI Gym。公式にサポートしているのは Linux / macOS のみで、Windows はサポート外です。 Windows で OpenAI Gym を動かすにはいくつか方法があるのですが、そこそこネイティブに近い(=VirtualBoxやHyper-Vなどの仮想環境を利用しない)、Windows 10 Home でも利用可能な方法1を紹介します。 それが、「WSL(Windows Subsystem for Linux)」に「Ubuntu 18.04」を入れて、「VcXsrv(Windows用のXServer)」でGUIを表示する方法です
TL;DR 正格評価なのか非正格評価(遅延評価)なのかはしっかり把握しましょう、という話。 あとおまけで、素数無限列挙の話についてもちらっと。 初めに Scala は、遅延リストとしての Stream を備えています。 Stream.from(n) とすれば n 以降の整数を無限に列挙1できますし、その他フィボナッチ数列や素数列も定義できます。もちろん遅延リストなので、基本的には実際の値は必要になるまで算出されません。 また Haskell などと同様、Scala でも Stream は『最初の要素』と『残り』のようなパターンマッチングに対応しています。これを利用して柔軟な Stream 処理が可能なのですが…。 ちょっと込み入ったことをしようとすると、すぐに StackOverflowError に見舞われてしまいます。 ということで、自分用の覚書を兼ねて、その原因と対策をまとめてみます
これで Jupyter notebook が起動するので、ブラウザで http://localhost:8888/tree/mlnsc/ を開いてください23。 以下のような表示になればOKです4。 補足 最初に docker.run〜 を実行するとき、DockerHub からビルド済の Dockerイメージ のダウンロードが始まります。ネットワーク回線状況により数十秒〜数分かかることがあります。2回目以降はダウンロード済のイメージが利用されるので、即座にコンテナが起動します。 なお、Dockerイメージは自動更新はされません。「Dockerイメージ修正したので更新してください」とアナウンスがあった際は、(実行中のコンテナを終了させた上で)docker pull antimon2/mlnsc-dlscratch を実行して Dockerイメージ を再ダウンロードしてください。 Q&A 想定
前置き 色々やりたいことはあるのに思うように捗りません1。 そんなときは現実逃避のために、Julia の最新開発版をインストールして新機能を試してみて近未来を覗いたりします2。 v0.6.0-dev に、前々から少し期待していた「型システムの仕様変更」がついに入りました! 割と自分の思っていた方向に実装がされていたので、紹介したいと思います。 【2018/02/19 11:45】編集:参考リンク集のリンク先を一部修正3。 Julia の型システム概要 Julia は、動的型付言語です。コンパイル時ではなく基本的に実行時に型が決定します。 一方で、関数の引数や戻り値等に、型アノテーションを付けることはできます。 特に関数については、引数の違い(型及び個数)で同じ関数を多重定義することができ、実行時に適切な引数を持った関数が呼ばれる仕組みを取っています(多重ディスパッチ と言います)。これが(
初めに この記事は、Machine Learning Advent Calendar 2016 5日目の記事です。 複数の学習器(弱学習器、weak learner)を組み合わせてよりより性能の高い学習器(強学習器、strong learner)を作る、アンサンブル学習の手法の一つ、ブースティング。 その中でも代表的な、AdaBoost。 PRML本にも載っている(日本語版下巻p.374)しググれば実装例もいくらでも出てきますけれど、弱学習器として一番単純な決定株(decision stump)を用いた例ばかり。 それを他のものに変えたら、性能にどう影響するか。思いつきで実験してみました。1 実験環境 Mac OSX 10.11.6 Core i7 3.1GHz / 16GB RAM Julia v0.5.0 IJulia(Julia の Jupyter カーネル)、Gadfly(Juli
TL;DR Julia は速いよ。 Julia は行列演算簡単だよ。 Julia は Deep Learning 向きだよ。 Julia はそもそも書きやすいよはかどるよ! Julia 良いよ Julia! 初めに 【注意】この記事は1年以上前の記事です12。 この記事は、Julia Advent Calendar 2016 の3日目の記事です。 と同時に、機械学習 名古屋 第8回勉強会 の発表資料です。 またこの記事は、ゼロから作る Deep Learning(O'reilly, 2016/09)を参考に構築しています。 ↑ をJuliaに移植中 → DLScratch.jl 自己紹介 自己紹介 名前:後藤 俊介 所属:有限会社 来栖川電算 言語:Python, Julia, Ruby, Scala(勉強中), … twitter: @antimon2 Facebook: antimon
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 前置き 某 オンライン機械学習コース の Linear Regression with Multiple Variables(多変量線形回帰)で出てきた、Normal Equation(正規方程式)について。 Andrew Ng 先生(以降、Ang先生 と略記)が「導出するのめんどい(意訳)」と言って結果だけ示されたので、ちょっとだけ掘り下げてみました。 その中で、疑問点も浮かんできたので共有してみます。 私自身、まだちゃんと分かってない部分もあるかもなので、ツッコミ大歓迎です。 【2015/07/24 23:10】検証コードを追加し、
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに CodeIQで出題されていた、通称「フィズ・バズ・エクストリーム」問題(←問題の公開は終了したので左記リンクでは問題閲覧はできません)。 うまい漸化式を見付けて、それを元にコンパクトな再帰で解けたのですが、意外とこの漸化式で解いている人が少なそうなので、(誰か解説書いてくれるだろうと踏んでいたのですけれどこの際だから自分で)それを紹介・解説してみます。 ついでに、そこから Ruby でコードゴルフしたのでそのコードも簡単に解説。 問題(概要) 問題全文は、↓こちらを参照。 CodeIQ 「フィズ・バズ・エクストリーム」 問題
前置き 先日(2015/05/30)、Python東海 第27回勉強会で、「Jupyter + RISE による ライブデモ&プレゼンテーション」という発表をしてきました。 発表は、資料を Jupyter(IPython Notebook)で大枠を作り、RISE でリアルタイムスライド表示しながらその場で編集し、その場で Gist にアップ → nbviewer に登録 → nbviewer でのスライド表示、という流れで実施1。上記の発表資料は最終的に nbviewer で公開したスライド(後で少しだけ再編集したもの)です。 で、スライド関係は良かったのですが、主にそれ以外の環境設定周りについて、短い発表時間の中でだいぶ端折ったり、発表資料も最低限のことしか書いていないので、自分がやったことを補足しておこうと思います。 なおこの記事は、先日の記事「IPython + IJulia → J
前置き 元ネタは、結城浩氏著の「数学ガール 乱択アルゴリズム」。 新しい言語を覚えるとき、慣れるために「充足可能性問題(3-SAT)を解く乱択アルゴリズム」(p.353)を実装するという癖をつけていま1す。 ということで。前回の Egison版 に引き続き。勉強開始約1ヶ月の Julia ( http://julialang.org/ ) で実装してみました2。 開発環境・動作確認環境 Mac OSX 10.9.5 Julia 0.3.5 コード # Rw3sat.jl sample(a::Array) = a[rand(1:end)] immutable Literal index::Int not::Bool end literal(index, not) = Literal(index, not) # issatisfied(l::Literal, x::BitArray{1}) =
前置き 元ネタは、結城浩氏著の「数学ガール 乱択アルゴリズム」。 新しい言語を覚えるとき、慣れるために「充足可能性問題(3-SAT)を解く乱択アルゴリズム」(p.353)を実装するという癖をつけていました1。 ということで、久々に。個人的に研究中の Egison ( http://www.egison.org/ ) で試してみました。 開発環境・動作確認環境 Mac OSX 10.9.52 Egison 3.3.15/3.5.134 コード 例1:関数型プログラミングを強く意識したコード まずは関数型プログラミングとしての実装例。Egison が標準で用意してくれている関数は素直になるべく利用するようにしました。 ;; rw3sat_f.egi (define $sample (lambda [$xs] (nth (pure-rand 1 (length xs)) xs))) (defin
このページを最初にブックマークしてみませんか?
『@antimon2のマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く