タグ

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

  • タグクラウドのアルゴリズム - モノノフ日記

    タグクラウドを生成する際のアルゴリズムをオープンソースのコードを参考にして現在考えてます。 symfonyの公式サイトで見つけたアルゴリズム <?php while ($rs->next()) { if (!$max_popularity) { $max_popularity = $rs->getInt('count'); } $tags[$rs->getString('tag')] = floor(($rs->getInt('count') / $max_popularity * 3) + 1); } すごいシンプルでびっくり。 処理の流れ タグの最大カウント数をmax_popularityとする 各タグのカウント数をmax_popularityで割り、タグクラウドの範囲から1引いた値をかける(ここでは3) 算出された値を切り上げて、0が無くなるように+1 この算出アルゴリズムだと最大の

    タグクラウドのアルゴリズム - モノノフ日記
  • タグクラウドのアルゴリズム (それなりブログ)

    それなりブログ 20台後半からWebエンジニアに転生した人が書く、プログラム・無駄口とかのそれなりのブログ 管理人: kjirou  座右の銘: 「三度の飯より、四度の飯」 タグクラウドの大きさを決めているアルゴリズムはどうなってるのかなと、PHPのTagCloud.phpと、Rubyのtagcloud-rubyを読んみました。 両方ともCSSセレクタ生成等が処理の中に入ってしまっており、ライブラリとしてはやや微妙な感じ。(元のPerlの実装に合わせているからだと思いますが) なので、アルゴリズムだけ貰おうかと。 【最も基的なアルゴリズム】 最終的に、各タグの大きさは25段階の範囲で区分される。 ソース内ではこれを level と読んでおり、0-24の範囲で指定している。 level算出方法は以下の通り 1. 最もタグ付けされている回数が多いタグの回数を取得し、それの平方根を求

  • GitHub - livedoor/cicindela2: a highly customizable recommendation engine written in perl + MySQL

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - livedoor/cicindela2: a highly customizable recommendation engine written in perl + MySQL
  • 知れば天国、知らねば地獄――「探索」虎の巻

    いよいよ今回から、具体的なアルゴリズムの紹介に入っていきます。今回は、プログラミングにおける重要な概念である「探索」について考えます。グラフに変換し、探索する、という流れを知るとともに、そのグラフを効率よく探索する方法について紹介します。 今後紹介していくアルゴリズムについて お待たせしました! 「最強最速アルゴリズマー養成講座」という連載タイトルのとおり、今回の連載からいよいよ具体的なアルゴリズムの紹介に入っていきたいと思います。 しかし、それを読んでいただく前に、1つ注意してもらいたいことがあります。連載第3回でもお伝えしたように、「問題を、既存の適当なアルゴリズムに当てはめる」という考え方は、非常に危険である、ということです。 筆者の経験上、TopCoderでRedCoder以上を目指すのであれば、回答時間短縮のために、いままでのパターンを利用するのも方法の1つなのですが、連載では

    知れば天国、知らねば地獄――「探索」虎の巻
  • アルゴリズムとデータ構造 演習第 10 回

    アルゴリズムとデータ構造 演習第 10 回 サーチ1(二分探索) データの中から、あるデータを探すことを探索といいます。 ここでは二分探索 (アルゴリズムC 第2巻 p.8) を用いて探索を行います。 問題1 [印刷用 PostScript] 次のようなソートされたデータがある。 1 4 6 9 10 13 19 23 25 30 (1) このデータから二分探索を用いて 9 を探索する過程を書きなさい。 (2) このデータから内挿探索を用いて 9 を探索する過程を書きなさい。 二分探索、内挿探索はソートされているデータに対して行う探索方法です。 二分探索(アルゴリズムC 第2巻 p.8) 真ん中のデータが見つけたいデータかどうか調べます。 見つけたいデータが真ん中のデータより小さければ左側に対して、 大きければ右側に対して、同じことを繰り返します。 内挿探索(アルゴリズムC 第2巻 p.1

  • 素朴な方法 ~全探索法~

    離散ボロノイ図を作成する素朴で簡単な方法は、すべての離散点について、どの母点に最も近いかを1つ1つ計算していく方法である。この方法は、離散点の数 M (=WxH) と母点数 N に比例した時間がかかるのが欠点だが、アルゴリズムは簡単である。そこで、まず手始めに全探索法のアルゴリズムを考え、これをプログラム化して離散ボロノイ図の作成実験をしてみよう。 全探索法のアルゴリズム 全探索法のアルゴリズムを、なるべく簡単な言葉で述べると、次のようになる。 N 個の母点からなる母点集合 S と、離散ボロノイ図を作成するための離散平面を準備する。 母点集合と離散平面を初期化する。 すべての離散点について、4. の処理を繰り返して 5. へ すべての母点との距離を計算し、最も距離が小さい母点の番号を、その離散点の位置に書きこむ。 結果を出力して終了 このアルゴリズムをフローチャートの形に表すと図4.1のよ

  • クイックソート : アルゴリズム

    クイックソートはリストにおいてピボットと呼ぶ要素を軸に分割を繰り返して整列を行うアルゴリズムです。 「分割を繰り返して整列を行う」ような手法を分割統治法 divide-and-conquer と呼びます。 アルゴリズム分析 要素数が1つかそれ以下なら整列済みとみなしてソート処理を行わない ピボットとなる要素をピックアップする ピボットを中心とした2つの部分に分割する - ピボットの値より大きい値を持つ要素と小さい値を持つ要素 分割された部分(サブリスト)に再帰的にこのアルゴリズムを適用する 分割統治法は手順 4. にあるように再帰処理で実現されます。 分割統治法 divide-and-conquer 分割統治法とは大きな問題を小さな問題に分割することによって全体を解決しようとする方法です。 クイックソートではピボットと呼ぶ軸となる要素の値より大きい要素群、小さい要素群という具合にソートの対

  • アルゴリズムの紹介

    ここでは、プログラムなどでよく使用されるアルゴリズムについて紹介したいと思います。 元々は、自分の頭の中を整理することを目的にこのコーナーを開設してみたのですが、最近は継続させることを目的に新しいネタを探すようになってきました。まだまだ面白いテーマがいろいろと残っているので、気力の続く限りは更新していきたいと思います。 今までに紹介したテーマに関しても、新しい内容や変更したい箇所などがたくさんあるため、新規テーマと同時進行で修正作業も行なっています。 アルゴリズムのコーナーで紹介してきたサンプル・プログラムをいくつか公開しています。「ライン・ルーチン」「円弧描画」「ペイント・ルーチン」「グラフィック・パターンの処理」「多角形の塗りつぶし」を一つにまとめた GraphicLibrary と、「確率・統計」より「一般化線形モデル」までを一つにまとめた Statistics を現在は用意していま

  • 元証券マン夫婦による「国内ヘッジファンドの選び方」|日本に投資できるヘッジファンドは存在する?

    ヘッジファンド 【2021年】マニアが解説する、コロナ下での国内ヘッジファンドの選び方 2021年7月17日 高橋雄介/恵

    元証券マン夫婦による「国内ヘッジファンドの選び方」|日本に投資できるヘッジファンドは存在する?
  • DO++: 機械学習による自然言語処理チュートリアル

    自然言語処理のときに使う機械学習手法のテクニックをざーっと2時間程度で紹介してほしいとのことだったので今日話してきました。基的に、そんなに頑張らなくても効果が大きいものを中心に説明(特にパーセプトロンとか)を説明してます。 紹介した手法はパーセプトロン、最大エントロピー、正則化、多クラス分類、系列分類(CRF, Structured Perceptron)などなどです。どれも一かじりする感じで網羅的に見る方を優先してます。個々の詳しい話はそれぞれの文献や実装などを当たってみてください。 スライド [ppt] [pdf] ここで話しているのは線形識別モデルの教師有り学習が中心で教師無し学習(クラスタリングなど)など他の自然言語処理を支える技術は省いてます。 こういうのを使って(使わなくてもいいけど)どんどんアプリケーション作らないといかんね。 Tarot is not used to ma

    DO++: 機械学習による自然言語処理チュートリアル
  • 最小二乗法について

    最小二乗法は計測データの整理に使われる方法である。 n個のデータ(x1,y1),(x2,y2), .......(xn,yn)が得られたとする。 に最もフィットする直線をy=ax+bとすると、 でa,bが求められる。 以下詳しい解説が書いてあります。解説は上から順番に書いてありますが、適当に飛ばし読みしたいときは、以下をクリックしてください 最小二乗法の目的 最小二乗法の考え方 具体的な計算方法 一般的な場合 車が一定速度で動いているとする。それを測定して時間と位置との関係をグラフに表すと となる。 しかし、実際は測定誤差があるので、こんなふうにきれいに並ぶことはない。 こんなふうに並んだものに対して、エイヤっと線を引いてしまうわけである。 そして、この直線の傾きから車の速度を求める。 この、エイヤっと引いた線を、人力ではなく、もうすこしもっともらしく計算で決定しましょうとい

  • 川柳の自動生成アルゴリズムの紹介(どうしたら 機械で川柳 詠めるかな)

    こんにちは。エイプリルフールに 1 日だけローンチした Google 川柳、お楽しみいただけましたか?エイプリルフールが終わってしまったのでサービスはもうありませんが、せっかくなのでその裏側をすこしご紹介します。 今回は、Google人工知能 CADIE を開発し、その CADIE が世界中で面白いサービスを提供するという設定で Google 川柳を提供しました。人工知能 CADIE は架空のものですが、コンピューターによる川柳の自動生成を行ったのは、ウソではありません。 ここでは、その川柳をコンピューターに生成させた手順を簡単にご紹介します。 川柳とは何かを学習する まず、物の川柳/俳句を Web 上から集めました。集めた作品を解析し、俳句/川柳にありがちな品詞の並びパターンを学習しました。「瞬間」を切り取る 川柳/俳句には、「話題」が必要になります。これは、Web ページからラン

    川柳の自動生成アルゴリズムの紹介(どうしたら 機械で川柳 詠めるかな)
  • 1