タグ

*algorithmと*programに関するsh19910711のブックマーク (381)

  • 仕組みの見えるScratchで遺伝的アルゴリズムを作る面白さ。「Scratchではじめる機械学習」( 石原 淳也、倉本 大資 著、阿部 和広 監修)|TAKASU Masakazu

    御礼。 僕は前職でテキストマイニングやレコメンドエンジンを使ったサービス構築をしていたので、決定木だの協調フィルタリングだのニューラルネットワークについてお客さんに説明したことはある。とはいえかなりブランクが空いていて、最近の知識はぜんぜんわからない。職業エンジニアだったのは20世紀の話なので、最近の「Pythonで..」的のやつは環境構築で二の足を踏んでしまう。(最近はラクになってそうだけど) このを読み始めたモチベーションは、Scratchよりも機械学習の知識をアップデートしたいからだ。 Scratchではじめる機械学習このの序盤はweb版のScracthに機械学習用の機能拡張を読み込ませる形で進む。プログラム一覧はオライリーの書籍サイトに載っている。 多くはGoogle等が公開している機械学習のチュートリアルをScratchと連携させて使うのだけど、紹介されているチュートリア

    仕組みの見えるScratchで遺伝的アルゴリズムを作る面白さ。「Scratchではじめる機械学習」( 石原 淳也、倉本 大資 著、阿部 和広 監修)|TAKASU Masakazu
    sh19910711
    sh19910711 2022/08/16
    良さそう / "Scratchの「どういう動作が行われているか、その言語に詳しくなくても理解しやすい」利点が生きている / 「距離が近づくことをどう計っているのか」などのプログラムを、手を動かしながら確認できる"
  • PyG (PyTorch Geometric) で MetaPath2Vec して Node2Vec と比較 - Qiita

    グラフ構造を深層学習する PyG (PyTorch Geometric) を Google Colaboratory 上で使ってみました。今回は、MetaPath2Vec を使うことがテーマです。Node2Vecとの比較も行ないました。 PyG (PyTorch Geometric) インストール PyG (PyTorch Geometric) のレポジトリは https://github.com/pyg-team/pytorch_geometric にあります。また、コードはチュートリアルドキュメント https://pytorch-geometric.readthedocs.io/en/latest/index.html を参考にしています。 import os import torch torch.manual_seed(0) os.environ['TORCH'] = torch.

    PyG (PyTorch Geometric) で MetaPath2Vec して Node2Vec と比較 - Qiita
    sh19910711
    sh19910711 2022/08/12
    "自作ネットワークを作成して、MetaPath2Vec でノードを潜在空間にプロットしたり、 Node2Vec と比較したりしました / torch_geometric.data.HeteroData / from torch_geometric.nn import MetaPath2Vec / torch_geometric.nn.Node2Vec"
  • D-Waveマシンで自然言語処理の問題をやってみました - Qiita

    ノートブック D-Wave Leapで簡単に量子アニーリングマシンに問題を解かせるようになったので、実際に使ってみました。ただ解くだけのはさみしいので、いろいろこじつけて実用を考えながら自然言語処理のToy問題を作ってやりました。 内容でいうと、word2vecで単語のグラフを作ってその上でmax cutやminimum vertex coverをD-Waveマシンにやらせました。 アニーリングマシンの原理はややこしいので個々では解説しません。ゲートマシンについてはこちらで基的なことを解説しています。 D-Wave Leapについて D-Waveの量子アニーリングマシンについて解説や学習資料、実際に動かすためのリソースなどをまとめたサービスです。詳細についてはこちらの動画がおすすめです。 D-Wave Leapに登録すると最初はいくぶんかの無料時間をもらえて実際にD-Waveのマシンで遊

    D-Waveマシンで自然言語処理の問題をやってみました - Qiita
    sh19910711
    sh19910711 2022/08/11
    2018 / "word2vecで単語のグラフを作ってその上でmax cutやminimum vertex coverをD-Waveマシンにやらせました / D-Wave Leap: お金で買うとなると今現在(2018年12月)1時間20万円、1分あたり350円ぐらいだそうです"
  • iPhoneで日本語OCR、文字認識が使える - Qiita

    文字認識をかんたんにつかえる iPhoneで文字認識できたら、板書の書き起こしや、標識認識アプリなど便利につかえます。 2022年のアップデートで日語が利用可能に 2022年のiOS16から、日語の文字認識が可能になりました。 組み込みのフレームワークのみで可能です。 精度もかなり良く、さまざまなアプリで実用に耐えるレベルだと個人的には思います。 つかいかた VisionのVNRecognizeTextRequestをつかいます。 recognitionLanguages に "ja" を指定します。 macOS13、Xcode14、iOS16以降が必要です。 let request = VNRecognizeTextRequest() request.recognitionLanguages = ["ja"] // 日語を指定 let handler = VNImageReques

    iPhoneで日本語OCR、文字認識が使える - Qiita
    sh19910711
    sh19910711 2022/07/22
    "iPhoneで文字認識できたら、板書の書き起こしや、標識認識アプリなど便利 / iOS16から、日本語の文字認識が可能になりました / 精度もかなり良く、さまざまなアプリで実用に耐えるレベルだと個人的には思います"
  • PyG (PyTorch Geometric) のデータセットを自作する - Qiita

    グラフ構造を深層学習する PyG (PyTorch Geometric) を Google Colaboratory 上で使ってみました。今回は、PyG (PyTorch Geometric)のデータセットを自作することがテーマです。自作ではなくベンチマーク用に用意してあるデータを用いる場合は過去記事をご覧ください。 日地図のデータ 題材として日地図のデータを用います。日語を matplotlib で表示するための準備をします。 Looking in indexes: https://pypi.org/simple, https://us-python.pkg.dev/colab-wheels/public/simple/ Collecting japanize-matplotlib Downloading japanize-matplotlib-1.1.3.tar.gz (4.1

    PyG (PyTorch Geometric) のデータセットを自作する - Qiita
    sh19910711
    sh19910711 2022/07/22
    "日本地図のデータ: 各市町村から、何番目(top - 1 番目)に近い市町村までに辺(edge)を引いた / 座標データとネットワークの接続関係を入力として、その市町村が「何地方なのか」を予測"
  • Teachable Machineでラーメン二郎の写真を学習させてみた - Qiita

    ヤサイマシマシニンニクカラメ 皆さん、ラーメン二郎はお好きでしょうか? ラーメン二郎は圧倒的なボリュームで人気のラーメン屋さんですね。 自分は以前の記事でも書いたようにラーメンが大好きなのですが、ラーメン二郎はたまに行くレベルです。 でもたまに無性にべたくなり、べに行ったら大体冒頭のコールで頼み楽しんでいます。 そんなラーメン二郎ですが、周りにもファンが多く、先日とある同僚が別の同僚に二郎の写真を見せたところ、それがどの店なのか言い当てるというシーンに出くわしました。 そこでふと思いつきました。 「二郎の写真を機械学習させたらどの店か見分けることができるようになるのか?」 という訳で、実際にやってみました! Teachable Machineで学習させてみた 自分で機械学習の環境を用意するのは大変なので、今回はTeachable Machineを使ってみました! (Teachable

    Teachable Machineでラーメン二郎の写真を学習させてみた - Qiita
    sh19910711
    sh19910711 2022/06/15
    "先日とある同僚が別の同僚に二郎の写真を見せたところ、それがどの店なのか言い当てるというシーンに出くわしました / サクッと各店舗20枚という少ないデータでどこまで精度が出るか試してみた / 正解率は 58.3%"
  • 機械学習を使って分かりづらい端子の名称を教えてくれる仕組みを作ってみた - Qiita

    皆さんこんにちは!現在会社のシステム部門で働いている会社員です。 突然ですが、端子の形状って多すぎだと思いませんか?USB端子もType-AとかCとか、2.0とか3.0があるし、ディスプレイに繋ぐケーブルもHDMI、DisplayPort、VGA等々、、、多いだけならまだしも、システム部門で働いているとこれらに関する問い合わせも来るのです。「このケーブルが何に使うかわからない」「このケーブルが欲しいんですけど」、と普段使っていない人からするとケーブルの名称なんかいちいち覚えてませんし、電話で形を説明されてもポカーンとなってしまいます。そこで、今回は機械学習を使って、端子の形状をカメラで写すと名称を教えてくれる仕組みを作ってみました。 こんな感じで作成することができました。それでは作成した方法をご紹介していきます。 使用ツール紹介 ・Google Teachable Machine(http

    機械学習を使って分かりづらい端子の名称を教えてくれる仕組みを作ってみた - Qiita
    sh19910711
    sh19910711 2022/06/06
    TensorFlow.jsで推論するためのURLも発行してくれるのか👀 / "Google Teachable MachineはGoogleが公開している機械学習ツール: 画像・音声・ポーズを学習させ、それらを判別するモデルを作成することができます"
  • ランチ最適化問題(バンディットアルゴリズム編) - rmizutaの日記

    はじめに 日々の生活を営む上で、ランチをどこでべるかということは非常に重要な問題です(2回目)。 前回はこの問題を最適停止問題と捉えて探索と活用の最適点探索を行いましたが、最適停止問題では一度見逃した店はもう選択できないという制約がありました。 飲店で考えると一度利用した店をもう一度利用することが可能なので、 この問いに対してはバンディットアルゴリズムを用いた方が適していると考えられます。 そのため今回はバンディットアルゴリズムを用いた場合の実験を行います。 参考図書 バンディット問題の理論とアルゴリズム ベイズ推論による機械学習入門 バンディットアルゴリズムについて 以下のスライドが分かりやすいです。 https://www.slideshare.net/greenmidori83/ss-28443892 バンディットアルゴリズムは例えばカジノのスロットマシーンのように、報酬が不明な

    ランチ最適化問題(バンディットアルゴリズム編) - rmizutaの日記
    sh19910711
    sh19910711 2022/06/04
    "人間には飽きがあるので、前回選択した店舗にはマイナス値の補正をかけるという方法をとるとより選択する店舗が分散するようになり実際のケースに近づけることができそう"
  • mutation testingについて考えた - Qiita

    mutation testingとは? 以下を参照 https://ja.wikipedia.org/wiki/%E3%83%9F%E3%83%A5%E3%83%BC%E3%83%86%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E8%A7%A3%E6%9E%90 コードのいろいろなところを改変して、テストがちゃんと壊れるか?を確認するテストです。 使ってみた rubyのmutantを使いました https://github.com/mbj/mutant 感想 俺たちは手動でよくやっている プログラムのいろいろな箇所を適当にいじってみることってよくあると思います。 目的は、バグのあるプログラムをとりあえずあてずっぽうで直してみるときや、テストがちゃんとfailすることを確認するときや、冗長な箇所を削ってみるときなど、いろいろあると思います。 mutation t

    mutation testingについて考えた - Qiita
    sh19910711
    sh19910711 2022/05/16
    2019 / "mutation testing: コードのいろいろなところを改変して、テストがちゃんと壊れるか?を確認する / GANのようにコードとテストを戦わせるような仕組みにしたら面白そう"
  • Social NetworksのEDAとLink Prediction 備忘録 - Qiita

    概要 ソーシャルネット分析に含まれるLink Predictionについて、その精度がトポロジーに依存するだろうことを実験で確認する。 実施期間: 2022年3月 環境:Ubuntu20.04 LTS パケージ:scikit network, networkx 1. パケージ 使用するモデルにはDirected Graphを指定する。 ソーシャルネットは誰が誰をフォローしているだとか、どのサイトがどのサイトのリンクを張っているかだとか、どの論文がどの論文をciteしたか、方向があることが普通。 しかし馴染みのnetworkxや、いろんなアルゴリズムを実装したnetworkitはDirected Graphに対応していないAPIが多すぎて使えないので、ここではscikit networkで評価する。 importするパケージは下記となる。 import numpy as np import

    Social NetworksのEDAとLink Prediction 備忘録 - Qiita
    sh19910711
    sh19910711 2022/05/06
    "networksciencebook: Social-net界では重鎮のBarabasi先生が作成 / 講義は有名なStanfordのCS224Wと、最近公開されたロシア国立HSEが勉強になった。前者はGNNが最終目的で後者はGraph theory全般の講義"
  • 安定マッチングを使ってお仕事の割り当てをした話 - Qiita

    こんにちは、記事は2021年BrainPadアドベントカレンダーの12日目の記事です。 今日は、面倒なお仕事の割り振りを、CPで安定マッチング問題を解くことで解決した話をします。 私の所属する会社には毎年新卒のデータサイエンティスト、機械学習エンジニアが沢山入ってきます1。様々なバックグラウンドの新卒が入って来るため、研修・育成は手厚いほうなのではないかと思います。そのなかのひとつに**「新卒1年目は毎日業務時間1hを使って課題図書を読んで勉強する」**というものがあり、6冊くらい統計学やパターン認識や数理最適化の教科書を読んでいます2。勉強することでお給料を貰っているわけですから、素晴らしい制度です。 さて、データサイエンスやら機械学習やらの分野は日進月歩で発展しており、教科書も毎年のように新しいが出版されております。新卒の勉強会でも読むをアップデートすべく、後輩に読んでもらう

    安定マッチングを使ってお仕事の割り当てをした話 - Qiita
    sh19910711
    sh19910711 2022/04/21
    "n人いてm冊の本を読みます。誰が何を読むかを決めたい / 制約: 普段一緒に仕事している人と同じ本の担当になるのは避けたい / 安定マッチングの応用としてよく出てくる例は学校選択とか"
  • ありがとう、Chainer。頼むぜPyTorch。 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 2019/12/5、PFNからChainerの開発を停止しPyTorchの開発に貢献するというアナウンスがありました。 Preferred Networks、深層学習の研究開発基盤をPyTorchに移行 オフィシャルな発表が出たことは衝撃的でしたが、心の中で「いつかはこうなるんじゃないか」という思いがあったのも事実です。さびしくはありつつも、決断にはベストな時期だったのではないかと思います。ここ最近は動的グラフをサポートしたTensorFlow 2.0の公開があり、機能的にほぼ差異がなくなった2大フレームワークの決戦がいよいよ始まる・・

    ありがとう、Chainer。頼むぜPyTorch。 - Qiita
    sh19910711
    sh19910711 2022/04/17
    "2019/12/5、PFNからChainerの開発を停止しPyTorchの開発に貢献するというアナウンスがありました / TensorFlow 2.0の公開があり、機能的にほぼ差異がなくなった2大フレームワークの決戦がいよいよ始まるという雰囲気"
  • AutoKerasを試してみた - Qiita

    機械学習業界では、時代はまさに『AutoML』と言えるような状況ですが、あのKerasにもAutoML対応のフレームワークが出たようです。 ※以前からあるようですが、最近新しくなったようです。 AutoKerasとは AutoKerasとは、テキサスA&M大学のDATA Labで開発された、AutoML対応のKerasモジュールになります。 誰もが機械学習にアクセスできることが目標とのことです。 条件 AutoKerasを動かすための条件は以下のようになっています。 Python 3.5以上 TensorFlow 2.1.0以上 以前はPyTorchを呼んでいたらしいのですが、今はTensorFlowベースとなっています。 インストール AutoKerasのインストールは簡単で、pip一発で終了です。 サンプル お馴染みのMNISTを実装してみると、以下のようなコードになります。 from

    AutoKerasを試してみた - Qiita
    sh19910711
    sh19910711 2022/04/14
    2020 / "AutoKeras: テキサスA&M大学のDATA Labで開発 / お馴染みのMNIST: モデルの作成が「ImageClassifier()」という関数だけ / 汎用的な識別機(AutoModel)も用意されています / 遅いので、パワフルなハードウェアが欲しくなります"
  • ニューラルネットワークでQRコードを解読する - プログラミング素人のはてなブログ

    QRコードとは2次元バーコードの一種で、スマホなどで読み取ることで、文字列やURLなどを取得できるものです。 www.keyence.co.jp QRコードは無料でweb上などのサービスで、好きな内容を書き込んだものを作ることもできます。 一方、その内容を読み取るのは専用のアプリ以外では簡単にはできません。 そんな、簡単ではないことに挑戦しているのが↓ nlab.itmedia.co.jp 仕組みさえわかれば肉眼でもって…。 そこで肉眼ではなく、我々人類の強い味方、「ニューラルネットワーク」で解読ができるか?ということに挑戦してみました。 ここではweb用のURLをQRコードに書き込んで、ニューラルネットワークで解読してみます。 ニューラルネットワークの構想ニューラルネットワークとしてはモノクロの画像に、URLの文字列のn番目、という情報を付加して分類問題として評価します。(もっとスマート

    ニューラルネットワークでQRコードを解読する - プログラミング素人のはてなブログ
    sh19910711
    sh19910711 2022/04/14
    "QRコード: 肉眼ではなく、我々人類の強い味方、「ニューラルネットワーク」で解読ができるか?ということに挑戦 / URLは最大で30文字とし、30文字未満のときはスペースをいれてpadding"
  • 映画「The Social Network」の脚本をNLTKで解析して遊んでみた - ぬいぐるみライフ?

    ※この記事には映画「The Social Network」のネタバレがそれなりに含まれています.これから映画を観る予定の方は逃げた方が賢明です. 最近ブログで宣言した通り,入門 自然言語処理を読みつつPythonのNLTK(Natural Language ToolKit)を使った自然言語処理について勉強中.入門 自然言語処理はPythonをロクに触ったことがない私でもちゃんと理解しながら読み進められるようになっているのが嬉しい. ところで,少し前に映画「The Social Network (ソーシャル・ネットワーク)」を観て,登場人物の台詞や行動がなかなか面白くて気に入ったのだけど,この脚映画の公式サイトで公開されていることを最近知った.映画の脚となると,特徴的な表現が多く文章数もそれなりにあるので,興味深いコーパスになり得るのではないかと思う. というわけで,NLTK習い立ての

    映画「The Social Network」の脚本をNLTKで解析して遊んでみた - ぬいぐるみライフ?
    sh19910711
    sh19910711 2022/04/04
    2011 / "場面ごとの登場人物の推移を可視化する / 脚本には各登場人物の台詞の前に,発言する人物の名前が大文字で書かれている / いろいろ思い出していたらもう一度映画を観たくなってきた"
  • RのContextualパッケージをいじってみた際のメモ書き – かものはしの分析ブログ

    都内の事業会社で分析やWebマーケティングの仕事をしています。大学・大学院では経済学を通じて統計解析を行うなどしておりました。企業に勤めてからは、機械学習やテキストマイニング、クローリング技術などに関心を持っています。 Twitterアカウント Mr_Sakaue( SKUE ) GitHub 読書メーター ほしいものリスト はじめに このブログの私の中での位置づけは、今後仕事で使いそうなものを調べて書き溜めるというところにあります。仕事で使っているものはブログに載せないというスタンスでもあるのですが、出来るだけ先回りしておきたいところです。今回は、昨年のJapan.RやTokyo.Rで紹介されていたcontextualパッケージを触ってみたというゆるふわな内容となっています。 目次 ・バンディット問題とは ・マーケティング関連でバンディット問題が役に立つ場面 ・バンディット問題で出てくる

    RのContextualパッケージをいじってみた際のメモ書き – かものはしの分析ブログ
    sh19910711
    sh19910711 2022/03/26
    "バンディットは昔ながらのスロットマシンが客からお金をむしり取ること(盗賊)にちなんでいる / 「神のみぞ知る真の報酬」と「あるスロットの報酬」がどれくらい外れているか / そのハズレ具合は許容できるのか"
  • 大規模サービスで効率よくレコメンドを提供するためにTensorflow Recommendersを活用する - DMM inside

    はじめに こんにちは、DMMで機械学習エンジニアをしている二見です。 2020年に新卒で入社し、普段は検索やレコメンドの改善に従事しています。 DMMでは50を超えるサービスを提供しており、様々なデジタルコンテンツを取り扱っています。 また、各サービスには多くのユーザーの膨大なデータが日々蓄積されてます。 我々のグループでは、それらのビックデータを活用した改善施策を行うことで、各事業部の成長に日々貢献しております。 記事では、新たにディープニューラルネットワークベースの先端的なレコメンドシステムを構築し、サービスに導入した事例を紹介したいと思います。 レコメンドエンジンの導入を検討している方・ニューラルネットベースのレコメンドに興味がある方の参考になれば幸いです。 目次 はじめに 目次 DMMにおけるレコメンドへの取り組み 背景 Tensorflow Recommendersとは 1.

    大規模サービスで効率よくレコメンドを提供するためにTensorflow Recommendersを活用する - DMM inside
    sh19910711
    sh19910711 2022/03/24
    "petastorm: Uber製のライブラリで、parquet形式のデータセットをTensorFlow、PyTorch、PySparkで扱うことができます / tf.data.Dataset形式でparquetファイルを読み込むことができます"
  • MuZeroを使って強化学習で遊ぶ - Qiita

    はじめに DeepMind が発表した MuZero という AlphaZero をより一般化した手法があります。ルールが明確な対人ゲームだけでなく、 Atariゲームのような一人用ゲームにも同じように適用できるというのが非常に強力で、性能もかなり高いようです。 (個人的に育休とか取っていたのもあって)1年くらいその存在すらしらず(...)、最近になってまたニュースになっていてやっと知ることができて、最近色々遊んでみているのでその共有をします。 すでに muzero-general という PyTorchベースの非常に素晴らしい実装のリポジトリが公開されているので、主にその紹介です。 muzero-general 良いところ 色々なゲームが最初から付いていて、自分で追加するのも非常に簡単にできる(1ファイル追加するだけ) Hyperparameterの調整も簡単 GPUが使えるなら使ってく

    MuZeroを使って強化学習で遊ぶ - Qiita
    sh19910711
    sh19910711 2022/03/19
    "MuZero: AlphaZero をより一般化 / 対人ゲームだけでなく、 Atariゲームのような一人用ゲームにも同じように適用できる / muzero-general という PyTorchベースの非常に素晴らしい実装のリポジトリが公開されている"
  • Tensorflowでブロック崩し - Qiita

    ##概要 機械学習のモデルをゲームに組み込むと、結果をグラフィカルにみることができて楽しい。そこで、Tensorflowでモデルを作成してゲームに組み込む。具体的には、Tensorflowで人の手によるプレイデータを用いてモデルを作成してブロック崩しをさせる。 洗練されたモデルなどにはこだわらず、てきとーなものをてきとーに作る。 Tensorflowでの基的なモデル作成は以下の記事で 適当にTensorflowを理解して、モデルを作ってみる(Tensorflow入門) 使用するブロック崩しは以下のリンク先のもの ブロック崩し ##動機 機械学習モデルに色々プレイさせる記事はよく見るが、実際に時間をかけずに適当に試してみたい。 精度や美しさを気にせずに、動く実感を得られるように動かすのが目的。 ##前提 今回使用するブロック崩しの概要は以下のようである。 パドルを動かしてボールを弾いて行く

    Tensorflowでブロック崩し - Qiita
    sh19910711
    sh19910711 2022/01/31
    "結果をグラフィカルにみることができて楽しい / 精度や美しさを気にせずに、動く実感を得られるように動かすのが目的 / パドルとボールの動きが定まってしまい、ブロックのない空間をずっと行き来するようになった"
  • PySpark: LightGBM on Sparkを使ってみる - Qiita

    SynapseMLとは Spark上で大規模データセットを用いた機械学習を効率よく行うために設計されたライブラリ。 Microsoftによって公開されており、最近MMLSparkからSynapseMLに名前が変わった。 SynapseMLを使うことでSpark上でLightGBMの使用が可能になり、 HiggsデータセットにおいてはSparkMLより10-30%高速で、AUCは15%向上することが検証されている。 SynapseMLをDatabricksにインストールする方法 Library Sourceとして「Maven」を選択 Coordinatesに「com.microsoft.azure:synapseml_2.12:0.9.4」を入力 Repositoryに「https://mmlspark.azureedge.net/maven」 を入力 「Install」ボタンを押下 Sam

    PySpark: LightGBM on Sparkを使ってみる - Qiita
    sh19910711
    sh19910711 2022/01/15
    SynapseML / "Spark上で大規模データセットを用いた機械学習を効率よく行うために設計されたライブラリ / Microsoftによって公開されており、最近MMLSparkからSynapseMLに名前が変わった"