タグ

ブックマーク / enakai00.hatenablog.com (10)

  • 数理最適化と機械学習を比較してみる - めもめも

    数理最適化 Advent Calendar 2022 の記事です。 何の話かと言うと Pythonではじめる数理最適化 ―ケーススタディでモデリングのスキルを身につけよう― 作者:岩永二郎,石原響太,西村直樹,田中一樹オーム社Amazon 上記の書籍の第7章では、次のような問題を取り扱っています。 細かい点は書籍に譲りますが、まず、生データとして次のようなデータが与えられます。 これは、あるショッピングサイトの利用履歴を集計して得られたもので、あるユーザーが同じ商品を閲覧した回数(freq)と、その商品を最後に閲覧したのが何日前か(rcen)の2つの値から、そのユーザーが次にサイトにやってきた時に、再度、その商品を閲覧する確率(prob)を実績ベースで計算したものです。実績ベースのデータなので、ガタガタしたグラフになっていますが、理論的には、 ・freq が大きいほど prob は大きくな

    数理最適化と機械学習を比較してみる - めもめも
  • 量子計算のための「テンソル積」入門 - めもめも

    何の話かと言うと 量子計算の説明で必ず出てくるのが、 といったヘソマーク を用いた積(テンソル積)です。テンソル積の定義にはいくつかの方法(流派?)があり、個人的には、双対空間を用いた多重線型写像として定義するのがいちばんスッキリするのですが、数学的な厳密性にこだわらない方むけには、いまいち抽象的すぎて、遠回りな説明に感じられるかも知れません。 そこでここでは、一番ベタな「数ベクトル」による、基底を用いた定義を使って、テンソル積を説明してみます。 1階のテンソル 量子計算の話を念頭に置いて、2次元の複素ベクトル空間で話を進めます。まずは、2個の複素数を縦にならべた「縦ベクトル」を考えます。 一般には、これは、「複素数ベクトル」と呼ばれるものですが、ここでは、これに「1階のテンソル」という別名を与えます。 また、これを転置して横に数字を並べて、さらに、各成分の複素共役をとったものを考えます。

  • 「技術者のための確率統計学」が出版されます - めもめも

    www.shoeisha.co.jp 表題の書籍が翔泳社より出版されることになりました。査読に参加いただいた読者の方を含め、編集・校正・組版・イラストデザインなどなど、書の作成に関わっていただいたすべての方々に改めてお礼を申し上げます。 これでついに(!)「技術者のための基礎解析学」「技術者のための線形代数学」とあわせた三部作が完成となりました。 「昔勉強した気がするけど、もうすっかり忘れちゃった」「あのカタイ数学の世界をもう一度、真面目に振り返りたい」―― そんな読者を想定したこれらの書籍を執筆するきっかけは、やはり昨今の「機械学習ブーム」でした。2015年に出版させていただいた「ITエンジニアのための機械学習理論入門」では、細かな数式を含む計算は、すべて「数学徒の小部屋」と題したコラム枠に押し込めていたのですが、その後、読者の方から「ここに書かれている数式を理解したくて、もう一度、数

    「技術者のための確率統計学」が出版されます - めもめも
    yuiseki
    yuiseki 2018/08/27
  • Dockerにおけるコンテナのライフサイクル - めもめも

    docker run/stop/start/rm/commit」の各コマンドの役割を整理しておきます。全体像はこんな感じ。 前提環境はこちらです。 # cat /etc/redhat-release Fedora release 20 (Heisenbug) # uname -a Linux fedora20 3.14.6-200.fc20.x86_64 #1 SMP Sun Jun 8 01:21:56 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux # rpm -q docker-io docker-io-1.0.0-1.fc20.x86_64まず、「docker run」で新たなコンテナを起動します。「--name」オプションで名前「web01」を付けておきます。「docker ps」は起動中のコンテナを表示します。 # docker run -it

    Dockerにおけるコンテナのライフサイクル - めもめも
    yuiseki
    yuiseki 2017/02/02
  • LevelDBの(低レベル)I/O処理構造 - めもめも

    何の話かというと LevelDBというのは、組み込み型のKeyValue Storeです。SQLiteのような感じでデーモンを立ち上げずにローカルファイルシステムを使って、KeyValue Storeが利用できます。 これをローカルファイルシステムではなくて、GlusterFSのボリュームで使えないか試したのですが、FUSEマウントを利用すれば、あっさりと動くことが確認できました。LevelDBは複数ファイルにデータをばらまくので、ファイル単位で分散するGlusterFSとの相性はよいかも知れません。 で、次のチャレンジというか思いつきで、巷で話題のlibgfapi[1]を使うようにLevelDBを改造できないかと、週末をつぶして頑張りました。結果としては、無事に動くものができあがりました[2]。この際、LevelDBのI/O処理がなかなかおもしろい構造になっていることに気づいたので、メモ

    LevelDBの(低レベル)I/O処理構造 - めもめも
    yuiseki
    yuiseki 2014/03/21
  • Systemd入門(2) - Serviceの操作方法 - めもめも

    この連載では、Fedora 17での実装をベースとして、systemdの考え方や仕組み、利用方法を説明します。今後出てくる予定のRHEL7での実装とは異なる部分があるかも知れませんが、その点はご了承ください。 前回は、systemdの基概念となるUnitの説明をしました。今回は、日々のオペレーションで必要となる、serviceの操作方法をまとめます。旧来のchkconfigコマンド、serviceコマンドに相当する部分ですね。 サービスの確認 現在稼働中のサービス一覧 # systemctl list-units --type=service UNIT LOAD ACTIVE SUB JOB DESCRIPTION auditd.service loaded active running Security Auditing Service crond.service loaded act

    Systemd入門(2) - Serviceの操作方法 - めもめも
    yuiseki
    yuiseki 2013/09/15
  • Systemd入門(1) - Unitの概念を理解する - めもめも

    Linuxの起動処理は、これまでinit/upstartと呼ばれる仕組みで行われていました。Red Hat Enterprise Linux 7 (RHEL7)では、これが、systemdと呼ばれるまったく新しい仕組みに置き換わります。Fedoraでは、すでに先行してsystemdが採用されていますが、この連載(?)では、Fedora 17での実装をベースとして、systemdの考え方や仕組み、利用方法を説明していきます。今回は、systemdの動作の基礎となる「Unit」の概念を理解します。 systemdを採用したFedoraでLinuxの基礎を学びなそう!という方には、「「独習Linux専科」サーバ構築/運用/管理――あなたに伝えたい技と知恵と鉄則」がお勧めです。(^^/ systemdの考え方 参考資料 ・Rethinking PID 1:systemdの開発者であるLennart

    Systemd入門(1) - Unitの概念を理解する - めもめも
    yuiseki
    yuiseki 2013/09/15
  • OpenShiftの内部構造についての覚書 (1) - めもめも

    OpenShiftについて調べる機会があったので、覚書を残しておきます。まずは、全体像の説明から。 OpenShiftとは? OpenShiftは、Webアプリケーションを構築するためのPaaS環境を提供するものです。大きく、3種類の形態で提供されます(将来計画を含みます)。 OpenShift Online Red Hatがインターネット上のクラウドサービスとして提供する形態です。現在は、「Developer Preview」としてリソース制限のかかった無償版のみが提供されています。将来的には、従量課金の有償版も提供する予定とのことです。 OpenShift Origin OpenShiftのPaaS環境を構築するソフトウェア一式がオープンソースとして公開されています。Apache License 2.0の下に公開されていますので、これに従う範囲において、「OpenShift Onlin

    OpenShiftの内部構造についての覚書 (1) - めもめも
    yuiseki
    yuiseki 2013/01/09
  • PF_PACKETの仕組み - めもめも

    Software Design 2012年6月号の『「生」ネットワークプログラミング』が妙にツボにハマって面白かったのですが、さすがにあのページ数でPF_PACKETを語ると、ついていけない読者も多くて残念かも。 ということで、参考までに概要図を書いてみました。 C言語のソケットプログラミングをなんとなく勉強した方は多いと思います。ソケットは、カーネル内部のネットワークレイヤーとユーザ空間を結びつけるインターフェース(API)なわけですが、カーネル内部では、通常、上図(右側)の流れで受信パケットが処理されていきます。 物理NICが受け取ったパケットは、デバイスドライバがL2プロトコルの処理をして、さらにL3プロトコルの種類(IPv4/IPv6などの違い)の判別まで行います。 判別した結果に基づいて、適切なL3プロトコルのハンドラーが呼び出されて、L3プロトコルの処理をして、さらにL4プロト

    PF_PACKETの仕組み - めもめも
  • プロのためのLinuxシステム・10年効く技術 - めもめも

    「プロのためのLinuxシステム・10年効く技術」 の出版が決まりました。6月上旬に発売の予定です。 技術評論社の池公平氏をはじめ、執筆・出版にあたりお世話になった方々にはあらためて感謝です。<前書きより抜粋> 書は、企業システムでLinuxに関わるエンジニアの方、もしくはそれを目指す方に向けた書籍です。これまでにも『プロのためのLinuxシステム』と題する、2冊の書籍を出版させていただきましたが、書は少し色合いが異なります。先の2冊は、幸いにも「分かりやすくて充実した内容」との声をいただいていますが、体系的な学習を意図したために、どうしても割愛せざるを得ない、「現場テクニック」や「いざという時のための知識」がありました。そこで今回は、教科書的な体裁は二の次にして、初級〜中級のLinuxエンジニア向けに、筆者自身の生の声で、さまざまなLinuxシステム構築/運用の秘訣を伝授することに

    プロのためのLinuxシステム・10年効く技術 - めもめも
    yuiseki
    yuiseki 2012/05/25
  • 1