การสุ่มแบบทอมป์สัน

จาก testwiki
ไปยังการนำทาง ไปยังการค้นหา
ตัวอย่างการใช้ การสุ่มแบบทอมป์สัน ในการจำลองการประเมินประสิทธิภาพของการรักษา

การสุ่มแบบทอมป์สัน[1][2][3] ซึ่งตั้งชื่อตาม วิลเลียม อาร์. ทอมป์สัน เป็นวิธีการแบบ heuristic สำหรับการเลือกการกระทำที่แก้ปัญหาความสมดุลระหว่าง การสำรวจและการแสวงหาผลประโยชน์ (exploration-exploitation dilemma) ในปัญหา multi-armed bandit โดยวิธีนี้จะเลือกการกระทำที่เพิ่มรางวัลคาดหวังสูงสุดตามความเชื่อที่ถูกสุ่มขึ้นมา

คำอธิบาย

แม่แบบ:No footnotes

พิจารณาชุดของบริบท 𝒳 ชุดของการกระทำ 𝒜 และรางวัลใน เป้าหมายของผู้เล่นคือการเลือกการกระทำในบริบทต่าง ๆ เพื่อเพิ่มรางวัลสะสมให้ได้มากที่สุด โดยในแต่ละรอบ ผู้เล่นจะได้รับบริบท x𝒳 เลือกการกระทำ a𝒜 และได้รับรางวัล r ซึ่งมีการกระจายตัวที่ขึ้นอยู่กับบริบทและการกระทำที่เลือก

องค์ประกอบของการสุ่มแบบทอมป์สัน ได้แก่:

1. ฟังก์ชันความน่าจะเป็น P(r|θ,a,x);


2. ชุดของพารามิเตอร์ Θ ที่กำหนดการกระจายตัวของ r;


3. การกระจายตัวก่อนหน้า (prior distribution) P(θ) สำหรับพารามิเตอร์เหล่านี้;


4. ชุดข้อมูลการสังเกตในอดีต 𝒟=(x;a;r);


5. การกระจายตัวหลัง (posterior distribution) P(θ|𝒟)P(𝒟|θ)P(θ) โดยที่ P(𝒟|θ) คือฟังก์ชันความน่าจะเป็น


การสุ่มแบบทอมป์สันประกอบด้วยการเลือกการกระทำ a𝒜 ตามความน่าจะเป็นที่การกระทำนั้นจะเพิ่มรางวัลคาดหวังสูงสุด โดยเลือกการกระทำ a ด้วยความน่าจะเป็น

𝕀[𝔼(r|a,x,θ)=maxa𝔼(r|a,x,θ)]P(θ|𝒟)dθ,

โดยที่ 𝕀 คือ ฟังก์ชันบ่งชี้ (indicator function)

ในทางปฏิบัติ กฎนี้ถูกใช้งานโดยวิธีการสุ่ม (sampling) ในแต่ละรอบ จะมีการสุ่มค่าพารามิเตอร์ θ จากการกระจายตัวหลัง P(θ|𝒟) และเลือกการกระทำ a ที่เพิ่มรางวัลคาดหวังสูงสุด 𝔼[r|θ,a,x] ซึ่งหมายความว่า ผู้เล่นจะสุ่มความเชื่อของตนในแต่ละรอบตามการกระจายตัวหลัง จากนั้นจึงกระทำตามที่เหมาะสมที่สุดกับความเชื่อนั้น

ในแอปพลิเคชันที่ใช้งานจริง การคำนวณและการสุ่มจากการกระจายตัวหลังอาจใช้ทรัพยากรสูง ดังนั้น การสุ่มแบบทอมป์สันมักใช้งานร่วมกับเทคนิคการสุ่มแบบประมาณค่า (approximate sampling techniques) [3]

ประวัติ

การสุ่มแบบทอมป์สันถูกอธิบายครั้งแรกโดย Thompson ในปี 1933[1] และถูกค้นพบอีกหลายครั้งอย่างอิสระในบริบทของปัญหาหลายแขนโจร (multi-armed bandit problems)[4][5][6][7][8][9] โดยมีการพิสูจน์การลู่เข้าครั้งแรกสำหรับกรณีปัญหา bandit ในปี 1997[4] และการประยุกต์ใช้ครั้งแรกกับ กระบวนการตัดสินใจของมาร์คอฟ (Markov decision process) ในปี 2000[6]

แนวทางที่เกี่ยวข้อง (ดู Bayesian control rule) ได้รับการเผยแพร่ในปี 2010[5] ในปีเดียวกัน ยังมีการแสดงให้เห็นว่าการสุ่มแบบทอมป์สันสามารถ แก้ไขตนเองในทันที (instantaneously self-correcting)[9] ผลการลู่เข้าที่ไม่จำกัดสำหรับปัญหา contextual bandits ถูกตีพิมพ์ในปี 2011[7]

การสุ่มแบบทอมป์สันถูกนำไปใช้ในปัญหาการเรียนรู้ออนไลน์ต่าง ๆ อย่างแพร่หลาย รวมถึงการทดสอบ A/B ในการออกแบบเว็บไซต์และการโฆษณาออนไลน์[10] และการเร่งกระบวนการเรียนรู้ในกระบวนการตัดสินใจแบบกระจายศูนย์[11] นอกจากนี้ ยังมีการเสนออัลกอริทึม Double Thompson Sampling (D-TS)[12] สำหรับ dueling bandit ซึ่งเป็นตัวแปรของปัญหา MAB แบบดั้งเดิม ที่ให้ข้อเสนอแนะในรูปของการเปรียบเทียบเป็นคู่ (pairwise comparison)

ความสัมพันธ์กับวิธีการอื่น ๆ

การจับคู่ความน่าจะเป็น

แม่แบบ:See also

การจับคู่ความน่าจะเป็น (Probability matching) เป็นกลยุทธ์การตัดสินใจที่การทำนายการเป็นสมาชิกของคลาสสอดคล้องกับอัตราส่วนของคลาสในข้อมูลฝึกอบรม ตัวอย่างเช่น หากในชุดข้อมูลฝึกอบรมมีตัวอย่างที่เป็นบวก 60% และตัวอย่างที่เป็นลบ 40% ผู้สังเกตการณ์ที่ใช้กลยุทธ์การจับคู่ความน่าจะเป็นจะทำนายคลาส "บวก" สำหรับตัวอย่างที่ไม่ระบุ 60% และคลาส "ลบ" สำหรับ 40% ของตัวอย่าง

กฎการควบคุมแบบเบย์ (Bayesian control rule)

การขยายการสุ่มแบบทอมป์สันให้ครอบคลุมสภาพแวดล้อมแบบไดนามิกและโครงสร้างเชิงสาเหตุ เรียกว่า กฎการควบคุมแบบเบย์ (Bayesian control rule) ซึ่งถูกแสดงให้เห็นว่าเป็นคำตอบที่เหมาะสมที่สุดสำหรับปัญหาการเข้ารหัสแบบปรับตัวที่มีการกระทำและการสังเกต[5] ในการกำหนดนี้ เอเจนต์ถูกมองว่าเป็นการผสมผสานระหว่างพฤติกรรมต่าง ๆ เมื่อเอเจนต์มีปฏิสัมพันธ์กับสภาพแวดล้อม มันจะเรียนรู้คุณสมบัติเชิงสาเหตุและเลือกใช้พฤติกรรมที่ลดค่าความเอนโทรปีสัมพัทธ์ (relative entropy) ไปยังพฤติกรรมที่คาดการณ์พฤติกรรมของสภาพแวดล้อมได้ดีที่สุด หากพฤติกรรมเหล่านี้ถูกเลือกตามหลักการของอรรถประโยชน์ที่คาดหวังสูงสุด พฤติกรรมของกฎการควบคุมแบบเบย์ในระยะยาวจะสอดคล้องกับพฤติกรรมของเอเจนต์ที่มีเหตุผลสมบูรณ์

การตั้งค่ามีดังนี้ ให้ a1,a2,,aT เป็นการกระทำของเอเจนต์จนถึงเวลา T และ o1,o2,,oT เป็นการสังเกตที่เอเจนต์ได้รับจนถึงเวลา T จากนั้นเอเจนต์จะออกการกระทำ aT+1 ด้วยความน่าจะเป็น:[5]

P(aT+1|a^1:T,o1:T),

โดยที่สัญลักษณ์ "hat" a^t หมายถึงว่า at เป็นการแทรกแซงเชิงสาเหตุ (ดู Causality) ไม่ใช่การสังเกตธรรมดา หากเอเจนต์มีความเชื่อ θΘ เกี่ยวกับพฤติกรรมของมัน กฎการควบคุมแบบเบย์จะกลายเป็น

P(aT+1|a^1:T,o1:T)=ΘP(aT+1|θ,a^1:T,o1:T)P(θ|a^1:T,o1:T),dθ,

โดยที่ P(θ|a^1:T,o1:T) เป็นการแจกแจงหลังการสังเกตพารามิเตอร์ θ ที่พิจารณาจากการกระทำ a1:T และการสังเกต o1:T

ในทางปฏิบัติ กฎการควบคุมแบบเบย์คือการสุ่มพารามิเตอร์ θ จากการแจกแจงหลัง P(θ|a^1:T,o1:T) ในแต่ละช่วงเวลา โดยการแจกแจงหลังคำนวณโดยใช้กฎของเบย์โดยพิจารณาเฉพาะความน่าจะเป็นเชิงสาเหตุของการสังเกต o1,o2,,oT และละเลยความน่าจะเป็นเชิงสาเหตุของการกระทำ a1,a2,,aT จากนั้นสุ่มการกระทำ aT+1 จากการแจกแจงการกระทำ P(aT+1|θ,a^1:T,o1:T)

อัลกอริทึม UCB (Upper-Confidence-Bound)

การสุ่มแบบทอมป์สันและอัลกอริทึม UCB มีคุณสมบัติพื้นฐานร่วมกันที่สนับสนุนความน่าเชื่อถือทางทฤษฎีของทั้งสองวิธี กล่าวคือ ทั้งสองวิธีจัดสรรความพยายามในการสำรวจไปยังการกระทำที่อาจเป็นการกระทำที่เหมาะสมที่สุด และในแง่นี้ถือว่า "มองโลกในแง่ดี" การใช้คุณสมบัตินี้ ทำให้สามารถแปลงขอบเขตความเสียใจ (regret bounds) ที่กำหนดไว้สำหรับอัลกอริทึม UCB ไปเป็นขอบเขตความเสียใจแบบเบย์เซียน (Bayesian regret bounds) สำหรับการสุ่มแบบทอมป์สันได้[13] หรือรวมการวิเคราะห์ความเสียใจสำหรับทั้งสองวิธีนี้และหลายคลาสของปัญหาได้[14]

อ้างอิง

แม่แบบ:Reflist

  1. 1.0 1.1 อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ ref1
  2. อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ ref1b
  3. 3.0 3.1 อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ FnTTutorial
  4. 4.0 4.1 อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ ref2
  5. 5.0 5.1 5.2 5.3 อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ ref5
  6. 6.0 6.1 อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ ref6
  7. 7.0 7.1 อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ ref4
  8. อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ ref3
  9. 9.0 9.1 อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ ref7
  10. อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ ref9
  11. อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ ref8
  12. อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ Wu2016DTS
  13. อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ RussoVanRoy2014
  14. อ้างอิงผิดพลาด: ป้ายระบุ <ref> ไม่ถูกต้อง ไม่มีการกำหนดข้อความสำหรับอ้างอิงชื่อ RussoVanRoy2013