質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

2回答

1084閲覧

基底関数について

assa

総合スコア35

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2020/06/25 14:54

線形回帰基底関数モデル
y=Σwxのxの部分を基底関数に変えた
Y=Σwφ(x)についてです。
多項式回帰は1次元入力xに対して基底関数φj(x)=x^jにとった線形モデルの一例である。
ここからがわからないところです。
多項式は入力変数の大域的な関数であるため、入力空間のある領域での変化がほかのすべての領域に
及んでしまう。という文がありました。これはどういう意味でしょうか

領域とは何かわからないですし、入力空間もわかりません。
わからないことだらけですが、
よかったらヒントだけでもください。
お願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

多項式は入力変数の大域的な関数であるため、入力空間のある領域での変化がほかのすべての領域に

及んでしまう。という文がありました。これはどういう意味でしょうか

まず,

…という文がありました

とかいう場合には,その出所を示すなりしてください.
そうしないと,読み手はその文の意味するところを正確に知ることができないので,
以下のように,得られる回答はあなたの文章だけからの推測になってしまいます.


話の内容の推測:

入力データが分布する空間を"入力空間"と呼称していると思われる.

ある入力データに対して,多項式を当てはめた場合を考える.
(その後で)入力データのうちのある一部だけが少し変化した場合に,再度同じ形の多項式当てはめを実施したらどうなるか.
入力データの変化が無かった個所でも,当てはめ結果が変化してしまう.
(なぜならば,多項式の各項の重みというのは,入力空間全体にわたるその多項式の形状に影響を与えるから.)

…という意味かと.

ものすごく簡単な例で言うと,(x,y)な2次元の空間上にデータ点が30個分布しているときに,それに
y = a*x + bなる直線を当てはめたとする.
で,30個のうちの1個のデータ点の位置がずれた場合に,もう一度直線を当てはめてみると,
当てはめ結果の線が通る場所は,その動いた1個の点の付近だけでなく,2次元の空間全域で変わってしまう.
…みたいな.

(「ごく一部のデータがちょっと変動しただけなのに,全体が変わるとか不便すぎる(?)」みたいなことを言っているのではないかと.←→多項式じゃなくてガウシアンみたなのを使えば一部の影響が遠くまで及ばない的な.)

投稿2020/06/26 07:00

編集2020/06/26 07:09
fana

総合スコア11658

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

assa

2020/06/26 08:04

回答ありがとうございます。 情報不足ですみませんでした。パターン認識と機械学習 上 第三章からです。 そのあとに、入力空間を分割し各領域内で多項式を当てはめることにより解決できる。 これをスプライン関数と呼ぶ。とかいてありました。 分割するというのがイメージつきません。 φが3こあれば入力空間をそれぞれφ0、φ1、φ2に分けるという意味なら、 φ_j=x^jの場合 w0*1+w1*x+w2*x^2となり φ_0=1なのでこの領域だけ横線になり、よくわかりません。
fana

2020/06/26 08:16

> (x,y)な2次元の空間上にデータ点が30個分布しているとき の例で言えば, データ点をx座標でソートして{最初の10個(xが小さいやつら), 真ん中の10個, 最後の10個(xが大きいやつら)}という3つのグループにデータを分けたとしましょう. で,それぞれの10個ずつのデータに対して直線を当てはめれば,直線が3つできますよね. ただし,それぞれの直線は,当てはめた10点のデータ点のxの範囲だけで定義されると考えましょう.(つまり,xの範囲が制限されているので,線分である.) これだと,3つの空間(xの範囲)毎に1次関数が独立して求まっているだけで,その境界でのy座標が一致しない(たまたま一致することもあるだろうけど)ので,繋ぎ合わせて折れ線にすることもできません.大変不便な結果です. これを「繋ぎ合わせて一個の曲線にできるように頑張っている」のがスプライン関数です.ざっくり言えば.
fana

2020/06/26 08:19

入力データの一部分だけを使ってローカルな曲線を求めて,それらを繋ぎ合わせて大きな曲線を作る. この方法なら,一部のデータ点の位置が変動しても,そのデータ点を使って求めているローカルな曲線の形状しか変化しない. その動いた点から遠く離れたローカルな曲線の形は変わらない.
fana

2020/06/26 08:28

スプラインは, あるローカルな曲線を求めるときに使うデータ点群と,その隣のローカルな曲線を求めるのに使うデータ点群との間で,使うデータ点を重複させることで,うまいこと滑らかに接続できるような話になっている. 例えば, ある曲線がデータ点 A,B,C,D から求められるとしたら,その隣の曲線を B,C,D,E から求め,さらにその隣の曲線は C,D,E,F から求めて… という感じ.
assa

2020/06/26 08:35

わかりやすくありがとうございました。
assa

2020/06/26 08:37

Σwφは スプライン関数を表しているんでしょうか。 それはちがいますよね
fana

2020/06/26 08:46

ざっくり「そんな雰囲気な物」であるように思うけれども,本当に数式的にその形にまとめられるかどうかは,頭悪いので答えられないです. > Σwφ これは,「ある関数の形状を,いくつかの関数(φたち)の和で表現しようぜ!」程度の話かと. 使うφたちを,{ w_0*(1), w_1*(x), w_2*(x*x), w_3*(x*x*x), ... }とするならば,それは多項式.
assa

2020/06/26 08:48

何度もありがとうございました。 次に進みたいと思います
guest

0

https://parco1021.hatenablog.com/entry/2020/02/06/213000
のサイトなど参考なるかと思います

φj(x)=x^j

はきっと
φ_j(x)=x^j
_jで下付き添え字
のことですよね

φ_j(x)=x^j
でj=0, 1, 2, ... とすると
x^0, x^1, x^2, ...
なので多項式です。

領域は日常の意味の領域でよろしいかと
入力空間は入力値の存在する空間≒入力値の範囲くらいでよろしいかと

投稿2020/06/25 21:45

aokikenichi

総合スコア2218

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

assa

2020/06/25 23:47 編集

回答ありがとうございます。 たとえば1+X+x^2の式でも分けて1とxとx^2の区間に分けて書くということなのでしょうか。 あまりイメージがつきません。
aokikenichi

2020/06/26 03:52

いえ、そういうことではなくて 1+x+x^2 と表せてしまう分布であればそう表しておしまいにするのがシンプルでいいですよね もっと複雑な分布をどう表すかというときに 1とxとx^2と…、との組み合わせとwの重みづけで表せられるんじゃないか というのがこの考え方です。 シンプルな関数の組み合わせで複雑な分布(の元となる関数)を表そうよ ということです。
assa

2020/06/26 06:31 編集

組合わせることで分布に近づけるということはりかいできました。 ありがとうございます。 教えていただいたサイトでデータを分割して重みをそれぞれ選ぶということが理解できません。 重みの範囲を選んでいるのに違和感を覚えます。 式ではΣw_iφ_i(x)のようにw_iならφ_iすべてにかかけられていると おもったからです
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問