对数坐标归一化_数据归一化,标准化的几种方法
歸一化方法(Normalization Method)
1。 把數(shù)變?yōu)?0,1)之間的小數(shù)
主要是為了數(shù)據(jù)處理方便提出來的,把數(shù)據(jù)映射到0~1范圍之內(nèi)處理,更加便捷快速,應該歸到數(shù)字信號處理范疇之內(nèi)。
2 。把有量綱表達式變?yōu)闊o量綱表達式
歸一化是一種簡化計算的方式,即將有量綱的表達式,經(jīng)過變換,化為無量綱的表達式,成為純量。
比如,復數(shù)阻抗可以歸一化書寫:Z = R + jωL = R(1 + jωL/R) ,復數(shù)部分變成了純數(shù)量了,沒有量綱。
另外,微波之中也就是電路分析、信號系統(tǒng)、電磁波傳輸?shù)?#xff0c;有很多運算都可以如此處理,既保證了運算的便捷,又能凸現(xiàn)出物理量的本質(zhì)含義。
標準化方法(Normalization Method)
數(shù)據(jù)的標準化是將數(shù)據(jù)按比例縮放,使之落入一個小的特定區(qū)間。由于信用指標體系的各個指標度量單位是不同的,為了能夠?qū)⒅笜藚⑴c評價計算,需要對指標進行規(guī)范化處理,通過函數(shù)變換將其數(shù)值映射到某個數(shù)值區(qū)間。一般常用的有以下幾種方法。
(1) 最小-最大規(guī)范化對原始數(shù)據(jù)進行線性變換。假定MaxA與MinA分別表示屬性A的最大與最小值。最小最大規(guī)范化通過計算將屬性A的值映射到區(qū)間[a, b]上的v。一般來說,將最小-最大規(guī)范化在用于信用指標數(shù)據(jù)上,常用的有以下兩種函數(shù)形式:
a) 效益型指標(越大越好型)的隸屬函數(shù):
b) 成本型指標(越小越好型)的隸屬函數(shù):
(2) z-score規(guī)范化也稱零-均值規(guī)范化。屬性A的值是基于A的平均值與標準差規(guī)范化。
(3) 小數(shù)定標規(guī)范化是通過移動屬性A的小數(shù)點位置來實現(xiàn)的。小數(shù)點的移動位數(shù)依賴于A的最大絕對值。
///
關于神經(jīng)網(wǎng)絡歸一化方法的整理
由于采集的各數(shù)據(jù)單位不一致,因而須對數(shù)據(jù)進行[-1,1]歸一化處理,歸一化方法主要有如下幾種,供大家參考:(by james)
1、線性函數(shù)轉(zhuǎn)換,表達式如下:
y=(x-MinValue)/(MaxValue-MinValue)
說明:x、y分別為轉(zhuǎn)換前、后的值,MaxValue、MinValue分別為樣本的最大值和最小值。
2、對數(shù)函數(shù)轉(zhuǎn)換,表達式如下:
y=log10(x)
說明:以10為底的對數(shù)函數(shù)轉(zhuǎn)換。
3、反余切函數(shù)轉(zhuǎn)換,表達式如下:
y=atan(x)*2/PI
歸一化是為了加快訓練網(wǎng)絡的收斂性,可以不進行歸一化處理
歸一化的具體作用是歸納統(tǒng)一樣本的統(tǒng)計分布性。歸一化在0-1之間是統(tǒng)計的概率分布,歸一化在-1–+1之間是統(tǒng)計的坐標分布。歸一化有同一、 統(tǒng)一和合一的意思。無論是為了建模還是為了計算,首先基本度量單位要同一,神經(jīng)網(wǎng)絡是以樣本在事件中的統(tǒng)計分別幾率來進行訓練(概率計算)和預測的,歸一 化是同一在0-1之間的統(tǒng)計概率分布;
當所有樣本的輸入信號都為正值時,與第一隱含層神經(jīng)元相連的權值只能同時增加或減小,從而導致學習速度很慢。為了避免出現(xiàn)這種情況,加快網(wǎng)絡學習速度,可以對輸入信號進行歸一化,使得所有樣本的輸入信號其均值接近于0或與其均方差相比很小。
歸一化是因為sigmoid函數(shù)的取值是0到1之間的,網(wǎng)絡最后一個節(jié)點的輸出也是如此,所以經(jīng)常要對樣本的輸出歸一化處理。所以這樣做分類的問題時用[0.9 0.1 0.1]就要比用[1 0 0]要好。
但是歸一化處理并不總是合適的,根據(jù)輸出值的分布情況,標準化等其它統(tǒng)計變換方法有時可能更好。
關于用premnmx語句進行歸一化:
premnmx語句的語法格式是:[Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T)
其中P,T分別為原始輸入和輸出數(shù)據(jù),minp和maxp分別為P中的最小值和最大值。mint和maxt分別為T的最小值和最大值。
premnmx函數(shù)用于將網(wǎng)絡的輸入數(shù)據(jù)或輸出數(shù)據(jù)進行歸一化,歸一化后的數(shù)據(jù)將分布在[-1,1]區(qū)間內(nèi)。
我們在訓練網(wǎng)絡時如果所用的是經(jīng)過歸一化的樣本數(shù)據(jù),那么以后使用網(wǎng)絡時所用的新數(shù)據(jù)也應該和樣本數(shù)據(jù)接受相同的預處理,這就要用到tramnmx。
下面介紹tramnmx函數(shù):
[Pn]=tramnmx(P,minp,maxp)
其中P和Pn分別為變換前、后的輸入數(shù)據(jù),maxp和minp分別為premnmx函數(shù)找到的最大值和最小值。
(by terry2008)
matlab中的歸一化處理有三種方法
1. premnmx、postmnmx、tramnmx
2. restd、poststd、trastd
3. 自己編程
具體用那種方法就和你的具體問題有關了
(by happy)
pm=max(abs(p(i,:))); p(i,:)=p(i,:)/pm;
和
for i=1:27
p(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));
end 可以歸一到0 1 之間
0.1+(x-min)/(max-min)*(0.9-0.1)其中max和min分別表示樣本最大值和最小值。
這個可以歸一到0.1-0.9
=============
數(shù)據(jù)類型相互轉(zhuǎn)換
這種轉(zhuǎn)換可能發(fā)生在算術表達式、賦值表達式和輸出時。轉(zhuǎn)換的方式有兩種:自動轉(zhuǎn)換和強制轉(zhuǎn)換。
========
自動轉(zhuǎn)換
自動轉(zhuǎn)換由編譯系統(tǒng)自動完成,可以將一種數(shù)據(jù)類型的數(shù)據(jù)轉(zhuǎn)換為另外一種數(shù)據(jù)類型的數(shù)據(jù)。
1)算術運算中的數(shù)據(jù)轉(zhuǎn)換
如果一個運算符有兩個不同類型的運算分量,C語言在計算該表達式時會自動轉(zhuǎn)換為同一種數(shù)據(jù)類型以便進行運算。先將較低類型的數(shù)據(jù)提升為較高的類型,從而使 兩者的數(shù)據(jù)類型一致(但數(shù)值不變),然后再進行計算,其結(jié)果是較高類型的數(shù)據(jù)。 自動轉(zhuǎn)換遵循原則——“類型提升”:轉(zhuǎn)換按數(shù)據(jù)類型提升(由低向高)的方向進行,以保證不降低精度。 數(shù)據(jù)類型的高低是根據(jù)其類型所占空間的大小來判定,占用空間越大,類型越高。反之越低。 例如:算術運算x+y,如果x和y的類型都是int型變量,則x+y的結(jié)果自然是int型。如果x是short型而y是int型,則需要首先將x轉(zhuǎn)換為 int型,然后再與y進行加法計算,表達式的結(jié)果為int型。
2)賦值運算的類型轉(zhuǎn)換
在執(zhí)行賦值運算時,如果賦值運算符兩側(cè)的數(shù)據(jù)類型不同,賦值號右側(cè)表達式類型的數(shù)據(jù)將轉(zhuǎn)換為賦值號左側(cè)變量的類型。轉(zhuǎn)換原則是:當賦值運算符“=”右側(cè)表達式的值被計算出來后,不論是什么類型都一律轉(zhuǎn)換為“=”左側(cè)的變量的類型,然后再賦值給左側(cè)的變量。
例如:float a;
a=10;? /*結(jié)果為a=10.0(數(shù)據(jù)填充)*/
int a;
a=15.5 /* 結(jié)果為a=15(數(shù)據(jù)截取)*/
在賦值類型轉(zhuǎn)換時要注意數(shù)值的范圍不能溢出。既要在該數(shù)據(jù)類型允許的范圍內(nèi)。如如果右側(cè)變量數(shù)據(jù)類型長度比左側(cè)的長時,將丟失一部分數(shù)據(jù),從而造成數(shù)據(jù)精度的降低。
3)數(shù)據(jù)輸出時的類型轉(zhuǎn)換
在輸出時,數(shù)據(jù)將轉(zhuǎn)換為格式控制符所要求的類型。同樣可能發(fā)生數(shù)據(jù)丟失或溢出。類型轉(zhuǎn)換的實際情況是:字符型到整型是取字符的ASCII碼值;整型到字符 型只是取其低8位;實型到整型要去掉小數(shù)部分;整型到實型數(shù)值不變,但以實數(shù)形式存放;雙精度到實型是四舍五入的。
========
強制轉(zhuǎn)換
一般情況下,數(shù)據(jù)類型的轉(zhuǎn)換通常是由編譯系統(tǒng)自動進行的,不需要程序員人工編寫程序干預,所以又被稱為隱式類型轉(zhuǎn)換。但如果程序要求一定將某一類型的數(shù)據(jù) 從該種類型強制地轉(zhuǎn)換為另外一種類型,則需要人工編程進行強制類型轉(zhuǎn)換,也稱為顯式轉(zhuǎn)換。強制類型轉(zhuǎn)換的目地是使數(shù)據(jù)類型發(fā)生改變,從而使不同類型的數(shù)據(jù) 之間的運算能夠進行下去。
語法格式如下:
(類型說明符)表達式
功能是強行地將表達式的類型轉(zhuǎn)換為括號內(nèi)要求的類型。
例如:(int)4.2的結(jié)果是4;
又如:int x;
(float)x;x的值被強制轉(zhuǎn)換為實型,但是并不改變的x類型是整型。只是在參與運算處理時按照實型處理。
======
線性函數(shù)轉(zhuǎn)轉(zhuǎn)講一系列數(shù)據(jù)映射到相應區(qū)間,例如將所有數(shù)據(jù)映射到 1~100
可用下列函數(shù)
y=((x-min)/(max-min))*(100-1)+1
1-100 范圍內(nèi)
min是數(shù)據(jù)集中最小值,max是最大值
http://www.codeweblog.com/%E6%95%B0%E6%8D%AE%E5%BD%92%E4%B8%80%E5%8C%96-%E6%A0%87%E5%87%86%E5%8C%96%E7%9A%84%E5%87%A0%E7%A7%8D%E6%96%B9%E6%B3%95/
總結(jié)
以上是生活随笔為你收集整理的对数坐标归一化_数据归一化,标准化的几种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于java电子病历系统计算机毕业设计源
- 下一篇: ubuntu升级命令