コンピュータサイエンスで有名なアルゴリズムのPython実装を大量に公開しているリポジトリ https://t.co/379T4izBle 教養レベルのデータ構造やアルゴリズムから機械学習やブロックチェーン,Web関連などの応用ま… https://t.co/vSmYZW5SHw
3つの要点 ✔️ ユークリッド距離や角度距離など特徴量間の関係性を事前に定める必要がない新しいアルゴリズム「BioMetricNet」を提案 ✔️ 代わりに、マッチングと非マッチングが事前に定められたそれぞれの分布に従うよう学習 ✔️ 顔認識で高精度を達成している手法(CosFace、ArcFace、SphereFace)と比べて、一貫して高い精度を報告 The Effect of Wearing a Mask on Face Recognition Performance: an Exploratory Study written by Arslan Ali, Matteo Testa, Tiziano Bianchi, Enrico Magli (Submitted on 13 Aug 2020) Comments: Accepted at ECCV2020 Subjects: Com
4-1. N! の高速な計算 $N! = 1 \times 2 \times 3 \times 4 \times \cdots \times N$ を計算してみましょう。 $N!$ は場合の数を求める問題でよく出てきて、こんな感じのものが求まります。 $1, 2, ..., N$ が書かれたトランプのカードが 1 枚ずつあるとき、これを一列に並べる順番は何通りあるか? 例えば、$N = 13$ の場合 $13! = 6,227,020,800$ 通り、のように計算できます。 また、$N!$ は二項係数 $_NC_K$ を求めるのにも使われます。 $N!$ が求まれば、$_NC_K = N! \div K! \div (N-K)!$ で掛け算・割り算するだけで計算できますね。 $N$ 個の区別できるボールから $K$ 個を選ぶ方法は何通りか? これが $_NC_K$ になります。例えば、$N
1. はじめに ~メインを読むための準備~ まず、大きな数の計算の話をする前に、少しコンピューターと計算回数について話しましょうか。 コンピューターは、現代ではソフトウェアやアプリケーションの開発に使われていますが、これには重要な背景があります。これは「計算がめっちゃ速いこと」です!人間なんかと比べたら、圧倒的な計算スピードを誇ります。 1-1. 人間の計算速度はどのくらい? まず人間はどのくらいの速度で計算できるでしょうか?速い人も遅い人もいると思います。 例えば、$628 \times 463$ の計算を、今やってみましょう。10 秒以内で計算できたらかなり速い方でしょう。この計算では、次のように「単純計算」を合計 28 回もしていることになります。 9 回の 1 桁 × 1 桁の掛け算 6 回の 1 桁 × 1 桁の足し算 13 回の繰り上がり計算 もし $628 × 463$ が
Kuwahara filterとかいう明らかに日本人の名前な画像フィルターに出会い、試してみたらすごかったので紹介する。Python画像処理画像加工フィルター 6/15追記 あとがきの提案について書きました 写真表現としての桑原フィルターの提案 #はじめに Kuwahara filter(桑原フィルター)とは 桑原フィルターは桑原道義さんという大学教授(Wikipedia曰く)が考案した平滑化フィルターの一種で、内容のシンプルさに反して上手いことかけるとまるで油絵のようになる、なんだかすごいフィルターであーる(先に結果が見たい方は記事の一番下を覗いてみよう) Kuwahara filter -Wikipedia SPECT用データ処理 (元論文?) #桑原フィルターの内容 https://upload.wikimedia.org/wikipedia/commons/4/49/Kuwahar
春の入門祭りの8日目です。 文字列の新旧の違いを表現する時によくdiffをとるとか言いますよね。そこで実行されるのが差分アルゴリズムです。差分のアルゴリズムって結構知れば知るほど難しいやつです。「より良い差分」という基準が、状況によって変わるからです。ヒューリスティックなやつです。例えば、HTMLの説明の文章を書いていたとします。タイトルをテーブルに書き換えてみたとします。 どちらも間違ってはおらず、この差分を元にパッチを当てたりも可能です。ただ、読んだ時の読みやすさが違います。 これはもちろん前者と答える人の方が多いでしょう。だって、タグという意味の塊が維持されていますからね。 これは究極的にはわかりやすいdiffというのは「意味」を理解しないと作れないということを意味します。これがdiffは簡単なようで難しいと書いた理由です。もちろん、ほどほどの工数で、ほどほどの見た目のdiffも作成
マルコフアルゴリズム単語 マルコフアルゴリズム 4.5千文字の記事 13 0pt ほめる 掲示板へ 記事編集 概要定義マルコフアルゴリズムはチューリング完全関連リンク関連項目掲示板マルコフアルゴリズムとは、複数の文字列置換規則から構成される文字列書き換え系である。 概要 マルコフアルゴリズムはアンドレイ・マルコフ・ジュニアによって考案された文字列書き換え系である。他の文字列書き換え系として有名なものにチョムスキーの生成文法があり、これなら知ってるという人も多いのではないだろうか。 定義を述べる前に簡単な例から見ていこう。 マルコフアルゴリズムはいくつかの置換規則によって構成される。規則は一つでもよい。例えば次のようなもの。 Hello:World このルールは 「"Hello" という文字列を "World" に置換する」と読む。置換の前後をコロンで区切る書き方は後述する Markov A
はじめに インターネット上から収集した画像をもとに機械学習のデータセットを作成するとき、重複した画像の削除が必要です。訓練データに重複した画像があるならまだ良いですが、訓練データ・テストデータの間で重複した画像があると、いわゆるleakageが起きてしまいます。 画像の重複を検出する方法として最も単純なものは、MD5などのファイルのハッシュ値を利用することです。しかしながら、ファイルのハッシュ値は、あくまでも画像ファイルのバイナリ列をハッシュ化したものであり、同じ画像でも保存形式や圧縮パラメータを変えただけでも変化してしまい、検出漏れにつながります。 そこで本記事では、画像の特徴そのものをハッシュ化するアルゴリズムを紹介するとともに、簡単な実験を通してそれらハッシュ化アルゴリズムの特性を見ていきます。 画像のハッシュ化アルゴリズム Average Hash (aHash) 画像の特徴(輝度
AtCoder株式会社(本社:東京都新宿区/代表取締役社長:高橋直大、以下AtCoder)は、プログラミングスキルを可視化する日本初のオンラインプログラミング検定「アルゴリズム実技検定」第3回試験を5月23日(土)〜6月6日(土)に開催いたします。 AtCoderは、新型コロナウィルス感染症対策で外出自粛が続く状況を鑑みて、第3回アルゴリズム実技検定の受験資格を無償で提供いたします。就職・転職活動を始める学生・社会人の皆さま、プログラミングスキルの腕試しをしたいエンジニアの皆さま、受験費用がネックとなって本検定受験を控えていた皆さま、自宅待機を期にプログラミングを始めた皆さまに、無料で受験いただける機会をご用意いたしました。 アルゴリズム実技検定ホームページ(https://past.atcoder.jp)にて本日よりお申込みいただけます。 本検定は自宅からオンラインで受験でき、5月23日
競技プログラミングの問題を解くためには2つのステップがあります。 問題で要求されていることを言い換える知っているアルゴリズムやデータ構造を組み合わせて解く 必要な(知っておくべき)アルゴリズムやデータ構造は色々なところで学ぶことができます。 しかし、「問題の言い換え」や「アルゴリズムを思いつく」というのは、非常に様々なバリエーションがあり、問題をたくさん解かないとなかなか身につきません。 そこで、この記事は以下のことを言語化し、練習のための例題を提示することを目標とします。 問われていることを、計算しやすい同値なことに置き換える方法アルゴリズムを思いつくための考え方競技プログラミングで「典型的」と思われる考え方 ※一部問題のネタバレを含むので注意 ※良く用いられるアルゴリズムやデータ構造については競技プログラミングでの典型アルゴリズムとデータ構造 を参考にして下さい。 入力の大きさ(制約)
今回は、以下のように指定しました。表示オプションはデフォルトのままです。 地点を選ぶ:東京 項目を選ぶ(データの種類):時別値 項目を選ぶ(項目):気温 期間を選ぶ:2019/1/1~2019/12/6 データの項目は「日時」「気温」「品質情報」「均質番号」の4種類。品質情報、均質番号は、観測値が正常かどうかに関する情報です。各項目の詳細については、同サイトの「ダウンロードファイル(CSVファイル)の形式」ページを参照してください。 ファイルの先頭5行には、次の画像のような項目が入っています。このまま使うとやや面倒なので、あらかじめ先頭5行分は削除し、全てデータ行のみのCSVファイルに加工しておきます。 CSVファイルの仕様にはバリエーションがあり、その全てに対応するとコードが複雑になりますので、今回は気象庁のCSVデータに基づき、次の仕様を前提とします。 文字種は、ANK(1バイト文字)
プログラミング言語のトレンドは時代とともに移り変わっても、その考え方や利用されるアルゴリズムは変わりません。ソフトウェア開発においてアルゴリズムは効率化や高速化といった恩恵をもたらすため、できれば基本から押さえておきたいところ。今回は、ユーザーの多いPythonでアルゴリズムを学べる『Pythonではじめるアルゴリズム入門』(翔泳社)から、線形探索と選択ソートの手法を紹介します。 リストから目的の値を見つけられるようになる。 データ量が多い場合の問題点を体験する。 多くのデータの中から欲しいデータを見つけることを「探索」といいます。私たちの生活の中でも、欲しいものを見つけるために探す場面はよくあります。そして、その探し方は探すものや量によって変わってきます。 実際にどのような探索方法があるのか知っておきましょう。 日常生活における探索を知る 探索を行なうのはプログラミングに限った話ではあり
再帰が現実的でないBASICで「盤面が与えられた時にどのぷよが消えるか」を計算するアルゴリズムが当時どうしても思いつかず「ぷよぷよ」にハマった時からずっと考えていました。 そしてある授業中に突然アルゴリズムがひらめきました。 以下がそのアルゴリズムのご紹介です。 フィールドが以下の様になっていると想定します。形だけ見ると「連鎖を作ろうとしてたけどやらかしちゃった」形ですね。 この場合、赤い「ぷよ」が消えることになります。 基本的な方針としては「左上から注目する場所(セル)を右下まで走査する」「注目したセルにある「ぷよ」がいくつつながっているか調べる」です。 1. まず、左上のセルに注目します。 2. 左上のセルには何も無かったので次のセルに注目します。 このセルには赤い「ぷよ」が居ました。 これ以降はこの赤い「ぷよ」がいくつつながっているか(=消せるか)をチェックします。 3.「この「ぷよ
「アルゴリズム実技検定」は、「アルゴリズムをデザインし、コーディングする能力」を問う、実践を想定した日本初の検定。「知識型ではない」「受験者が得意なプログラミング言語を選べる」「アルゴリズムの実力を測る」のが特徴で、可視化が難しかったプログラミング能力を、「エントリー」(25~39点)、「初級」(40~59点)、「中級」(60~79点)、「上級」(80~89点)、「エキスパート」(90~100点)の5段階で評価する。 第1回の「アルゴリズム実技検定」は458名が受験し、そのうち同社のプログラミングコンテストに参加したことがない一般受験者が約3割(126名)を占めており、同検定に対する注目度の高さがうかがえる。 受験結果は、「初級」(33%、150名)がもっとも多く、全体の52%(240名)が「エントリー」「初級」ランクだった。また、14%(66名)が「エキスパート」ランクを獲得しており、う
はてなアプリケーションエンジニアの id:shiba_yu36 です。 最近自分が基礎的でずっと廃れなさそうな分野であるアルゴリズムを少しずつ学びたいと考えていました。しかし、アルゴリズムはあまりにも基礎分野のため、モチベーションをずっと保ち続けられるかという不安もありました。そこで周りの人も巻き込むことでモチベーションを保ち続けたいと思い、社内で勉強会を開催したいと考えました。 勉強会の教材を選定していたところ、Courseraで「Algorithms, Part I」という非常に高評価な教材を見つけることが出来たので、最近はこの教材をみんなで集まって見ながら議論をするという体裁で社内勉強会を開催しています。実際にやってみると、社内勉強会という形式を取ったのも良く、さらにこの教材を利用したことも良かったと感じています。 少しずつ社内勉強会で講義を進めていき、ようやく半分のWeek3まで終
こんにちは、谷口です。 プログラミング初心者のみなさん、アルゴリズムの勉強はしたことがありますか? プログラミングの勉強を始めたばかりの方、アルゴリズムについてしっかり勉強したことないという方にとって、アルゴリズムを「いつか勉強したほうがいいんだろうな」と思いつつも、なかなか手を出す機会がなく、いつのまにか後回しになっているものではないでしょうか。 プログラミングを始めたばかりの頃はそれほど気にならないかと思いますが、エンジニアになって実務に入ったり大規模な開発に取り組むようになったりしたときに、アルゴリズムの知識がないと 複雑な処理をしたいときにどんな書き方をすべきかわからない とりあえずわかる作り方を駆使して力技で作る あとで機能や処理を追加したり改善したりするときが大変 できる人に「もっといいやり方があるよ」と言われるけど、そのいいやり方が自分で作っているときは思いつけない といった
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く