การฝังเพื่อนบ้านแบบเฟ้นสุ่มแจกแจง t

การฝังเพื่อนบ้านแบบเฟ้นสุ่มแจกแจง t (t-distributed stochastic neighbor embedding, t-SNE) เป็นวิธีการทางสถิติสำหรับการแสดงข้อมูลมิติสูงด้วยการกำหนดตำแหน่งข้อมูลแต่ละจุดในแผนที่สองมิติหรือสามมิติ โดยมีพื้นฐานจากขั้นตอนวิธีการฝังเพื่อนบ้านแบบเฟ้นสุ่มที่พัฒนาขึ้นครั้งแรกโดยเจฟฟรีย์ ฮินตัน และ แซม โรไวส์ (Sam Roweis) แล้วได้รับการเสนอรูปแบบการแจกแจงที โดย เลาเรินส์ ฟัน แดร์ มาเติน (Laurens van der Maaten) และฮินตัน วิธีนี้เป็นการลดมิติแบบไม่เชิงเส้น ซึ่งเหมาะสำหรับการฝังข้อมูลมิติสูงลงในพื้นที่มิติต่ำ (2 มิติ หรือ 3 มิติ) สำหรับการแสดงให้เห็นเป็นภาพ โดยเฉพาะอย่างยิ่ง เมื่อจัดเรียงชุดข้อมูลมิติสูงใน 2 หรือ 3 มิติ ชุดที่คล้ายกันจะสัมพันธ์กับความน่าจะเป็นสูงในบริเวณใกล้เคียง และชุดที่แตกต่างกันจะสัมพันธ์กันในบริเวณที่ห่างไกล
ขั้นตอนวิธี t-SNE โดยหลักแล้วประกอบด้วย 2 ขั้นตอน โดยขั้นแรก คือการสร้างการแจกแจงความน่าจะเป็นเพื่อให้คู่ของข้อมูลมิติสูงแต่ละคู่มีแนวโน้มที่จะเลือกกลุ่มที่คล้ายกัน ในขณะที่ชุดที่แตกต่างจะมีความน่าจะเป็นที่จะอยู่กลุ่มเดียวกันน้อย ขั้นตอนต่อมาคือ กำหนดการแจกแจงความน่าจะเป็นที่คล้ายกันสำหรับเซตบนแผนที่มิติต่ำ และค้นหาตำแหน่งของจุดในแผนที่มิติต่ำที่จะลดไดเวอร์เจนซ์คัลแบ็ก–ไลบ์เลอร์ระหว่างการแจกแจงทั้งสองให้เหลือน้อยที่สุด ขั้นตอนวิธีดั้งเดิมใช้ระยะทางแบบยุคลิด เป็นการวัดความคล้ายคลึงกันระหว่างจุดสองจุด แต่จำเป็นต้องแก้ไขอย่างเหมาะสมตามความจำเป็น
t-SNE ถูกนำมาใช้เพื่อแสดงภาพในการใช้งานที่หลากหลาย รวมถึงการวิจัยด้านความมั่นคงคอมพิวเตอร์ การวิเคราะห์ดนตรี การวิจัยมะเร็ง ชีวสารสนเทศศาสตร์ และการประมวลผลสัญญาณทางชีวการแพทย์ นอกจากนี้ยังมักใช้เพื่อแสดงภาพตัวแทนระดับสูงที่เรียนรู้จากโครงข่ายประสาทเทียม
แม้ว่ามักจะมองเห็นกลุ่มก้อนได้ในแผนภาพ t-SNE แต่ก็จำเป็นต้องมีความเข้าใจที่ดีเกี่ยวกับพารามิเตอร์ t-SNE เนื่องจากกลุ่มก้อนที่มองเห็นอาจเปลี่ยนไปอย่างมากโดยขึ้นกับพารามิเตอร์ที่เลือก กลุ่มก้อนดังกล่าวยังสามารถปรากฏขึ้นมาได้จากข้อมูลที่ไม่ใช่กลุ่มก้อนจริง นั่นคืออาจทำให้ได้กลุ่มก้อนปลอม ดังนั้นจึงอาจจำเป็นต้องค้นหาซ้ำโดยเลือกพารามิเตอร์และตรวจสอบผลลัพธ์ใหม่ t-SNE มักจะสามารถกู้คืนกลุ่มก้อนที่แยกจากกันได้ดี ได้มีการสาธิตให้เห็นถึงรูปแบบที่เรียบง่ายของรูปร่างกลุ่มสเปกตรัมโดยการเลือกพารามิเตอร์พิเศษแล้ว
รายละเอียด.
สมมุติว่ามีชุดข้อมูล <math>N</math> ตัวที่แสดงค่าหลายมิติ <math>\mathbf{x}_1, \dots, \mathbf{x}_N</math> วัตถุประสงค์ของเราคือแสดงชุดข้อมูลนี้ในรูปของ <math>\mathbf{y}_1, \dots, \mathbf{y}_N</math> ที่มีจำนวนมิติต่ำกว่าที่สามารถสะท้อนให้เห็นถึงลักษณะความคล้ายคลึงกันของชุดข้อมูลมิติสูง
พารามิเตอร์สำหรับ t-SNE ได้แก่ ค่าความงุนงง (perplexity) ของพารามิเตอร์ฟังก์ชันการสูญเสียและจำนวนการคำนวณวนซ้ำ <math>T</math> ของพารามิเตอร์การปรับให้เหมาะสม, อัตราการเรียนรู้ <math>\eta</math>, โมเมนตัม <math>\alpha(t)</math> ฟัน แดร์ มาเติน ได้อธิบายไว้ว่าสมรรถนะของ t-SNE ไม่ค่อยขึ้นกับค่าความงุนงง โดยค่าความงุนงงที่เหมาะสมที่สุดนั้นต่างกันไปขึ้นอยู่กับข้อมูลที่ใช้ แต่โดยทั่วไปจะอยู่ระหว่าง 5 ถึง 50
ขั้นแรก เราคำนวณความคล้ายคลึงกันของแต่ละคู่สำหรับชุดข้อมูลมิติสูง ฟัน แดร์ มาเติน และ ฮินตัน ได้อธิบายว่า "ถ้าเลือกจุดข้อมูล <math>x_j</math> โดยอิงตาม <math>x_i</math> ให้เป็นสัดส่วนกับการแจกแจงความหนาแน่นความน่าจะเป็นแบบปรกติที่มีใจกลางอยู่ที่ <math>x_i</math> แล้ว ความคล้ายคลึงกันระหว่าง <math>x_j</math> กับ <math>x_i</math> จะแสดงได้เป็นความน่าจะเป็นมีเงื่อนไข <math>p_{j|i}</math>"
 <math>p_{j\mid i} = \frac{\exp(-\lVert\mathbf{x}_i - \mathbf{x}_j\rVert^2 / 2\sigma_i^2)}{\sum_{k \neq i} \exp(-\lVert\mathbf{x}_i - \mathbf{x}_k\rVert^2 / 2\sigma_i^2)}</math>
โดยสำหรับจุดเดียวกันจะได้ว่า <math>p_{i\mid i}=0</math>
<math>\sigma_i</math> คือค่าเบี่ยงเบนของการแจกแจงปรกติ ซึ่งอาจหาได้โดยวิธีแบ่งครึ่ง เป็นไปตามความสัมพันธ์ความงุนงงดังต่อไปนี้
 <math>Perp(P_i) =2^{H(P_i)}</math>
 <math>H(P_i)=-\sum_j p_{j\mid i} \log_{2} p_{j\mid i} </math>
ในที่นี้ <math>H(P_i)</math> คือเอนโทรปีของข้อมูล หากกระจุกกันอยู่อย่างหนาแน่นในพื้นที่แคบแล้ว <math>\sigma_i</math> จะเป็นค่าที่มีขนาดเล็ก
จากนั้นความน่าจะเป็นร่วม <math>p_{ij}</math> คำนวณได้โดยใช้สูตรต่อไปนี้
 <math>p_{ij} = \frac{p_{j\mid i} + p_{i\mid j}}{2N}</math>
โดยในกรณี <math> i = j </math> จะกลายเป็น 0 (นั่นคือ <math>p_{ii} = 0 </math>)
ให้ผลเฉลยตั้งต้น <math>Y^{(0)}</math> ได้จากการสุ่มตัวอย่างของการแจกแจงแบบเกาส์เซียนที่มีค่าเฉลี่ยเป็น 0
สุดท้าย ให้ทำซ้ำ T ครั้ง หาผลเฉลย <math>Y^{(T)}</math> ในขั้นตอนต่อไปตั้งแต่ขั้น t=1 ถึง t=T
คำนวณความคล้ายคลึงมิติต่ำสำหรับ <math>Y^{(t-1)}</math> ซึ่งเป็ผลเฉลยที่ t-1 
ความน่าจะเป็นร่วมโดยใช้การแจกแจงที (การแจกแจงโคชี) โดยมีองศาเสรีเป็น 1
 <math>q_{ij} = \frac{(1 + \lVert \mathbf{y}_i - \mathbf{y}_j\rVert^2)^{-1}}{\sum_{k \neq l} (1 + \lVert \mathbf{y}_k - \mathbf{y}_l\rVert^2)^{-1}}</math>
อย่างไรก็ตาม จะให้ค่าเป็น 0 สำหรับคู่ที่มีจุดเดียวกัน <math> q_{ii} = 0 </math>
ให้ไดเวอร์เจนซ์คัลแบ็ก–ไลบ์เลอร์สำหรับการแจกแจง P ของ <math>p_{ij}</math> และการแจกแจง Q ของ <math>q_{ij}</math> เป็นฟังก์ชันเป้าหมาย แล้วหาผลเฉลย <math>Y^{(t)}</math> ที่ทำให้มีค่าต่ำที่สุด
 <math>KL(P||Q) = \sum_{i \neq j} p_{ij} \log \frac{p_{ij}}{q_{ij}}</math>
คำนวณความชันของฟังก์ชันเป้าหมายสำหรับแต่ละ i
 <math>\frac{\delta C}{\delta y_{i}}= 4 \sum_{j} (p_{ij} -q_{ij})(y_i -y_j) (1+\lVert y_i - y_j \rVert^2)^{-1} </math>
ความชันของฟังก์ชันเป้าหมายและคำนวณหาผลเฉลย <math>Y^{(t)}</math> ลำดับที่ t จากคำตอบก่อนหน้า
 <math>Y^{(t)}=Y^{(t-1)}+\eta \frac{\delta C}{\delta Y} + \alpha (t) \left(Y^{(t-1)} - Y^{(t-2)} \right) </math>
การแสดงผลเฉลย <math>Y^{(T)}</math> ด้วยภาพทำให้สามารถเข้าใจกลุ่มของชุดข้อมูลที่มีมิติสูงได้