タグ

svmとmachinelearningに関するyukimori_726のブックマーク (18)

  • 修士論文 対象の値動きの方向性に着目した経済時系列予測への サポートベクターマシンの応用に関する研究 Research regarding the Application of Support Vector Machines to Predict the Direction of Price Changes in

    修士論文 対象の値動きの方向性に着目した経済時系列予測への サポートベクターマシンの応用に関する研究 Research regarding the Application of Support Vector Machines to Predict the Direction of Price Changes in Economic Time Series 平成20年2月4日 提出 指導教員 古関 隆章 准教授 東京大学大学院 情報理工学系研究科 電子情報学専攻 66432 中田 貴之 Takayuki Nakata 内容梗概 時系列の予測にかかわる研究はこれまで数多く行われており、それらの多くはいかに時系列の実際の 値との誤差を小さく予測するかといった点に焦点を当てていた。それは時系列の予測という視点から見 ると当然のことである。しかし株の取引では収益を上げることが最終的な目標であり、そ

  • TokyoNLP#7で「きれいなジャイアンのカカカカ☆カーネル法入門-C++」を発表しました - シリコンの谷のゾンビ

    TokyoNLP#7に参加して,「きれいなジャイアンのカカカカ☆カーネル法入門-C++」を発表してきました. 幹事の @nokuno さんをはじめ,他の発表者の方々や懇親会の買い出しをしてくださったみなさま,参加者のみなさま,そしてなにより会場を提供してくださったECナビさんと@ajiyoshiさんに改めて感謝申し上げます. 大分時間が空いてしまったけれど一応前回からの続き. TokyoNLP#5で「パーセプトロンで楽しい仲間がぽぽぽぽ〜ん」を発表しました 発表資料を公開します.一部修正してあります. TokyoNLP#7 きれいなジャイアンのカカカカ☆カーネル法入門-C++ View more presentations from sleepy_yoshi 発表のポイントは以下のあたり. 入力とデータ点 (サポートベクタ) との類似度 (カーネル) の重みづけ和でモデルを表現している!

    TokyoNLP#7で「きれいなジャイアンのカカカカ☆カーネル法入門-C++」を発表しました - シリコンの谷のゾンビ
  • Pythonでカーネル主成分分析を実装してみる

    カーネル主成分分析(Kernel principal component analysis; kernel PCA)はその名のとおりカーネルを使って主成分分析(PCA)を行う手法.カーネルっていうのは距離みたいなもん(→Kernel trick - Wikipedia).線形主成分分析はデータが元の変数のベクトルの線形結合で表されてるとしているけど,そうでもないときもあるよねってことで,非線形写像して主成分分析する.分散共分散行列の代わりに,各データ間のカーネルを要素とするカーネル行列の固有値固有ベクトルを求めるってこと. Kernel pricipal component analysis - Wikipediaに載ってる画像っぽいのをつくってやってみた.つくったデータ→ kpca.data"x1 x2 class\n".3つのクラス.各クラス100個ずつ. 元データの描画. カーネルは

    Pythonでカーネル主成分分析を実装してみる
  • 非線形SVM 〜詳細説明〜

    非線形SVM 〜 詳細説明 〜 戻る 問題が線形分離できないような場合,やっぱり非線形なモデルを考えたいわけで,常套手段はなんといっても,元の特徴空間を線形分離可能な別の特徴空間に変換してやってから線形分離してやる,っていう方法だよね.非線形SVMも例に漏れずこの方法を使う. 元の特徴空間におけるベクトルを,別の次元特徴空間に変換する関数を考える.は,スカラーを出力する任意の個の非線形関数を要素とするベクトルと定義する. (2.1) これを使って,非線形SVMの識別関数を次のように考える. ただし (2.2) 学習データは個与えられているとし,と表す.これらのデータを2つのクラスおよびに分離することを考える.この学習データ集合に対して,が次の条件を満たすようにパラメータを調節することを考える. (2.3) ここで学習データに関する教師信号をとし,次のように定義する.

  • サポートベクターマシンを勾配法で解く。 - sonoshouのまじめなブログ

    最も代表的な教師あり分類手法の一つであるサポートベクターマシン。 訓練サンプルから、各データ点との距離が最大となるマージン最大化超平面を求めるという明確な分類基準がある、かつ、一見求めづらそうなこの超平面を一意に求められるということから 数学的に美しい分類手法と言えるでしょう。 サポートベクターマシンの詳しい説明はこちらになります。 サポートベクターマシン - Wikipedia さて、上のWikipediaの記述にもある通り、 マージン最大化超平面は最適化問題の凸二次計画問題となります。 今回は、この凸二次計画問題を勾配法で解くことで、 ハードマージンのサポートベクターマシンを実装しました。 使用したデータ 線形分離可能なデータです。 また、こちらの座標関係をテキストデータにしたものがこちらです。 各行がデータを表しており、スペースで区切られています。 左から、X座標、Y座標、クラス(1

    サポートベクターマシンを勾配法で解く。 - sonoshouのまじめなブログ
  • Pythonのscikit-learnでRandomForest vs SVMを比較してみた - Y's note

    Random Forest メディア: ペーパーバック クリック: 27回この商品を含むブログ (1件) を見る Random Forest Random Forestとは Random forest - Wikipedia Random forests - classification description 機械学習の方法論の一つで決定木ベースの集団学習アルゴリズムを取り入れたものです。説明変数の依存が少ないことや学習が高速であることが特徴として挙げられています。英語サイトの方で特徴として紹介されているRFの内容について記述します。 Features 大きなデータに対して効率よく処理される。 変数の削除をすることなく入力した数千の変数を扱う事ができる。 どの変数が分類に対して重要なのかを計算して与えてくれる。 木の構築処理中に一般的なエラーの偏りの無い計算を生成する。 高い割合でデータ

    Pythonのscikit-learnでRandomForest vs SVMを比較してみた - Y's note
  • Rで機械学習【 精度比較シナリオ ② 】SVM vs ランダムフォレストモデル(日経平均 値動き幅 過去日連動性検証) - Qiita

    Rで機械学習(PRML):SVM vs ランダムフォレストモデル (株価シナリオ②)日経平均値動き幅 過去日連動性検証 【 検証事項 】 日経平均株価の各日の(取引時間内)の値動き幅(ボラティリティ: ((当日終値-当日始値)/当日始値)100) )は、X日前の値動きボラティリティ ( ((X日前の終値-X日前の始値)/X日前の始値)100) ) と、どのような関連性があるか。※X = 1 ~ 7 【 事前仮説 】 当日の値動きボラティリティ( ((当日終値-当日始値)/当日始値)100) )は、Xの値がより小さい X日前の値動きボラティリティ ( ((X日前の終値-X日前の始値)/X日前の始値)100) ) から、強い影響を受けている 【 背景にある知見 】 ( GARCHモデル ) ある日の株価ボラティリティは、近い過去日のボラティリティに引っ張られる」(上げ(下げ)相場が続いている期

    Rで機械学習【 精度比較シナリオ ② 】SVM vs ランダムフォレストモデル(日経平均 値動き幅 過去日連動性検証) - Qiita
  • 【カーネル法】R でカーネルPCAとカーネルCCAを実践 |

    SVMで有名なカーネル法ですが, 今回はカーネル法を用いた カーネルPCA, カーネルCCA を R で実践してみました。参考にさせて頂いた書籍はカーネル法入門―正定値カーネルによるデータ解析 (シリーズ 多変量データの統計科学)で, 内容は 1章 カーネル法への招待, 3章 カーネル法の実際 についてですが, 数学的な話には触れないので書をご覧ください。 カーネル法はデータの高次モーメントを有効に抽出しつつ計算を効率化する非線形変換の方法論で, データ分析の前処理やノイズ除去などに使われる。SVMが牽引する形で急速に広がり, 応用は下記のように多岐にわたる。 サポートベクターマシン (SVM) カーネル主成分分析 (Kernel-PCA) カーネル正準相関分析 (Kernel-CCA) カーネルFisher判別分析 カーネルK-means カーネルPLA カーネルロジスティック回帰 カ

  • Rで機械学習【 回帰・分類精度比較 ① 】 SVM サポートベクターマシン vs ランダムフォレストモデル (回帰・分類問題) - Qiita

    【 精度比較 】 SVM vs ランダムフォレストモデル 株価ケース1(当日値動き幅は、何日前の終値比と最も関連性が強いか) ( データ作成工程 ) ウェブサイト「日経平均プロフィル 日経の指数情報サイト」で公開されている日経平均株価の日次データファイルをRに取り込む address <- "http://indexes.nikkei.co.jp/nkave/historical/nikkei_stock_average_daily_jp.csv" nikkei225 <- read.csv(file=url(address), header=TRUE, sep=",")

    Rで機械学習【 回帰・分類精度比較 ① 】 SVM サポートベクターマシン vs ランダムフォレストモデル (回帰・分類問題) - Qiita
  • カーネルとは直感的に説明するとなんなのか? - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? How to intuitively explain what a kernel is?に対する回答がわかりやすかったので和訳 まずは質問の意図から。 質問者は、「カーネルとは直感的に説明するとなんなのか?」を聞いています。それに対する回答のひとつが、上記のリンク先です。 和訳 カーネルとはふたつのベクトル $\boldsymbol{x}$ と $\boldsymbol{y}$ の内積を(たいていはとても高次元の)特徴空間で計算する方法であり、これがカーネル関数が時々「一般化内積」と呼ばれる理由です。 $\mathbb{R}^n$ 上に

    カーネルとは直感的に説明するとなんなのか? - Qiita
  • Python + NumPy で SMO 実装した - Qiita

    Python + NumPy だけで,気で速度を追求した SVM を書いてみた. アルゴリズムは LIVSVM のドキュメントと関連論文に倣って色々と工夫を取り入れた SMO. Working set の選択 (各反復で部分問題に使う 2 変数を選ぶアレ) は実装のし易さを優先して少し古い手法 (LIBSVM ver. 2.8 くらいまで使われていたやつ) を採用したが,新しいやつが必ずしも速い保証はないしまあ良いかなという感じ. ソースコード 当は一人で楽しむ予定だったけれど,案外実用レベルの速度が出たので皆と喜びを分かち合うことにした. でも,アルゴリズムの説明を書くとめっちゃ長くなりそうなので,ひとまず妥協してコードだけ貼ることにした. まだ実装できていない機能が沢山あるけど,基的に使い方は scikit-learn とほぼ同じになっているはず. # -*- coding: u

    Python + NumPy で SMO 実装した - Qiita
  • 非線形SVM - 人工知能に関する断創録

    今回は、非線形サポートベクトルマシンを試してみます。線形SVM(2010/5/1)は、カーネル関数に線形カーネル(ただの内積)を使いましたが、これを多項式カーネル(A)やガウスカーネル(B)に変更します。 カーネル関数は元のベクトルxを非線形写像によって高次元空間に写像した特徴ベクトルφ(x)の内積(C)で定義されます。 一般に特徴ベクトルφ(x)は高次元空間(無限次元空間でもOK)になるので普通にやってたら内積の計算量が非常に大きくなります。そこで、特徴ベクトルφ(x)の内積を計算せずに多項式カーネル(A)やガウスカーネル(B)の計算で置き換えるテクニックをカーネルトリックと呼ぶとのこと。多項式カーネルやガウスカーネルを使うとφ(x)を陽に計算する必要がなくなります。ただ、元の空間xでの内積は必要なんですよね・・・最初は、カーネルトリックのありがたみがよくわからなかったのですが、「入力空

    非線形SVM - 人工知能に関する断創録
  • サポートベクターマシンとは[カーネル法による非線形サポートベクターマシン] - verum ipsum factum

    ここからはこれまで述べてきたサポートベクターマシンにカーネル法を適用することにより非線形サポートベクターマシンへ拡張することを考えます。 カーネル法の導入 これまで述べてきたサポートベクターマシーン分離面が超平面であることを前提としていました。しかし、実際の問題では正例データと負例データの境界が超平面であるよりは、複雑に入り組んだ超曲面である可能性が高いことが想定されます。 このようなデータに、これまで述べてきたようなクラス境界を超平面とするサポートベクターマシーンを適用しても、高い分類性能を期待することは難しそうです。 たとえば下図のような単純なケースでさえ正例データ(○)と負例データ(×)を分ける直線は存在しないため、100%の分類性能は達成できません。 しかし、このようなデータでも線形分離が可能になるような別の空間へ変換できれば、変換先の空間ではクラス境界が超平面になるのでサポートベ

    サポートベクターマシンとは[カーネル法による非線形サポートベクターマシン] - verum ipsum factum
  • R言語でSVM(Support Vector Machine)による分類学習 - Y's note

    サポートベクターマシン入門 作者: ネロクリスティアニーニ,ジョンショー‐テイラー,Nello Cristianini,John Shawe‐Taylor,大北剛出版社/メーカー: 共立出版発売日: 2005/03メディア: 単行購入: 8人 クリック: 135回この商品を含むブログ (41件) を見る SVMとは Support Vector Machineの略で教師あり学習に分類されます。線形、非線形の識別関数があり現在知られている多くの学習モデルの中では最も優れた識別能力があるとされています。いわゆる2値分類を解くための学習モデルであり、線形しきい素子を用いて分類器を構成します。訓練データにおける各データ点と距離が最大になるマージン最大化という基準で線形しきい素子のパラメータを学習させます。シンプルな例は与えられたデータ集合を全て線形に分離する事です。SVMはカーネルトリックという

    R言語でSVM(Support Vector Machine)による分類学習 - Y's note
  • SVM のチューニングのしかた(1) - ほくそ笑む

    SVM のチューニング SVM(Support Vector Machine) はみなさん御存じ機械学習の手法です。 SVM はデフォルト設定でモデルを作ってもしょうがないです。gamma と cost というパラメータがあるので、これらの値に最適値を設定しなければなりません。R の SVM の Help にもこう書いてあります。 Parameters of SVM-models usually must be tuned to yield sensible results! (訳) SVM でいい結果出したかったらチューニングしろよな! というわけで、SVM のチューニングのしかたについて説明したいと思います。 交差検証 おっと、その前に、交差検証の話をしなければなりません。 SVM モデルをチューニングする際、二つのパラメータでグリッドサーチをします。 すなわち、パラメータをいろいろ変

    SVM のチューニングのしかた(1) - ほくそ笑む
  • 10秒で設定可能なlibsvmで機械学習を行う - Y's note

    Support Vector Machines (Information Science and Statistics) 作者: Ingo Steinwart,Andreas Christmann出版社/メーカー: Springer発売日: 2008/08/29メディア: ハードカバー クリック: 17回この商品を含むブログを見る libsvm LIBSVM -- A Library for Support Vector Machines R言語でSVM(Support Vector Machine)による分類学習 - Yuta.Kikuchiの日記 前回RでのSVMを簡単に紹介しましたが、今日はlibsvmを利用したirisの分類学習を行いたいと思います。libsvmは導入がめちゃくちゃ簡単なところが売りだと思います。zipをlibsvmサイトからdownloadして展開してgmakeで

    10秒で設定可能なlibsvmで機械学習を行う - Y's note
  • SVM (Support Vector Machine)

    久しぶりの機械学習ネタ。 Deep Learningが何かと話題の昨今ですが、実用方面ではSVMやRandom Forestなどの古典的な手法が活躍しているらしい。 それなら、古典を学べば身近なところですぐに応用ができるのではないかと思い始めた。リッチな処理じゃなくて、すごく質素な単純作業か何かが自動化できたら面白いなぁ、と。(機械学習の古典的手法というとむしろニューラルネットワークの方らしいけど) Random Forestについては前に勉強したからそれなりに理解しているので、今回はSVMについて理解を深めておこうと思う。 Kinectの骨格検出で使用されているという機械学習アルゴリズムのRandom Forestについて、ちょっと勉強してみた。 オイラはRandom Forestの存在をSSII 2013のチュートリアルで初めて知ったんだけど、当時は機械学習...

    SVM (Support Vector Machine)
  • Python: Iris データセットをサポートベクターマシンで分類してみる

    以前実装した単純パーセプトロンは線型分離可能な問題しか解けなかった。 それに対し、サポートベクターマシン (以下 SVM) はカーネル関数を用いることで線型分離不可能な問題も解けるようになっている。 また、単純パーセプトロンでは異なるクラスタを分離するための線がクラスタのギリギリに配置されることも多かったが、SVM ではそのマージンが最大になるようにできている。 今回は SVM を自分で書くのではなく scikit-learn のそれを使った。 $ pip install scikit-learn scipy matplotlib 以下のサンプルコードでは Iris データセットの Petal length と Petal width を元に Setosa と Versicolor の二品種を分類している。 #!/usr/bin/env python # -*- coding: utf-8

    Python: Iris データセットをサポートベクターマシンで分類してみる
  • 1