タグ

Pythonとtechfeedに関するlibkazzのブックマーク (51)

  • ディープラーニングのための線形代数入門:一般的演算の初学者向けガイド | POSTD

    Jeremy Howardによる ディープラーニングの素晴らしいコース を受講している間、自分の前提知識がさびついてきているせいで、誤差逆伝播法のような概念が理解しにくくなっていることを認識しました。そこで、理解度を上げるべく、そうした概念に関するいくつかのWikiページをまとめてみることにしました。記事では、ディープラーニングでよく使われる線形代数演算のいくつかについて、ごく基的な事項をざっとご紹介します。 線形代数とは? ディープラーニングの文脈での線形代数とは、数の集合を同時に操作するための便利な手法を提供してくれる、数学的ツールボックスです。これらの数値を保持するためのベクトルや行列(スプレッドシート)のような構造体と、それらを加算、減算、乗算、および除算するための新しい規則を提供します。 線形代数が便利な理由 線形代数は、複雑な問題を単純で直感的に理解できる、計算効率の良い問

    ディープラーニングのための線形代数入門:一般的演算の初学者向けガイド | POSTD
  • データ分析を便利にするJupyter notebookとPandas | DevelopersIO

    こんにちは、小澤です。 今回は、Jupyter notebookとPandasの導入的な話をしようと思います。 とは?の話 Jupyter notebookもPandasもすでに「とは?」を書く必要がないくらい有名どころかもしれませんが一応書いておきます。 とはいえ、今回はこんなものがあるよというご紹介程度の内容となるので、この「とは?」がメインコンテンツとなります。 どちらもpipからインストール可能ですが、Anacondaを利用すると、グラフ描画用のmatplotlibも別途インストールする必要がなくなるため、 今回はAnaconda3-4.2.0を利用しているものとします。 Jupyter notebookとは ブラウザ上で、REPLのようなインタラクティブにプログラムを実行するためのものです。 Jupyter notebookを立ち上げるとブラウザから画像のような環境にアクセスでき

    データ分析を便利にするJupyter notebookとPandas | DevelopersIO
  • 推薦システムのためのOSSたち

    情報推薦=機械学習 ではない。 もちろん機械学習アルゴリズムを使えば精度は高くなるかもしれないが、実際は推薦理由の説明が必要であったり、膨大なデータサイズや要求されるパフォーマンスに応えるために、『いかに機械学習をしない選択をするか』も重要になる。 さらに、RecSys2016のLinkedInとQuoraのチュートリアルで語られたように、現実の推薦システムはヒューリスティクスに基づく単純な手法から深層学習まで、複数のものを組み合わせた ハイブリッド なものであることが多い。 ヒューリスティクス/機械学習の混在したハイブリッドな推薦手法 適切な指標による精度の評価とモデルの改善 サービスごとに異なる多様なデータフォーマットの扱い ということを考えると、推薦システム専用の実装 というものが必要になってくる。というわけで、推薦システム構築に使える/参考になるOSSをいくつか紹介する。 ※チョイ

    推薦システムのためのOSSたち
  • Reddit - Dive into anything

  • はじめてプログラムを書いた時,はじめてHTMLを書いた時,はじめてWeb制作の仕事をした時のことを思い出しながら、オススメ本を5冊紹介してみる | F's Garage

    はじめてプログラムを書いた時,はじめてHTMLを書いた時,はじめてWeb制作仕事をした時のことを思い出しながら、オススメを5冊紹介してみる 何冊か初心者向けのがあるので紹介しようと思い、を読み始めた。 そういえば自分はどういうきっかけでプログラミングを始めたんだろう。どうやってWebの仕事に慣れて行ったんだろう。どうやってHTMLを書いたんだっけ、なんてことを考え始めた。 僕は、はてブやネットで見かける天才の人達と違って、を読んで興味位で手を動かしたらできるようになったというタイプではない。プログラミングの始まりは同世代の人達に近いファミリーベーシックだったが、マリオを動かすぐらいしかやってない。その後、パソコンを買ってBASICによるゲームを動かすことは知った。徳間書店の雑誌に書いてある音楽のプログラムを友達と入力したが、何かが間違っていたのか動かなかった。どう見ても間違って

    はじめてプログラムを書いた時,はじめてHTMLを書いた時,はじめてWeb制作の仕事をした時のことを思い出しながら、オススメ本を5冊紹介してみる | F's Garage
  • 【Python】MeCabと極性辞書を使ったツイートの感情分析入門 - StatsBeginner: 初学者の統計学習ノート

    負のオーラを自動検出したい 前回のエントリで、著作権侵害にあたる違法アップロード動画を自分のTwitterで拡散してしまっている懸念を考えて、YouTube動画のリンクが貼ってあるツイートをまとめて削除しました。 前回のエントリでも言いましたが、著作権侵害モノ以外にも、「残しておくとまずいツイート」は色々ある可能性があり、たとえば誹謗中傷の類いがあるかと思います。誹謗中傷ツイートを自動抽出する方法はにわかには思いつきませんが、たぶん「クソ」とか「死ね」とか「バカ」とかそういう悪口の辞書が必要になりそうです。 ところで、言語データの分析手法として、単語ごとに感情特性を評価した辞書というものがあちこちで作られていまして、これを使ってツイートがどのような感情を帯びているか分析するということが、よくやられています。Yahoo!がそういうツールを提供してたりもします(参考リンク)。 Yahoo!のリ

    【Python】MeCabと極性辞書を使ったツイートの感情分析入門 - StatsBeginner: 初学者の統計学習ノート
  • 機械学習の情報を手法を中心にざっくり整理 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 自分用のメモとして、機械学習に関する情報を浅く ( それなりに ) 広くをモットーに、ざっくり整理してみました。 少しでも、他の方の理解に役立ったら嬉しいです。 機械学習とは コンピュータプログラムが経験によって自動的に出力結果を改善していく仕組み。 手法 機械学習の代表的な手法について記載します。 1.教師あり学習 2.教師なし学習 3.強化学習 に分けて記載しました。 ※概要説明は一例です。 1.教師あり学習 1-1.線形回帰 予測したい値を算出する式を連続する多項式として表し、各係数を最小二乗法や最尤推定法で求めることでモデ

    機械学習の情報を手法を中心にざっくり整理 - Qiita
  • ベイズ最適化のKeras DNNモデルへの適用 - Qiita

    ベイズ最適化のKeras DNNモデルへの適用 ディープラーニングに限らず、機械学習モデルを作るときに大変なのがパラメータの調整です。 機械学習モデルの精度はパラメータに左右されますが、パラメータは数も範囲も広く、最適解を見つけることが難しいのが現状です。 例えば隠れ層3のニューラルネットワークモデルを考えるとき、各層のアウトプットとなるニューロン数やドロップアウト率、バッチサイズやエポック数等々、決めなければならない要素が多く、範囲も広いです。 各パラメータの決め方は色々ありますが、可能な数値の例は大体以下になります。 ニューロン数:1以上の整数 ドロップアウト率:0以上1より小さい小数 バッチサイズ:入力データ以下の整数 エポック数:1以上の整数 ニューラルネットワークによって適当な数値はあったりしますが、データとニューラルネットワークモデル次第で適不適があるため、正直パラメータ調整は

    ベイズ最適化のKeras DNNモデルへの適用 - Qiita
  • ノンプログラミングで機械学習サービスが作りたい! WebAPI編 - Qiita

    今回の内容 ノンプログラミングで機械学習サービスが作りたい! テキスト分類編の第2弾です。機械学習の分類結果をWebAPIから利用できるようにします。 この段階になるとさすがにノンプログラミングというわけにはいかず、早くもタイトル詐欺くさくなってきましたが、60行ちょっとのコードですので読み解くのは難しくないと思います。 ソースはhttps://github.com/shuukei-imas-cg/imas_cg_words で公開しています。 使用するフレームワーク、ソフトウェアについて Falcon Falconはバックエンド用途の非常に高速でミニマルなWebフレームワークです。公式サイトに掲載されているベンチマークによれば、Python用webフレームワークとして定番のFlask(0.11.1)に対して9倍のパフォーマンスを発揮するとあります。 今回はせっかくなのでcythonize

    ノンプログラミングで機械学習サービスが作りたい! WebAPI編 - Qiita
  • NumpyでのZhang-Suen アルゴリズムを高速化 - Qiita

    はじめに Zhang-Suenアルゴリズムについてはこちら リンク先のコードを読んでもらうとわかるのですが、2重のforループで回しているのでとても遅いです。 なのでNumpyのユニバーサル関数だけを使って同等の処理ができるようにしました。 ユニバーサル関数 Numpyにはユニバーサル関数という配列の各要素に大して演算を行った結果の配列を返すような関数が用意されています。これを使えば一々各要素を取り出して処理というような過程を経ずにすみます。速いです。 大体20倍~30倍程度は速くなります。 処理 前処理 ・黒をTrue、白をFalseとする2値化した画像を用意。外側を1ピクセル分Falseで囲っておく。 ・中央部分の各要素について、上、右上、右、右下、下、左下、左、左上の要素を格納した配列を生成 (それぞれP2~P9と名前をつけておく) # 2値画像について、周囲1ピクセルをFalseで

    NumpyでのZhang-Suen アルゴリズムを高速化 - Qiita
  • 科学者のあり方を変える帰納プログラミング - SmartNews Engineering Blog

    こんにちは。スマートニュースの高橋力矢です。前回のブログでデータ分析+ゲーム理論を題材として、帰納と演繹をまとめる利点をお伝えしました。なんらかの入力 (e.g., ゲーム理論における利得表) があり、特定のアルゴリズム (e.g., 各プレイヤーの戦略的意思決定) を記述することで出力 (e.g., ナッシュ均衡) を得るアプローチは、ほとんどのソフトウェア・エンジニアが慣れ親しんでいるプログラミングそのものです。つまり多くのエンジニアが手がけるプログラミングの実態は演繹的プログラミングです。ではこの対極に位置する帰納プログラミング (Inductive Programming) はどの程度進歩しているでしょうか。 帰納プログラミングの一分野である確率プログラミング (Probabilistic Programming) は統計学や機械学習との関係が密接で、日でも利用者の多いStanを

    科学者のあり方を変える帰納プログラミング - SmartNews Engineering Blog