การปรับมาตรฐานและการปรับขนาดคุณสมบัติทำงานอย่างไรและทำไม


61

ฉันเห็นว่าอัลกอริทึมการเรียนรู้ของเครื่องจำนวนมากทำงานได้ดีขึ้นด้วยการยกเลิกค่าเฉลี่ยและการทำให้เท่ากันความแปรปรวนร่วม ตัวอย่างเช่นโครงข่ายประสาทมีแนวโน้มที่จะมาบรรจบกันเร็วขึ้นและโดยทั่วไป K-Means จะให้การจัดกลุ่มที่ดีขึ้นด้วยคุณสมบัติที่ประมวลผลล่วงหน้า ฉันไม่เห็นปรีชาที่อยู่เบื้องหลังขั้นตอนการประมวลผลล่วงหน้าเหล่านี้นำไปสู่การปรับปรุงประสิทธิภาพ มีคนอธิบายเรื่องนี้กับฉันได้ไหม

คำตอบ:


25

เป็นเพียงกรณีของการรับข้อมูลทั้งหมดของคุณในระดับเดียวกัน: หากเครื่องชั่งสำหรับคุณสมบัติที่แตกต่างกันอย่างดุเดือดนี่อาจส่งผลกระทบต่อความสามารถในการเรียนรู้ของคุณ (ขึ้นอยู่กับวิธีการที่คุณใช้) . การสร้างความมั่นใจว่าค่าคุณลักษณะมาตรฐานจะให้น้ำหนักคุณลักษณะทั้งหมดอย่างเท่าเทียมกันในการเป็นตัวแทน


3
คุณหมายถึงอะไรโดย "สิ่งนี้อาจส่งผลกระทบต่อความสามารถในการเรียนรู้ของคุณ" บางทีคุณอาจขยายตัวได้
Charlie Parker

14
นี่ไม่ใช่คำอธิบายที่ดีจริงๆ เพื่อให้เกิดความเข้าใจที่ถูกต้องคุณต้องอธิบายให้ลึกซึ้ง
Zelphir Kaltstahl

ฉันต้องการการอ้างอิงใด ๆ กับวิทยานิพนธ์ของฉันโปรด
x-rw

40

มันเป็นความจริงที่การประมวลผลล่วงหน้าในการเรียนรู้ของเครื่องเป็นงานศิลปะที่ค่อนข้างดำ มันไม่ได้ถูกเขียนลงในเอกสารมากมายทำไมขั้นตอนก่อนการประมวลผลหลายอย่างจึงเป็นสิ่งจำเป็น ฉันก็ไม่แน่ใจว่ามันจะเข้าใจในทุกกรณี เพื่อให้สิ่งต่าง ๆ มีความซับซ้อนขึ้นอยู่กับวิธีที่คุณใช้และในโดเมนปัญหา

วิธีการบางอย่างเช่นเลียนแบบการแปลงไม่แปรเปลี่ยน หากคุณมีโครงข่ายประสาทและใช้การแปลงเลียนแบบกับข้อมูลของคุณเครือข่ายจะไม่สูญเสียหรือรับสิ่งใด ๆ ในทางทฤษฎี อย่างไรก็ตามในทางปฏิบัติโครงข่ายประสาทเทียมจะทำงานได้ดีที่สุดถ้าอินพุตอยู่กึ่งกลางและสีขาว นั่นหมายความว่าความแปรปรวนร่วมของพวกมันคือเส้นทแยงมุมและค่าเฉลี่ยคือศูนย์เวกเตอร์ ทำไมมันปรับปรุงสิ่งต่าง ๆ ? เป็นเพียงเพราะการเพิ่มประสิทธิภาพของโครงข่ายประสาททำงานได้อย่างงดงามมากขึ้นเนื่องจากฟังก์ชั่นการเปิดใช้งานที่ซ่อนอยู่นั้นไม่อิ่มตัวอย่างรวดเร็วและดังนั้นจึงไม่ให้การไล่ระดับสีใกล้ศูนย์ในช่วงต้นของการเรียนรู้

วิธีการอื่น ๆ เช่น K-Means อาจให้วิธีการแก้ปัญหาที่แตกต่างกันโดยสิ้นเชิงขึ้นอยู่กับการเตรียมประมวลผลล่วงหน้า นี่เป็นเพราะการแปลงเลียนแบบหมายถึงการเปลี่ยนแปลงในพื้นที่ตัวชี้วัด: ระยะทางแบบยุคลิด btw สองตัวอย่างจะแตกต่างกันหลังจากการเปลี่ยนแปลงนั้น

ในตอนท้ายของวันคุณต้องการเข้าใจสิ่งที่คุณทำกับข้อมูล เช่นการฟอกสีฟันในการมองเห็นด้วยคอมพิวเตอร์และการทำให้เป็นปกติอย่างชาญฉลาดนั้นเป็นสิ่งที่สมองมนุษย์ทำได้เช่นกันในการมองเห็น


17

แนวคิดการอ้างอิงและพล็อตเกี่ยวกับสาเหตุที่การนอร์มัลไลซ์อินพุทมีประโยชน์สำหรับ ANN และ k-mean:

K- หมายถึง :

K-หมายถึงการจัดกลุ่มเป็น "isotropic" ในทุกทิศทางของพื้นที่และดังนั้นจึงมีแนวโน้มที่จะสร้างกลุ่มมากขึ้นหรือน้อยลงรอบ (มากกว่ายาว) กลุ่ม ในสถานการณ์เช่นนี้ทำให้ความแปรปรวนไม่เท่ากันเท่ากับการเพิ่มน้ำหนักให้กับตัวแปรที่มีความแปรปรวนน้อยกว่า

ตัวอย่างใน Matlab:

X = [randn(100,2)+ones(100,2);...
     randn(100,2)-ones(100,2)];

% Introduce denormalization
% X(:, 2) = X(:, 2) * 1000 + 500;

opts = statset('Display','final');

[idx,ctrs] = kmeans(X,2,...
                    'Distance','city',...
                    'Replicates',5,...
                    'Options',opts);

plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
hold on
plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',12)
plot(ctrs(:,1),ctrs(:,2),'kx',...
     'MarkerSize',12,'LineWidth',2)
plot(ctrs(:,1),ctrs(:,2),'ko',...
     'MarkerSize',12,'LineWidth',2)
legend('Cluster 1','Cluster 2','Centroids',...
       'Location','NW')
title('K-means with normalization')

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

(FYI: ฉันจะตรวจสอบได้อย่างไรว่าชุดข้อมูลของฉันมีการทำคลัสเตอร์หรือไม่ทำคลัสเตอร์ (เช่นการสร้างคลัสเตอร์เดียว )

การทำคลัสเตอร์แบบกระจาย :

การวิเคราะห์เปรียบเทียบแสดงให้เห็นว่าผลการจัดกลุ่มแบบกระจายขึ้นอยู่กับประเภทของขั้นตอนการทำให้เป็นมาตรฐาน

เครือข่ายประสาทเทียม (อินพุต) :

หากตัวแปรอินพุตถูกรวมเป็นเส้นตรงเช่นเดียวกับใน MLP ดังนั้นจึงไม่ค่อยจำเป็นอย่างยิ่งที่จะต้องสร้างมาตรฐานของอินพุตอย่างน้อยก็ในทางทฤษฎี เหตุผลก็คือการลดขนาดของเวกเตอร์อินพุตใด ๆ สามารถยกเลิกได้อย่างมีประสิทธิภาพโดยการเปลี่ยนน้ำหนักและอคติที่สอดคล้องกันทำให้คุณมีผลลัพธ์ที่แน่นอนเหมือนที่คุณเคยทำมาก่อน อย่างไรก็ตามมีเหตุผลหลายประการที่สามารถนำไปใช้ในการฝึกอบรมได้เร็วขึ้นและลดโอกาสที่จะติดอยู่ใน Optima ท้องถิ่น นอกจากนี้การลดน้ำหนักและการประมาณแบบเบย์สามารถทำได้สะดวกยิ่งขึ้นด้วยอินพุตมาตรฐาน

เครือข่ายประสาทเทียม (อินพุต / เอาท์พุต)

คุณควรทำสิ่งเหล่านี้กับข้อมูลของคุณหรือไม่ คำตอบคือมันขึ้นอยู่กับ

การทำให้มาตรฐานของตัวแปรอินพุตหรือเป้าหมายมีแนวโน้มที่จะทำให้กระบวนการฝึกอบรมมีพฤติกรรมที่ดีขึ้นโดยการปรับปรุงเงื่อนไขตัวเลข (ดู ftp://ftp.sas.com/pub/neural/illcond/illcond.html ) ของปัญหาการปรับให้เหมาะสมและมั่นใจว่าค่าเริ่มต้นต่างๆ ค่าที่เกี่ยวข้องในการเริ่มต้นและการเลิกจ้างมีความเหมาะสม การกำหนดมาตรฐานเป้าหมายอาจส่งผลกระทบต่อฟังก์ชันเป้าหมาย

ควรสร้างมาตรฐานของกรณีและปัญหาด้วยความระมัดระวังเนื่องจากเป็นการทิ้งข้อมูล หากข้อมูลนั้นไม่เกี่ยวข้องดังนั้นการกำหนดมาตรฐานให้เป็นประโยชน์ค่อนข้างมาก หากข้อมูลนั้นมีความสำคัญกรณีที่เป็นมาตรฐานนั้นอาจทำให้เกิดความเสียหายได้


ที่น่าสนใจคือการเปลี่ยนหน่วยการวัดอาจนำไปสู่การมองเห็นโครงสร้างการจัดกลุ่มที่แตกต่างกันมาก: Kaufman, Leonard และ Peter J. Rousseeuw .. "การค้นหากลุ่มในข้อมูล: บทนำสู่การวิเคราะห์กลุ่ม" (2005)

ในบางแอปพลิเคชันการเปลี่ยนหน่วยการวัดอาจนำไปสู่การเห็นโครงสร้างการจัดกลุ่มที่แตกต่างกันมาก ตัวอย่างเช่นอายุ (เป็นปี) และส่วนสูง (ในหน่วยเซนติเมตร) ของคนในจินตนาการสี่คนได้รับในตารางที่ 3 และลงจุดในรูปที่ 3 ปรากฏว่า {A, B) และ {C, 0) เป็นสองกลุ่มที่แยกจากกัน . ในทางกลับกันเมื่อความสูงแสดงเป็นฟุตหนึ่งจะได้รับตารางที่ 4 และรูปที่ 4 ซึ่งกลุ่มที่เห็นได้ชัดตอนนี้คือ {A, C} และ {B, D} พาร์ติชั่นนี้แตกต่างจากครั้งแรกอย่างสิ้นเชิงเพราะแต่ละวิชาได้รับเพื่อนอีกคน (รูปที่ 4 จะแบนยิ่งขึ้นหากวัดอายุเป็นวัน)

เพื่อหลีกเลี่ยงการพึ่งพาการเลือกหน่วยการวัดสิ่งนี้จึงมีตัวเลือกในการกำหนดมาตรฐานข้อมูล สิ่งนี้จะแปลงการวัดเริ่มต้นเป็นตัวแปรแบบไม่มีหน่วย

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

Kaufman และคณะ ดำเนินการต่อด้วยข้อควรพิจารณาที่น่าสนใจ (หน้า 11):

จากมุมมองทางปรัชญาการสร้างมาตรฐานไม่สามารถแก้ปัญหาได้ แท้จริงแล้วการเลือกหน่วยการวัดทำให้น้ำหนักสัมพัทธ์ของตัวแปรสูงขึ้น การแสดงตัวแปรในหน่วยที่เล็กลงจะนำไปสู่ช่วงที่กว้างขึ้นสำหรับตัวแปรนั้นซึ่งจะมีผลอย่างมากต่อโครงสร้างผลลัพธ์ ในอีกทางหนึ่งโดยการกำหนดมาตรฐานให้พยายามทำให้น้ำหนักทั้งหมดมีค่าเท่ากันโดยหวังว่าจะบรรลุเป้าหมาย เช่นนี้มันอาจถูกใช้โดยผู้ประกอบการที่ไม่มีความรู้มาก่อน อย่างไรก็ตามอาจเป็นไปได้ว่าตัวแปรบางอย่างมีความสำคัญมากกว่าปัจจัยอื่น ๆ ในแอปพลิเคชันเฉพาะและจากนั้นการกำหนดน้ำหนักควรตั้งอยู่บนพื้นฐานของความรู้ในเรื่อง (ดูเช่น Abrahamowicz, 1985) ในทางกลับกัน, มีความพยายามคิดค้นเทคนิคการจัดกลุ่มที่ไม่ขึ้นกับขนาดของตัวแปร (Friedman and Rubin, 1967) ข้อเสนอของ Hardy และ Rasson (1982) คือการค้นหาพาร์ติชันที่ลดปริมาตรรวมของเปลือกนูนของคลัสเตอร์ โดยหลักการแล้ววิธีการนี้ไม่แปรเปลี่ยนไปตามการแปลงเชิงเส้นของข้อมูล แต่น่าเสียดายที่ไม่มีอัลกอริธึมสำหรับการนำไปใช้ (ยกเว้นการประมาณที่ จำกัด ไว้เพียงสองมิติ) ดังนั้นภาวะที่กลืนไม่เข้าคายไม่ออกของมาตรฐานดูเหมือนจะหลีกเลี่ยงไม่ได้ในปัจจุบันและโปรแกรมที่อธิบายไว้ในหนังสือเล่มนี้ปล่อยให้ทางเลือกขึ้นอยู่กับผู้ใช้ ข้อเสนอของ Hardy และ Rasson (1982) คือการค้นหาพาร์ติชันที่ลดปริมาตรรวมของเปลือกนูนของคลัสเตอร์ โดยหลักการแล้ววิธีการนี้ไม่แปรเปลี่ยนไปตามการแปลงเชิงเส้นของข้อมูล แต่น่าเสียดายที่ไม่มีอัลกอริธึมสำหรับการนำไปใช้ (ยกเว้นการประมาณที่ จำกัด ไว้เพียงสองมิติ) ดังนั้นภาวะที่กลืนไม่เข้าคายไม่ออกของมาตรฐานดูเหมือนจะหลีกเลี่ยงไม่ได้ในปัจจุบันและโปรแกรมที่อธิบายไว้ในหนังสือเล่มนี้ปล่อยให้ทางเลือกขึ้นอยู่กับผู้ใช้ ข้อเสนอของ Hardy และ Rasson (1982) คือการค้นหาพาร์ติชันที่ลดปริมาตรรวมของเปลือกนูนของคลัสเตอร์ โดยหลักการแล้ววิธีการนี้ไม่แปรเปลี่ยนไปตามการแปลงเชิงเส้นของข้อมูล แต่น่าเสียดายที่ไม่มีอัลกอริธึมสำหรับการนำไปใช้ (ยกเว้นการประมาณที่ จำกัด ไว้เพียงสองมิติ) ดังนั้นภาวะที่กลืนไม่เข้าคายไม่ออกของมาตรฐานดูเหมือนจะหลีกเลี่ยงไม่ได้ในปัจจุบันและโปรแกรมที่อธิบายไว้ในหนังสือเล่มนี้ปล่อยให้ทางเลือกขึ้นอยู่กับผู้ใช้


6

เหตุใดคุณสมบัติการปรับขนาดทำงาน ฉันสามารถให้คุณตัวอย่าง (จากQuora )

ให้ฉันตอบคำถามนี้จากมุมมอง ML ทั่วไปและไม่เพียง แต่เครือข่ายประสาท เมื่อคุณรวบรวมข้อมูลและแยกคุณสมบัติหลาย ๆ ครั้งข้อมูลจะถูกรวบรวมในระดับที่แตกต่างกัน ยกตัวอย่างเช่นอายุของพนักงานใน บริษัท ที่อาจจะอยู่ระหว่าง 21-70 ปีขนาดของบ้านที่พวกเขาอาศัยเป็น 500-5,000 ตารางฟุตและเงินเดือนของพวกเขาอาจมีตั้งแต่ 80000. ในสถานการณ์เช่นนี้ถ้าคุณใช้แบบยุคลิดง่าย ตัวชี้วัดคุณลักษณะอายุจะไม่เล่นบทบาทใด ๆ เพราะมีหลายคำสั่งซื้อที่เล็กกว่าคุณสมบัติอื่น ๆ อย่างไรก็ตามอาจมีข้อมูลสำคัญบางอย่างที่อาจเป็นประโยชน์สำหรับงาน ในที่นี้คุณอาจต้องการทำให้ฟีเจอร์เหล่านี้กลับสู่มาตรฐานในระดับปกติเช่น [0,1] ดังนั้นคุณลักษณะเหล่านี้จึงมีส่วนร่วมอย่างเท่าเทียมกันขณะคำนวณระยะทาง30000


4
หากคุณกำลังอ้างถึงโพสต์จาก Quora คุณจะต้องเชื่อมโยงไปยังแหล่งที่มา
Matthew Drury

5

มีสองประเด็นที่แยกจากกัน:

a) การเรียนรู้ฟังก์ชั่นที่เหมาะสมเช่น k- หมายถึง: ขนาดอินพุตโดยทั่วไประบุความคล้ายคลึงกันดังนั้นกลุ่มที่พบขึ้นอยู่กับการปรับขนาด การทำให้เป็นมาตรฐาน - เช่นน้ำหนัก l2 การทำให้เป็นมาตรฐาน - คุณคิดว่าน้ำหนักแต่ละตัวควร "เล็กเท่ากัน" - หากข้อมูลของคุณไม่ได้รับการปรับขนาด "เหมาะสม" นี่จะไม่เกิดขึ้น

b) การปรับให้เหมาะสมที่สุด ได้แก่ โดยการไล่ระดับสี (เช่นเครือข่ายประสาทส่วนใหญ่) สำหรับการไล่ระดับสีคุณต้องเลือกอัตราการเรียนรู้ ... แต่อัตราการเรียนรู้ที่ดี (อย่างน้อยในเลเยอร์ที่ซ่อนอยู่ที่ 1) ขึ้นอยู่กับการปรับขนาดอินพุต: อินพุตขนาดเล็ก [ที่เกี่ยวข้อง] จะต้องใช้น้ำหนักที่มากขึ้น อัตราสำหรับน้ำหนักเหล่านั้น (เพื่อให้เร็วขึ้น) และ vv สำหรับอินพุตขนาดใหญ่ ... เนื่องจากคุณต้องการใช้อัตราการเรียนรู้เดียวคุณจึงลดอินพุตของคุณ (และการฟอกสีฟันเช่นการตกแต่งก็มีความสำคัญด้วยเหตุผลเดียวกัน)


1

ฉันกำลังจะเสร็จโครงข่ายประสาทของเจฟฟรีย์ฮินตันสำหรับการเรียนรู้ของเครื่องบน Coursera และเขาอธิบายสิ่งนี้ในบทบรรยายที่ 6b: "ถุงของกลอุบายสำหรับการไล่ระดับสีแบบมินิ - แบทช์" คุณสามารถดูตัวอย่างวิดีโอได้โดยไม่ต้องสมัครหรือลงชื่อเข้าใช้


1

บทความนี้พูดถึง k-mean เท่านั้น แต่มันอธิบายและพิสูจน์ความต้องการของข้อมูลก่อนการประมวลผลค่อนข้างดี

การกำหนดมาตรฐานเป็นขั้นตอนก่อนการประมวลผลกลางในการขุดข้อมูลเพื่อกำหนดค่ามาตรฐานของคุณสมบัติหรือแอตทริบิวต์จากช่วงไดนามิกที่แตกต่างกันในช่วงที่เฉพาะเจาะจง ในบทความนี้เราได้วิเคราะห์การแสดงของวิธีการมาตรฐานสามวิธีบนอัลกอริทึม K-mean แบบดั้งเดิม จากการเปรียบเทียบผลลัพธ์ของชุดข้อมูลโรคติดเชื้อพบว่าผลลัพธ์ที่ได้จากวิธีการกำหนดมาตรฐาน z-score นั้นมีประสิทธิภาพและประสิทธิผลมากกว่าวิธีการปรับมาตรฐาน min-max และทศนิยม

.

... หากมีคุณสมบัติบางอย่างที่มีขนาดใหญ่หรือมีความแปรปรวนได้ดีคุณสมบัติประเภทนี้จะมีผลอย่างมากต่อผลการจัดกลุ่ม ในกรณีนี้การกำหนดมาตรฐานข้อมูลจะเป็นงานที่สำคัญในการประมวลผลล่วงหน้าเพื่อปรับขนาดหรือควบคุมความแปรปรวนของชุดข้อมูล

.

... คุณลักษณะต้องไม่มีมิติเนื่องจากค่าตัวเลขของช่วงคุณลักษณะมิติขึ้นอยู่กับหน่วยการวัดและด้วยเหตุนี้การเลือกหน่วยการวัดจึงอาจเปลี่ยนแปลงผลลัพธ์ของการจัดกลุ่มอย่างมีนัยสำคัญ ดังนั้นหนึ่งไม่ควรใช้มาตรการระยะทางเช่นระยะทางแบบยุคลิดโดยไม่ต้องมีชุดข้อมูลปกติ

ที่มา: http://maxwellsci.com/print/rjaset/v6-3299-3303.pdf


1

การประมวลผลล่วงหน้ามักจะทำงานได้เนื่องจากมันลบคุณลักษณะของข้อมูลที่ไม่เกี่ยวข้องกับปัญหาการจำแนกประเภทที่คุณกำลังพยายามแก้ไข คิดเช่นการจำแนกข้อมูลเสียงจากลำโพงที่แตกต่างกัน ความผันผวนของความดัง (แอมพลิจูด) อาจไม่เกี่ยวข้องในขณะที่คลื่นความถี่นั้นเป็นลักษณะที่เกี่ยวข้องจริงๆ ดังนั้นในกรณีนี้แอมพลิจูดปกติจะเป็นประโยชน์สำหรับอัลกอริธึม ML ส่วนใหญ่เพราะมันจะลบมุมมองของข้อมูลที่ไม่เกี่ยวข้องและจะทำให้เครือข่ายประสาทเทียมมีรูปแบบปลอม


1

ฉันคิดว่าสิ่งนี้ทำได้ง่ายเพื่อให้คุณลักษณะที่มีค่ามากกว่าไม่บดบังผลกระทบของคุณสมบัติที่มีค่าน้อยลงเมื่อเรียนรู้การแยกประเภท สิ่งนี้จะกลายเป็นสิ่งสำคัญอย่างยิ่งหากคุณลักษณะที่มีค่าน้อยลงจริง ๆ แล้วช่วยแบ่งชั้นได้ตัวแยกประเภทเช่นการถดถอยโลจิสติกจะมีปัญหาในการเรียนรู้ขอบเขตการตัดสินใจเช่นหากมีอยู่ในระดับจุลภาคของคุณลักษณะและเรามีคุณสมบัติอื่น ๆ . นอกจากนี้ยังช่วยให้อัลกอริทึมในการบรรจบกันดีขึ้น ดังนั้นเราจะไม่ใช้โอกาสใด ๆ ในการเข้ารหัสสิ่งเหล่านี้ในอัลกอริทึมของเรา มันง่ายมากสำหรับลักษณนามเพื่อเรียนรู้การมีส่วนร่วม (น้ำหนัก) ของคุณสมบัติด้วยวิธีนี้ ความจริงสำหรับ K ยังหมายถึงเมื่อใช้บรรทัดฐานแบบยูคลิด (ความสับสนเนื่องจากขนาด) อัลกอริทึมบางอย่างสามารถทำงานได้โดยไม่ทำให้ปกติ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.