タグ

アルゴリズムに関するkoma_gのブックマーク (103)

  • コーディング面接とSnakeゲームに唯一共通すること | POSTD

    80年代か90年代に生まれた方ならおそらく、「Snake」というゲームのことをご存じでしょう。「ご存じ」とはつまり、Nokia 3310のちっぽけな画面上でたわいもない巨大ヘビを育てるのに膨大な時間を費やしていたのではないかということです。Nokiaの携帯電話について、皆さんは他にどんな特徴を覚えていますか? バッテリーが長持ちしたことではないでしょうか。 Nokiaはとても”原始的な”携帯電話であったにもかかわらず、バッテリーを使い果たすことなくSnakeゲームで何時間も遊べたのは、どういう訳だったのでしょう? 理由の大部分は、優れた強固なコンポーネントのおかげでした。しかし、貢献度はそれより低く、あまり語られることもありませんが、スライディングウィンドウと呼ばれる手法も長時間のプレイに役立っていたのです。 Snakeだけを扱った記事を1書きたいのは山々ですが、実は記事では後者の、魅

    コーディング面接とSnakeゲームに唯一共通すること | POSTD
  • 初心者でも機械学習の基本的なアルゴリズムを学べる11のスライド - paiza times

    Photo by fdecomite こんにちは。谷口です。 最近、機械学習の勉強をしている人や、機械学習関連の求人が増えてきましたね。弊社のエンジニアにも、機械学習を勉強中の人達が何人かいます。 ただ、初心者だと「機械学習を勉強したいけど、難しいし何から手を付けたらいいのかよくわからない」という人も多いかと思います。 そこで今回は、機械学習の勉強を始めたばかりという初心者の方向けに、機械学習でよく使われるアルゴリズムがわかるスライドをいくつかご紹介します。 ■機械学習以前 そもそも「機械学習で何ができるのか・どんなものなのか知りたい」という段階の人が機械学習の概要をつかむには、このあたりのスライドが参考になるかと思います。 If文から機械学習への道 from nishio www.slideshare.net 機械学習入門以前 from mrtc0 www.slideshare.net

    初心者でも機械学習の基本的なアルゴリズムを学べる11のスライド - paiza times
  • 2値化 (binalization)

  • OpenCV - 大津の手法/判別分析法 - Pynote

  • 判別分析法(大津の二値化) 画像処理ソリューション

    判別分析法【discriminant analysis method】は大津の二値化とも言われ、分離度(separation metrics)という値が最大となるしきい値を求め、自動的に二値化を行う手法です。 分離度はクラス間分散(between-class variance)とクラス内分散(within-class variance) との比で求める事ができ、以下の様に求める。 しきい値 t で二値化したとき、しきい値よりも輝度値が小さい側(黒クラス)の画素数をω1、 平均をm1、分散をσ1、輝度値が大きい側(白クラス)の画素数を画素数をω2、平均をm2、 分散をσ2、画像全体の画素数をωt、平均をmt、分散をσtとしたときクラス内分散σw2は クラス間分散σb2は としてあらわす事ができる。 ここで、全分散(total variance)σtは としてあらわす事ができることから、求める

  • 【機械学習初心者向け】scikit-learn「アルゴリズム・チートシート」の全手法を実装・解説してみた - Qiita

    scikit-learnのアルゴリズム・チートシートで紹介されている手法を全て実装し、解説してみました。 注釈 記事シリーズの内容は、さらに丁寧に記載を加え、書籍「AIエンジニアを目指す人のための機械学習入門 実装しながらアルゴリズムの流れを学ぶ」 として、出版いたしました。 概要 scikit-learn アルゴリズム・チートシート 【対象者】機械学習を使用したい方、初心者向けの機械学習を読んで少し実装してみた方 scikit-learnの説明は英語で分かりにくいし、実装例もシンプルでなくて、よく分からんという方 【得られるもの】模擬データを用いて、各手法を使用したミニマム・シンプルなプログラムが実装できるようになります。 アルゴリズムの詳細な数式は理解できませんが、だいたい何をやりたいのか、意図と心、エッセンスが分かります。 アルゴリズムマップの手法をひとつずつ実装・解説します。

    【機械学習初心者向け】scikit-learn「アルゴリズム・チートシート」の全手法を実装・解説してみた - Qiita
  • 機械学習エンジニアが知るべき10のアルゴリズム

    前回の投稿から大分時間が空いてしまいましたが、現在マーケティング部では、データサイエンスに関する知識を深めるために海外のデータサイエンス記事を翻訳するという取り組みを行っています。主に、KDnuggetsというサイトで紹介されている記事で人気のあるものを中心に選び、原著者より翻訳の許諾をいただけた記事を公開しております。不定期ですが、データサイエンスに関心のある皆様により良い情報を日語でお届けできるように取り組んで参ります。 初回に取り上げたい記事はJames Le氏の「The 10 Algorithms Machine Learning Engineers Need to Know」です。機械学習の手法が網羅的に紹介されており、実用例も示されています。初めて機械学習に取り組む方のご参考になれば幸いです。 SOURCE https://gab41.lab41.org/the-10-alg

    機械学習エンジニアが知るべき10のアルゴリズム
  • 一端のゲームエンジニアが"エレベータ"について本気出して考えてみた - KAYAC engineers' blog

    こんにちは。技術部サーバーサイドエンジニアの大河原です。 ゲーム作ってます。一応まだ新卒です。 こちらはTech KAYAC Advent Calendar 2017 の23日目の記事になります。 (昨日の記事は我らが@commojunの「新卒一年間で確立した紙のノート仕事術!」でした。) ちなみに前回僕が書いた記事はカヤックのエンジニアのエディタ事情 2017 です。こちらもよかったら是非。 今回は普段から僕らが利用しているエレベータとエレーベータのアルゴリズムについて調べてみました。 ポルトガル・リスボンの観光地でもあるサンタ・ジュスタのエレベーター。上の展望台からはリスボン市街地を一望できる。 ■ なんでエレベータ? 言うまでもなく、弊社はエレベータを設計したり製造したりしていません。← これといった大きな理由はないんですが、僕自身昔から電化製品とか電子機器とか見るとその性能よりも「

    一端のゲームエンジニアが"エレベータ"について本気出して考えてみた - KAYAC engineers' blog
  • エレベータに見るアルゴリズムの性能と公平性のバランス|Rui Ueyama

    現実世界でもコンピュータの中でも、何らかの性能指標だけを追求すると参加者にとって極端に不公平になってしまうことがある。例えばエレベータとHDDは共通点がありそうに思えないが、この2つは性能特性的にとてもよく似ていて、リーズナブルな性能と公平性を両立させるために同じ制御方法が使われている。これについてちょっと説明してみよう。 1基しかない場合のエレベータの動き方は単純だ。一度上に動き出すと、上で待ってる人や降りる人がいる限り上昇し続ける。同じように、一度下に動き出すと、下で待っている人や降りる人がいる限り下降し続ける。これ以外の動き方をするエレベータはまず存在しないので、これが唯一の制御方法のように思えるけど、別にこうしなければいけないというルールはない。 エレベータの平均待ち時間を最適化することを考えてみよう。そうすると、一方向に動き続ける代わりに、エレベータが現在存在する階に一番近い人の

    エレベータに見るアルゴリズムの性能と公平性のバランス|Rui Ueyama
  • 進化は限界に近づいている、エレベーターのアルゴリズム

    アルゴリズムは「何らかの問題を解決する手順」を指し、アルゴリズムの良しあしでソフトウエアの性能が決まってくる。私たちの生活は、高度なアルゴリズムで実装されたソフトウエアに支えられている。そこで特集ではエレベーターや信号機といった身近なアルゴリズムを例に、その一端を見ていこう。今回は、最新エレベーターのアルゴリズムを紹介する。 前回は、エレベーターに使われているアルゴリズムの基を解説した。主に「長待ち率」と「平均待ち時間」を考慮してアルゴリズムが作られていることが分かっただろう。最新のエレベーターは、これに加えてより最適な配車を目指し、アルゴリズムにも工夫を凝らしている。 その代表が、時間帯を考慮したアルゴリズムだろう。エレベーターは一般に、時間帯によって利用状況が異なる場合が多い。例えば朝の出社時間帯はロビーから上位階に昇る人が増える一方、終業時間帯は上位階からロビー階へと降りる人が増

    進化は限界に近づいている、エレベーターのアルゴリズム
  • 青の時間はこうして決まる、信号機のアルゴリズム

    アルゴリズムは「何らかの問題を解決する手順」を指し、アルゴリズムの良しあしでソフトウエアの性能が決まってくる。私たちの生活は、高度なアルゴリズムで実装されたソフトウエアに支えられている。そこで特集ではエレベーターや信号機といった身近なアルゴリズムを例に、その一端を見ていこう。今回は、信号機のアルゴリズムの基を紹介する。 「朝はいつも赤になっている信号が、夜はなぜか青が多い」と感じたことはないだろうか。実は、信号機が青に変わるまでの時間は、いつも同じではない。交差点の交通量から最適な青時間を割り出している。この計算には、高度なアルゴリズムで実装されたプログラムが動いている。そこで今回は、信号機を制御するアルゴリズムに焦点を当てよう。 具体的なアルゴリズムを見ていく前に、信号機の青時間がどのように決められているのかを解説する。信号の青時間を決めるには「重要な要素が3つある」(住友電気工業

    青の時間はこうして決まる、信号機のアルゴリズム
  • 畳み込みニューラルネットワークすごさを従来の機械学習のアルゴリズムと比較する - Qiita

    畳み込みニューラルネットワーク(CNN)が画像判別でよく使われるというのは知っていても、従来の機械学習アルゴリズムと比較してどれぐらいすごいものなのかというのがいまいちピンとこなかったので確認してみました。だいぶ長いよ! 概要 機械学習のアルゴリズムとして、ディープラーニングが出る前は例えばロジスティック回帰、サポートベクトルマシン、ランダムフォレストなどがありました。従来の手法というと漠然としますが、Scikit-learnでできるアルゴリズムと考えてよいです。これらの手法は現在でも有効で、これらのどれを使っても、手書き数字(MNIST)に対して最低でも8割、ちゃんと実装すれば9割の精度は出ます。Scikit-learnはとても使いやすいライブラリで、学習効率・実装効率ともによく、計算が比較的簡単なので高速です。逆にその段階で9割近く出ちゃうと、「学習が大変で処理も遅いディープラーニング

    畳み込みニューラルネットワークすごさを従来の機械学習のアルゴリズムと比較する - Qiita
  • 「1量子ビットしか使えない量子コンピューターでも古典コンピューターより強かった」とは実際どういうことなのか解説してみた - めもめも

    何の話かというと 先日、 www.jst.go.jp ・・・というプレスリリースのタイトルを見て、 当に 1qbit だけで動作する(有意な)計算モデルがあるのか!? と一瞬驚愕したのですが、よくよく論文を読んでみると、「初期状態を 0 に設定できるのが 1qbit だけで、その他の n qbit はランダムに初期化される」という量子計算モデル(DQC-1)についての話だと分かりました。 (参考)Impossibility of Classically Simulating One-Clean-Qubit Computation というわけで、冒頭のタイトルは私の中で、「(1量子ビットを除いて)ランダムに初期化される量子ビットを用いて(古典コンピューターではシミュレーションが困難と考えられる)有意な量子計算を実行するテクニックが考案された」というタイトルに脳内変換されて納得したわけですが

  • NUPSC招待講演:アルゴリズムで広がる世界

    「金融予測アルゴリズムを評価するときに、あまり一般的ではないけども自分としては皆に気にかけてほしいこと」を伝えたいと思い MarketTech Meetup #01 (https://alpaca.connpass.com/event/108066/) で話したときのスライドです

    NUPSC招待講演:アルゴリズムで広がる世界
  • 特集!知らないと損をする計算量の話 - Qiita

    1. はじめに 今回は実務プログラミングにおいて知らず知らずのうちに遅いコードになっていそうな例をいくつか挙げて、それを計算量の観点から高速化してみたいと思います。 2. 計算量を意識することにどんな意味があるか 身近な例として、Qiita Contribution ランキングの作成を考えてみましょう。ランキングを作成するためには、各ユーザーの Contribution 数を大きい順に並び替える処理、すなわちソートが必要になります。 Qiita ユーザー数は現在およそ $30$ 万人です。標準ライブラリの sort を用いれば、それほどの計算時間はかからないと思います。しかし仮にこれを愚直な sort アルゴリズム (例えば、挿入ソートやバブルソートなど) で実行したら恐ろしいことになります。 愚直なソートは、並び替える要素の個数の 2 乗に比例した時間がかかります。すなわち $n$ を並

    特集!知らないと損をする計算量の話 - Qiita
  • アルゴリズムとは何か!? ~ 文系理系問わず楽しめる精選 6 問 ~ - Qiita

    今の場合は A さんが 31 歳の場合のストーリーでしたが、A さんが 20 歳~ 35 歳のうちのどの年齢であったとしても、似たようなストーリーで必ず 4 回の質問で当てることができます!(他の例も是非考えてみてください。) ちなみに、このような「真ん中で切ってどちらかに絞って行く」タイプのアルゴリズムには二分探索法という名前がついています。応用情報技術者試験でも頻出のテーマですので馴染みのある方も多いと思います。 1-2. つまり、アルゴリズムとは 上の年齢当てゲームという問題では、相手の年齢を当てる「方法・手順」を二分探索法に基づいて導きました。このようにアルゴリズムとは、 問題を解くための方法・手順 のことです。さて、アルゴリズムと聞くと「コンピュータ上で実装されたプログラム」のことを思い浮かべる方も多いと思いますが、必ずしもコンピュータと関係がある必要はなく、日常生活でも多々登場

    アルゴリズムとは何か!? ~ 文系理系問わず楽しめる精選 6 問 ~ - Qiita
  • ビット演算 (bit 演算) の使い方を総特集! 〜 マスクビットから bit DP まで 〜 - Qiita

    はじめに はじめまして。 NTTデータ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 C や C++ を使用しているとしばしばビット演算を行う場面が出て来ます。 計算機リソースが限られている状況では、ビットを用いることでデータ量を少なく済ませたり、計算コストを小さく抑えたりすることができるメリットがあります。 記事では、ビット演算を用いて実現できる処理について、簡単なものから高度なものまで集大成します。極力わかりやすく頑張って執筆しました。特に前半 4 つはビットの説明の中でもかなりわかりやすい方だと思います。後半の 7 つのテーマは比較的高度なアルゴリズムの話題ですので、フラグ管理やマスクビットについて詳しく学びたい方は前半 4 つを中心に読んでいただいて、後半 6 つは必要に応じて読んでいただければと思います。反対にビットの知識はあってビットを用いたアルゴリズ

    ビット演算 (bit 演算) の使い方を総特集! 〜 マスクビットから bit DP まで 〜 - Qiita
  • 秘書問題(お見合い問題)とその解法 | 高校数学の美しい物語

    kkk 人目まで無条件で断り,k+1k+1k+1 人目以降で「今までで一番いい人」が現れたら交際する,というタイプの戦略(戦略 SkS_kSk​ と呼ぶ)を取ることにします。直感的に自然な戦略です。 kkk をどのように定めればよいかを考えます。 ttt 人目に一番好きな人がいる確率は 1n\dfrac{1}{n}n1​,このとき戦略 SkS_kSk​ で ttt 人目の人を選べる確率は, t≤kt\leq kt≤k のとき 000 t>kt> kt>k のとき kt−1\dfrac{k}{t-1}t−1k​ (「最初の t−1t-1t−1 人の中で一番好きな人」が先頭 kkk 人の中にいないと,その人と交際してしまい「全体の中で一番好きな人」までたどりつかない) よって,成功する確率は 1n∑t=k+1nkt−1=kn(1k+1k+1+⋯+1n−1)\dfrac{1}{n}\displa

    秘書問題(お見合い問題)とその解法 | 高校数学の美しい物語
  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • アルゴリズム取引のシステムを開発・運用してみて分かったこと

    東京大学 松尾研究室が主催する深層強化学習サマースクールの講義で今井が使用した資料の公開版です. 強化学習の基礎的な概念や理論から最新の深層強化学習アルゴリズムまで解説しています.巻末には強化学習を勉強するにあたって有用な他資料への案内も載せました. 主に以下のような強化学習の概念やアルゴリズムの紹介をしています. ・マルコフ決定過程 ・ベルマン方程式 ・モデルフリー強化学習 ・モデルベース強化学習 ・TD学習 ・Q学習 ・SARSA ・適格度トレース ・関数近似 ・方策勾配法 ・方策勾配定理 ・DPG ・DDPG ・TRPO ・PPO ・SAC ・Actor-Critic ・DQN(Deep Q-Network) ・経験再生 ・Double DQN ・Prioritized Experience Replay ・Dueling Network ・Categorical DQN ・Nois

    アルゴリズム取引のシステムを開発・運用してみて分かったこと