機器學習 多維縮放

2022-09-12 03:18:13 字數 931 閱讀 1271

多維縮放,指一組n維資料,用m(偽**(太偽了):

計算出實際一組資料之間的距離矩陣。

隨機生成一組m維資料,申請存放這組m維的調整值的空間,和誤差率空間。

多次調整直至迴圈結束或者誤差更多。

調整方法:

為每個m維資料,計算到其他個資料的距離,跟實際上n維下的距離比較,得出誤差率,然後累加每一維度的誤差值:【a和b的xyz共m維資料之差/ab的距離】*誤差率。

此次誤差率的絕對值比上次大,結束,否則根據每個m維資料的誤差值,調整每個m維上的資料+=rate*誤差值。 

簡單說就是,先虛擬出來這一組x個降維後的資料,根據和其他x-1個資料的誤差,調整每個陣列的每個維度的值。累加調整值的確定,每個維向每個資料移動多少,目前是根據誤差率*單位距離的維度差。最終,累加值*rate。

遺留問題:

(1)rate如何確定?試驗過程中,應該最終怎麼取值?選取迭代次數少的還是誤差值小的?

(2)如果降1維,可以有n個選擇。如果降2維,cn2個。實際操作中,會怎麼選擇?

(3)實際應用的意義是什麼呢?為什麼要選擇降維呢?資料分析時,降維能帶來哪些好處呢?可以減少冗餘?去雜訊?尚未入門的小白,完全糊塗。那增維呢?

(4)縮放維這個演算法的數學基礎目前未知。如用矩陣表示資料,相當於去掉或者增加一些列,還能保證各行之間的相對距離不變。記得線數好像是有對應定理之類的吧?

這種演算法思想:先虛擬後調整虛擬點為準確點。(對於分類來說,平均值便是準確點,對於多維縮放來說,誤差率*單位距離差的累加調整便是接近準確)。

不僅多維縮放是這樣,k均值聚類也是這樣:

構造k行資料,每列的取值範圍在已有資料的該列的最小和最大之間,然後將每個點選擇乙個最近的某點,放入該類。然後k個點重新取值為中心點,直至k個點的所容納的點不再變化。

而2分聚類,則相當於構造二分樹的過程。不假設,直接互相算距離,距離近的就合為乙個,接著互相算,合併。直到剩乙個。

機器學習演算法 多維縮放(MDS)

多維縮放 mutiple dimensional scaling 是一種經典的降維方法,可以緩解在高維情形下出現的資料樣本稀疏和距離計算困難等問題,即 維數災難 假定m 個樣本在原始空間的距離矩陣為 d rm m 其第i 行和第j列的元素di stij 為樣本xi 和 xj 的距離。我們的目標是獲得...

機器學習之多維縮放 MDS 降維

coding utf 8 created on mon nov 26 17 25 11 2018 author muli import numpy as np import matplotlib.pyplot as plt from sklearn import datasets,manifold ...

Udacity 機器學習入門 特徵縮放

因為在這裡,體重完全主導了結果,身高的影響微乎其微。而我們應該盡量讓兩者對結果有同等重要的影響。這就引來了特徵縮放 把特徵都限制在 0,1 之間。解釋 特點 縮放後的特徵值總是在0和1之間 def featurescaling arr import numpy as np arr np.array ...