タグ

関連タグで絞り込む (534)

タグの絞り込みを解除

Algorithmとalgorithmに関するmanabouのブックマーク (720)

  • 強化学習事例集 by Team AI - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? #はじめに 強化学習の時代が来ようとしています。 Team AIの研究会でも、現状ゲームAIとロボティクスに偏りがちな事例を、 もっと多くの産業に広げていきたいと日々議論しています。 今日はそんな強化学習業界の発展に寄与すべく、事例集を日語訳していきたいと思います。 エンジニアの皆様のヒントになりましたら幸いです。 元情報; http://umichrl.pbworks.com/w/page/7597597/Successes%20of%20Reinforcement%20Learning https://sites.ualberta

    強化学習事例集 by Team AI - Qiita
  • フロントエンドの画像軽量化まとめ【2017年版】 - KAYAC Engineers' Blog

    こんにちは、面白法人カヤック フロントエンドエンジニアのごんです! 今回は、Webの画像の軽量化について、フロントエンドチームで使ってるツールややり方をまとめてみました。 画像の軽量化などで困ってる方の参考になればと思います。 なぜ画像の軽量化をするのか Webサイトのローディング時間は、ユーザーの直帰率やコンバージョン率に関わる大切な指標です。 ローディング時間に関わる要因はさまざまですが、 特に画像は容量が大きいため、画像の軽量化をすることで表示速度の大きな改善を望むことが出来ます。 例えば、当ブログのある記事は、画像が全体の容量の約1/3を占めていました。 一般に、PhotoshopやIllustratorから出力された画像は、十分な色数やクオリティで出力されており、 ツールなどを使うことで、見た目をそれほど損なわず、容量を大幅に減らすことができます。 また、一部の画像形式には、メタ

    フロントエンドの画像軽量化まとめ【2017年版】 - KAYAC Engineers' Blog
  • kuromoji.jsで形態素解析した結果とテキストの関係をビジュアライズする

    azu/text-map-kuromoji: テキストを形態素解析した結果とテキストの関係をビジュアライズするエディタというツールを作った話。 くだけた表現を高精度に解析するための正規化ルール自動生成手法という論文誌では、「ヵゎぃぃ」,「ゎた Uゎ」みたいな普通の形態素解析では未知語として検出されるものをどうやって正規化していくかという話が書かれていました。 これを読んでいて面白かったのは形態素解析をした結果の未知語となった部分と穴埋め的にパターンを作って、そのパターンにマッチする同じようなテキストを探すというアプローチでした。 プログラミング言語と違って、大抵の自然言語パーサはパース失敗ではなく、単なる未知な言葉として検出されます。 また、その未知な言葉は常に増えていて、さきほどのくだけた表現を高精度に解析するための正規化ルール自動生成手法によると手動では登録できない増加量らしいです。

    kuromoji.jsで形態素解析した結果とテキストの関係をビジュアライズする
  • SQLトランザクション分離 実践ガイド | POSTD

    (注:2017/10/16、いただいたフィードバックを元に翻訳を修正いたしました。) (注:2017/10/11、いただいたフィードバックを元に翻訳を修正いたしました。) データベースのドキュメントで分離レベルを目にして、軽く不安を感じつつ、あまり考えないようにしたことはないでしょうか。トランザクションの日常の使用例できちんと分離について言及しているものはほとんどありません。多くはデータベースの初期設定の分離レベルを利用しており、後は運頼みです。しかし、来、理解しておくべき基的なトピックであり、いくらか時間を投入してこのガイドの内容を学習すれば、もっと快適に作業できるようになるでしょう。 私はこの記事の情報を学術論文、PostgreSQLドキュメンテーションから集めました。分離レベルの 何たる かだけでなく、適用の正確さを保持しつつ最大速度で使うにはいつ使うべきか、という疑問に答えるべ

    SQLトランザクション分離 実践ガイド | POSTD
  • 差分検出アルゴリズム三種盛り - Object.create(null)

    こんばんは. 気がつけばもうずいぶんと涼しくなってきました. 勢い余って凍ってしまったりせぬよう, くれぐれも普段の言動にはお気をつけください. はじめに さて, 我々人類にはどうしても二つの文字列 (あるいは行ごとに区切られたテキスト) 間の差分を求めなければいけない瞬間が発生します. 先人たちはそういった時のために diff のようなツールを開発し, それを利用することで文明はめざましい発展を遂げてきました. しかしながら, 使用するアルゴリズムを比較検討したい場合, 「差分」の定義を変えるなどして既存のアルゴリズムに変更を加えたい場合, diff のない異世界に飛ばされて自分で実装しなければいけない時などにおいては, 差分検出アルゴリズムについての理解が必要不可欠です. というわけで, この記事では文字列間の差分検出とは何かということと, 差分を求める三種類のアルゴリズムの紹介・解説

    差分検出アルゴリズム三種盛り - Object.create(null)
  • SymSpell対BK木:100倍速い文字列のあいまい検索とスペルチェック | POSTD

    注釈:500,000単語収録の辞書内における1,000単語の検索時間 X:最大編集距離 Y:検索時間/ms 従来、スペル修正や文字列のあいまい検索には、 BK木 が適していると言われてきました。しかし、これは当でしょうか。 また、 スペル修正に関する私のブログ に寄せられたコメントには、BK木が、あいまい検索のためのデータ構造として優れていると言及されていました。 そのような経緯から、今回、BK木と他の選択肢のベンチマークを取って比較してみようと思い立ったわけです。 近似文字列検索アルゴリズム 近似文字列検索では、文字列リスト内の文字列を検索し、特定の 文字列メトリック に従って、それに近い文字列を返します。 文字列メトリックは多数あり、例えば レーベンシュタイン距離 、 Damerau-Levenshtein距離 、 ハミング距離 、 ジャロ・ウィンクラー距離 、 Strike a m

    SymSpell対BK木:100倍速い文字列のあいまい検索とスペルチェック | POSTD
  • 画像処理の数式を見て石になった時のための、金の針 - Qiita

    $k$は定数で、だいたい0.04~0.06くらいです。Rの値によって以下のように分類できます。 Rが大きい: corner Rが小さい: flat R < 0: edge 図にすると、以下のようになります。 CSE/EE486 Computer Vision I, Lecture 06, Corner Detection, p22 これで手早くcornerを検出できるようになりました。ここで、corner検出についてまとめておきます。 cornerは複数のedgeが集まる箇所と定義できる 変化量をまとめた行列の固有ベクトルからedgeの向き、固有値の大きさから変化量の大きさ(edgeらしさ)がわかる 2つの固有値の値を基に、edge、corner、flatを判定できる 固有値の計算は手間であるため、判定式を利用し計算を簡略化する なお、Harrisはedgeの向きである固有ベクトルを考慮す

    画像処理の数式を見て石になった時のための、金の針 - Qiita
  • AutoLayout Algorithm

    iOSDC 2017 (Sep 16, 2017) https://iosdc.jp/2017/node/1317 Library: https://github.com/inamiy/Cassowary

    AutoLayout Algorithm
  • Roulette Tree

  • ICFP Programming Contest 2017 参加記 - Fixstars Tech Blog /proc/cpuinfo

    このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。 皆さん、こんにちは! エンジニアの二木です。今回は ICFP Programming Contest (ICFPC) への参加記です。 フィックスターズとICFPC ICFPCとは国際関数型言語学会(The International Conference on Functional Programming; ICFP)の主宰するプログラミングコンテストで世界各国が参加する国際規模のイベントになります。毎年夏ごろに開催され、期間は3日間のチーム戦で、最初の1日目までの提出プログラムで競う部門(Lightning contest)と3日間すべてを使って競う部門(Full contest)の2部門があります。 問題を解くために72時間が与えられますが、難易度は総じて高く、アルゴリズム開発、

    ICFP Programming Contest 2017 参加記 - Fixstars Tech Blog /proc/cpuinfo
  • Yahoo!の異常検知フレームワーク"EGADS"

    Yahoo!がOSSとして開発している異常検知フレームワーク "EGADS" (Extensible Generic Anomaly Detection System) について書いた次の論文を読んだ: Generic and Scalable Framework for Automated Time-series Anomaly Detection (KDD 2015) リアルタイムなデータをモデリングする種のアルゴリズムの実装とはどうあるべきなのか、という話は難しい。 僕も異常検知や情報推薦のためのアルゴリズムをパッケージ化してみてはいるものの、 時系列データの入力、モデリング、予測、出力といったコンポーネントをいかに切り分けて実装するか バッチとオンラインアルゴリズムのバランスをいかに取るか どこまで自動化して、どこにヒューリスティクスを取り入れる余地を残すか といった点は当に悩ま

    Yahoo!の異常検知フレームワーク"EGADS"
  • 動くようにする、正しくする、速くする。 - Qiita

    今までに扱ったことの無い分野で新規開発をする場合、いろんな問題が出てくるだろう。そのようなときに、何をどうすればよいのか迷うことがあるだろう。そのようなときに、複数の課題があるときに、何をどの順序で解決していけばよいのか迷うこともあるだろう。 私が心がけているのは、「動くようにする、正しくする、速くする。」の順序で物事の優先順位をもって考えてようにしていることです。この内容は何かので読んだことからきている。何かしら動かないうちは、正しくすることもできないし、正しくなっていないうちは、速くすることに意味がない。 物事を解決する際に、全てのことが同時に解決することは少ない。 前に経験を積んだことのある分野の近くでは、動いて正解率もそれなりに高くて、メモリ消費や処理時間が少ないもの1回目の挑戦で作れることがあったりもするが、それは極めてまれなことだ。 1. 何かしら既存の技術をまねて、「動くよ

    動くようにする、正しくする、速くする。 - Qiita
  • Luceneでレーベンシュタイン距離を求める - CLOVER🍀

    先日、Apache Solrを使った「もしかして検索」や単語のサジェストみたいなところを調べていて、「レーベンシュタイン距離」なるものがあることを知りました。 レーベンシュタイン距離 - Wikipedia このあたりも参考になりました。 編集距離 (Levenshtein Distance) - naoyaのはてなダイアリー スペルミス修正プログラムを作ろう また、Luceneで行った場合のエントリも。 2つの文字列間の距離計算の抽象化(スペルチェック)(2.4) | 関口宏司のLuceneブログ SolrのSuggesterを試してみる Wikipediaによれば、レーベンシュタイン距離は2つの文字列がどの程度異なっているかを示す距離で(編集距離)、文字列を何回の手順でもう片方の文字列とするように変形できるか、という感じみたいです。 同じく、Wikipediaのまんまですが、「kitt

    Luceneでレーベンシュタイン距離を求める - CLOVER🍀
  • 典型的な DP (動的計画法) のパターンを整理 Part 1 ~ ナップサック DP 編 ~ - Qiita

    はじめに --- DP は役に立つ はじめまして。NTTデータ数理システムでアルゴリズムを探求している大槻 (通称、けんちょん) です。 好きなアルゴリズムは最小カットやマッチングですが、会社ではなぜか「DP が好きな人」と呼ばれています。 巷ではよく「DP なんて実務では使わない」といった言説が定期的に流れますが、そんなことはないです。僕自身この 2 年間で DP が使える実務案件に 3 件くらい関わりました! それはともかくとして、DP を学び立ての方がよく抱く悩みとして「バリエーションが多すぎて混乱するし、統一的なフレームワークがほしい」というのがあります。確かに DP のバリエーションは非常に多岐にわたるのですが、そのほとんどが以下の 3 つのフレームワークで説明できると思います: ナップサック DP 区間 DP bit DP 今回はこのうちのナップサック DP について、とにかく

    典型的な DP (動的計画法) のパターンを整理 Part 1 ~ ナップサック DP 編 ~ - Qiita
  • Min-Max類似度のためのSketchSortの実装 (SketchSort-MinMax)を公開しました - Yasuo Tabeiの日記

    SketchSortとは全ペアー類似度検索(与えられたデータセットからすべての類似するデータペアーを発見する問題)を高速に解くためのソフトウェアーで、以前に論文とソフトウェアーを公開しました。 論文: Yasuo Tabei, Takeaki Uno, Masashi Sugiyama, Koji Tsuda: Single Versus Multiple Sorting in All Pairs Similarity Search, The 2nd Asian Conference on Machine Learning (ACML), Tokyo, Japan, 2010. ソフトウェアー: https://code.google.com/archive/p/sketchsort ブロブ記事: http://d.hatena.ne.jp/tb_yasu/20100911/1284207

    Min-Max類似度のためのSketchSortの実装 (SketchSort-MinMax)を公開しました - Yasuo Tabeiの日記
  • 変分ベイズを使って変化点検知をしてみる - 作って遊ぶ機械学習。

    おつかれさまです.今回は簡単なメッセージ受信数のデータを使って,変分ベイズによる変化点検知をやってみたいと思います.なお,今回使うデータやモデルは下記のPyMCの入門書を参考にしています*1. Pythonで体験するベイズ推論-PyMCによるMCMC入門-キャメロン-デビッドソン-ピロン このでは推論にMCMCを使っていますが,今回はモデルはそのまま流用し,同じことを実現する変分ベイズによる近似推論を導いてみます. 一般的には変分ベイズの方が計算が高速なので,MCMCの性能に満足できない場合などは変分ベイズは良い代替手法になり得ます.また,今回紹介する例は,過去に紹介した混合モデルを使った例よりも比較的シンプルですので,変分ベイズの入門題材にはちょうど良いんじゃないかと思っています. MCMCによる変化点検知 ・メッセージ受信データ PyMCでは次のような「ある期間で受信したメール数」

    変分ベイズを使って変化点検知をしてみる - 作って遊ぶ機械学習。
  • LightGBMをGPUで速度検証 - tkm2261's blog

    LightGBMとは Microsoftが公開しているGradient Boosting Decision Tree(GBDT)の実装です。 github.com GBDTの実装で一番有名なのはxgboostですが、LightGBMは2016年末に登場してPython対応から一気に普及し始め、 最近のKaggleコンペではxgboostよりも、Winning Solutionで多く見る気がしています。 私もQuoraコンペではお世話になりました ニートなので金がない 在職中は会社のマシンで回してたりしたので、気軽に32コアぐらい使ってましたが、 ニートで自費で借りると破産しかねないのでGPUで高速にならないかなーと思って検証しました。 環境構築 AWSのp2.xlargeでAnaconda3系使って検証しました。 基はここに従います。 LightGBM/GPU-Tutorial.md a

    LightGBMをGPUで速度検証 - tkm2261's blog
  • CVPR 2017でのコンピュータビジョン研究の最新動向

    コンピュータビジョンとパターン認識の国際会議CVPR 2017に、CyberAgentからアドテクAI Lab所属の山口、大田、谷口の3名が聴講参加してきました。CyberAgentアドテク部ではエンジニア、リサーチ関連職の技術レベルの向上を目的に、学術会議への参加や論文投稿を行なっております。今回の記事では今年のCVPRでの研究の最新動向についてお伝えします。 CVPRについて 研究動向 物体検出 深層学習モデルの解釈 マルチタスク学習 広告応用 クリエイティブ VQA対話モデル おわりに CVPRについて CVPR 2017 公式サイト CVPRはICCV/ECCVとともにコンピュータビジョン研究のトップ会議で、世界中の研究者が毎年一堂に集まり研究討論を行います。学術関係者だけでなく、近年は企業向けにトレードショーのようなEXPOも併催されるようになっています。 CVPR 201

    CVPR 2017でのコンピュータビジョン研究の最新動向
  • ディリクレ過程混合モデルによるクラスタリング(実践導入編) - Fixstars Tech Blog /proc/cpuinfo

    このブログは、株式会社フィックスターズのエンジニアが、あらゆるテーマについて自由に書いているブログです。 前回の続きから 前回、前々回でディリクレ過程混合モデルによるクラスタリングの手法について見てみました。今回は、実際にデータを使ってクラスタリングしてみたいと思います。前回の最後にクラスタリングの具体的手順を記載したのですが、具体的と言いつつコードに落とし込めるレベルにはなっていなかったので、今回はコーディングできるレベルでの手順を示したいと思います。 実データで実験を行うためには、$G_0$ の形を具体的に決める必要があります。$G_0$ はクラスタパラメータ $\boldsymbol{\theta}$ を生成する確率密度関数です。クラスタに所属するデータは正規分布に従うものとしましょう。そうすると、クラスタパラメータは正規分布の平均 $\boldsymbol{\mu}$ と共分散 $

    ディリクレ過程混合モデルによるクラスタリング(実践導入編) - Fixstars Tech Blog /proc/cpuinfo
  • 2nd Hackarade: Machine Learning Challenge - クックパッド開発者ブログ

    研究開発部の菊田(@yohei_kikuta)です。機械学習を活用した新規サービスの研究開発(主として画像分析系)に取り組んでいます。 最近読んだ論文で面白かったものを3つ挙げろと言われたら以下を挙げます。 Why does deep and cheap learning work so well? Universal adversarial perturbations Understanding deep learning requires rethinking generalization 以前ブログで紹介した Hackarade: MRI Internal Challenge ですが、その第二回として機械学習を題材にしたハッカソンが七月末に開催されました。 Hackarade ではエンジニアにとって長期的に有益となる技術を題材にしようという想いがあります。 今回はクックパッドの研究

    2nd Hackarade: Machine Learning Challenge - クックパッド開発者ブログ