คำถามติดแท็ก algorithms

รายการที่ชัดเจนของขั้นตอนการคำนวณที่เกี่ยวข้องในการหาวิธีแก้ปัญหาให้กับปัญหา

1
อัลกอริทึม: การค้นหาแบบไบนารีเมื่อค่าไม่แน่นอน
ฉันต้องการอัลกอริทึมเพื่อทำการค้นหาแบบไบนารีเมื่อการทดสอบในแต่ละขั้นตอนอาจให้ผลที่ผิด พื้นหลัง: ฉันต้องการให้นักเรียนอยู่ในระดับที่ยากที่สุด 12 ระดับ วิธีการในปัจจุบันเป็นสัตว์เดรัจฉานและถามคำถามแบบเลือกตอบ 60 ข้อที่มี 4 ข้อเพื่อเพิ่มความยากหยุดหลังจากผิดสามข้อและทำให้นักเรียนอยู่ในระดับ: floor((score - 1) / 5) + 1อย่างน้อย 1 เรากังวลว่าลูกค้าจะปิดเมื่อพวกเขาเผชิญกับการทดสอบคำถามถึง 60 คำถามก่อนที่พวกเขาจะสามารถใช้โปรแกรมได้จริงดังนั้นเราจึงต้องการลดจำนวนคำถามที่ถามในการทดสอบ นอกจากนี้เรายังเป็นห่วงว่าลูกค้าจะข้ามการทดสอบวัดระดับ (เพราะมันใช้เวลานาน) แล้วละทิ้งโปรแกรมไปเพราะมันดูเหมือนง่ายเกินไป ค่าเฉลี่ยของการจัดตำแหน่งนั้นอยู่ที่ระดับ 2 ดังนั้นคะแนนนักเรียน + 50 +% <11 (เช่นคำตอบ <14 คำถาม) โดยทั่วไปอาจเป็นเพราะพวกเขารู้สึกเบื่อและหยุดคำถามอย่างจริงจัง (เป็นเด็ก) โซลูชันที่เสนอ: ใช้การทดสอบเป็นการค้นหาแบบไบนารี่มากกว่าสิบสองรายการเริ่มต้นด้วยคำถามที่ระดับความยากลำบาก 6/7 และดำเนินการตามว่าพวกเขาได้รับคำถามถูกหรือผิด ในทางทฤษฎีสิ่งนี้สามารถค้นหาระดับความยากที่เหมาะสมสำหรับคำถาม 3-4 ข้อ ปัญหา: ในขณะที่คุณอาจเดาได้จากการทดสอบที่มีอยู่สิ้นสุดเพียงหลังจากสามคำตอบที่ผิดและใช้ 60 คำถามเพื่อเลือกระหว่าง 12 ระดับเราต้องการให้ค่าเผื่อสำหรับนักเรียน fluking …
11 algorithms 

2
ทำไม runif ไม่สร้างผลลัพธ์เดียวกันทุกครั้ง
ทำไมเครื่องกำเนิดตัวเลขแบบสุ่มrunif()ใน R ไม่สร้างผลลัพธ์เหมือนกันทุกครั้ง? ตัวอย่างเช่น: X <- runif(100) X กำลังสร้างเอาต์พุตที่แตกต่างกันทุกครั้ง เหตุผลในการสร้างผลลัพธ์ที่แตกต่างกันทุกครั้งคืออะไร? มันทำหน้าที่อะไรในพื้นหลังที่จะทำเช่นนี้?

2
ทุกอย่างเกี่ยวกับการเรียนรู้ของเครื่องในทางปฏิบัติจริงคืออะไร
ฉันเป็นผู้ใช้ใหม่ในการเรียนรู้ของเครื่อง (เช่นสถิติ) การเรียนรู้ความรู้ (อัลกอริทึมการเรียนรู้แบบมีผู้สอน / ไม่ได้ดูแลวิธีการหาค่าเหมาะที่สุดที่เกี่ยวข้องการทำให้เป็นมาตรฐาน ฉันรู้ว่าหากไม่มีการฝึกฝนจริงฉันจะไม่เข้าใจสิ่งที่เรียนรู้จากเครื่องเหล่านั้นอย่างลึกซึ้ง ดังนั้นฉันเริ่มต้นด้วยปัญหาการจัดหมวดหมู่กับข้อมูลจริงพูดการจำแนกตัวเลขด้วยลายมือ (MNIST) ด้วยความประหลาดใจของฉันโดยไม่มีการเรียนรู้ / วิศวกรรมความแม่นยำถึง 0.97 โดยใช้ตัวจําแนกแบบฟอเรสต์แบบสุ่มที่มีค่าพิกเซลแบบดิบเป็นอินพุต ฉันยังลองใช้อัลกอริทึมการเรียนรู้อื่นเช่น SVM, LR พร้อมปรับพารามิเตอร์ ถ้างั้นฉันก็หลงทางมันจะง่ายเกินไปหรือฉันจะทำอะไรหายไปหรือเปล่า เพียงแค่หยิบอัลกอริทึมการเรียนรู้จากชุดเครื่องมือและปรับแต่งพารามิเตอร์บางอย่าง? หากนั่นคือทั้งหมดที่เกี่ยวกับการเรียนรู้ของเครื่องในทางปฏิบัติแล้วฉันจะสูญเสียความสนใจในสาขานี้ ฉันคิดและอ่านบล็อกสักสองสามวันแล้วฉันก็มาถึงข้อสรุป: ส่วนที่สำคัญที่สุดของการเรียนรู้ของเครื่องในทางปฏิบัติคือวิศวกรรมคุณสมบัติซึ่งได้รับข้อมูลค้นหาการแสดงคุณลักษณะที่ดีขึ้น อัลกอริทึมการเรียนรู้ใดที่จะใช้ก็มีความสำคัญเช่นกันการปรับพารามิเตอร์ แต่ตัวเลือกสุดท้ายคือเพิ่มเติมเกี่ยวกับการทดลอง ฉันไม่แน่ใจว่าฉันเข้าใจถูกต้องหวังว่าทุกคนสามารถแก้ไขฉันได้และให้คำแนะนำเกี่ยวกับการเรียนรู้ของเครื่องในทางปฏิบัติ

1
การชี้แจงความคาดหวังสูงสุด
ผมพบว่าการกวดวิชาที่เป็นประโยชน์มากเกี่ยวกับอัลกอริทึม EM ตัวอย่างและรูปภาพจากบทช่วยสอนนั้นยอดเยี่ยมมาก คำถามที่เกี่ยวข้องเกี่ยวกับการคำนวณความน่าจะเป็นการเพิ่มความคาดหวังทำงานอย่างไร ฉันมีคำถามอื่นเกี่ยวกับวิธีการเชื่อมต่อทฤษฎีที่อธิบายในบทช่วยสอนกับตัวอย่าง gtgtg_tlogP(x;Θ)log⁡P(x;Θ)\log P(x;\Theta)gt(Θ^(t))=logP(x;Θ^(t))gt(Θ^(t))=log⁡P(x;Θ^(t))g_t( \hat{\Theta}^{(t)}) = \log P(x; \hat{\Theta}^{(t)}) gtgtg_t Θ^(0)A=0.6Θ^A(0)=0.6\hat{\Theta}_A^{(0)} = 0.6Θ^(0)B=0.5Θ^B(0)=0.5\hat{\Theta}_B^{(0)} = 0.5Θ^(1)A=0.71Θ^A(1)=0.71\hat{\Theta}_A^{(1)} = 0.71Θ^(1)B=0.58Θ^B(1)=0.58\hat{\Theta}_B^{(1)} = 0.58Θ^(0)Θ^(0)\hat{\Theta}^{(0)}Θ^(1)Θ^(1)\hat{\Theta}^{(1)} Q(z)Q(z)Q(z)Q(z)=P(z|x;Θ)Q(z)=P(z|x;Θ)Q(z)=P(z|x;\Theta) ขอบคุณ.

3
การหยุดเกณฑ์สำหรับ Nelder Mead
ฉันกำลังพยายามใช้อัลกอริทึม Nelder-Mead สำหรับการปรับฟังก์ชั่นให้เหมาะสม หน้าวิกิพีเดียเกี่ยวกับ Nelder-มธุรสเป็นที่น่าแปลกใจที่ชัดเจนเกี่ยวกับขั้นตอนวิธีการทั้งหมดยกเว้นสำหรับเกณฑ์การหยุดของมัน ที่นั่นมันเศร้าพูดว่า: ตรวจสอบการบรรจบกัน[ต้องการชี้แจง] ฉันลองและทดสอบเกณฑ์สองสามข้อด้วยตัวเอง: หยุดถ้าโดยที่มีขนาดเล็กและที่คือจุดยอด th ของ simplex เรียงลำดับจากต่ำ ( ) ถึงสูง ( ) ค่าฟังก์ชัน กล่าวอีกนัยหนึ่งเมื่อค่าสูงสุดของ simplex เกือบเท่ากับค่าต่ำสุด ฉันพบว่ามันทำงานไม่ถูกต้องเนื่องจากมันไม่รับประกันว่าฟังก์ชั่นจะทำงานอย่างไรภายใน simplex ตัวอย่างพิจารณาฟังก์ชั่น:แน่นอนว่ามันเป็นเรื่องเล็กน้อยที่จะปรับให้เหมาะสม แต่สมมุติว่าเราทำสิ่งนี้ด้วย NM และให้จุดสองจุดคือและϵ x ฉันฉันf ( x 1 ) f ( x N + 1 ) f ( x ) = x 2 x 1 …

2
ทำไม Adaboost กับต้นไม้ตัดสินใจ?
ฉันอ่านบิตเกี่ยวกับการเพิ่มอัลกอริทึมสำหรับงานการจัดหมวดหมู่และ Adaboost โดยเฉพาะ ฉันเข้าใจว่าจุดประสงค์ของ Adaboost คือการใช้ "ผู้เรียนที่อ่อนแอ" หลายครั้งและผ่านการทำซ้ำในข้อมูลการฝึกอบรมให้ผู้จัดหมวดหมู่เรียนรู้ที่จะทำนายชั้นเรียนที่ตัวแบบทำผิดซ้ำ ๆ อย่างไรก็ตามฉันสงสัยว่าทำไมการอ่านจำนวนมากของฉันจึงได้ใช้ต้นไม้ตัดสินใจเป็นตัวจําแนกอ่อนแอ มีเหตุผลพิเศษสำหรับเรื่องนี้หรือไม่? มีตัวจําแนกบางอย่างที่ทําให้ผู้สมัครดีหรือไม่ดีกับ Adaboost โดยเฉพาะหรือไม่?

2
การคำนวณมิติ VC ของเครือข่ายประสาทเทียม
ถ้าฉันมีโทโพโลยีที่ไม่เกิดขึ้นอีกคงที่ (DAG) (ชุดคงที่ของโหนดและขอบ แต่อัลกอริทึมการเรียนรู้สามารถเปลี่ยนแปลงน้ำหนักบนขอบ) ของ sigmoid neurons กับเซลล์ประสาทซึ่งสามารถใช้สตริงใน{ - 1 , 1 } nเป็นอินพุตและนำไปสู่หนึ่งเอาต์พุต (ซึ่งส่งออกมูลค่าจริงที่เราปัดขึ้นเป็น 1 หรือลงไปที่ -1 หากเป็นค่าคงที่ที่กำหนดไว้แน่นอนจาก 0) มีวิธีใดในการคำนวณ (หรือโดยประมาณ) VC-dimension ของเครือข่ายนี้หรือไม่?nnn{ - 1 , 1 }n{−1,1}n\{-1,1\}^n หมายเหตุ ฉันถามการปรับปรุงอัลกอริทึมที่แม่นยำยิ่งขึ้นเล็กน้อยใน CS.SE: การคำนวณอย่างมีประสิทธิภาพหรือประมาณมิติ VC ของเครือข่ายประสาทเทียม

4
คุณทดสอบการใช้งาน k-mean ได้อย่างไร?
คำเตือน: ฉันโพสต์คำถามนี้ใน Stackoverflow แต่ฉันคิดว่านี่อาจจะเหมาะกว่าสำหรับแพลตฟอร์มนี้ คุณทดสอบการใช้งาน k-mean ของคุณสำหรับชุดข้อมูลหลายมิติได้อย่างไร ฉันคิดว่าจะใช้งานการใช้งานที่มีอยู่แล้ว (เช่น Matlab) กับข้อมูลและเปรียบเทียบผลลัพธ์กับอัลกอริทึมของฉัน แต่สิ่งนี้จะต้องใช้อัลกอริธึมทั้งสองทำงานมากกว่ากันและการทำแผนที่ระหว่างผลลัพธ์ทั้งสองอาจไม่ใช่เค้ก คุณมีความคิดที่ดีกว่านี้ไหม?

1
PCA ขนาดใหญ่เป็นไปได้หรือไม่
การวิเคราะห์องค์ประกอบหลัก (PCA) แบบคลาสสิกคือการทำบนเมทริกซ์ข้อมูลอินพุตซึ่งคอลัมน์มีค่าเฉลี่ยเป็นศูนย์ (จากนั้น PCA สามารถ "เพิ่มความแปรปรวนสูงสุด") สามารถทำได้อย่างง่ายดายโดยการจัดคอลัมน์ให้อยู่ตรงกลาง Howenver เมื่อเมทริกซ์การป้อนข้อมูลเบาบางเมทริกซ์กึ่งกลางตอนนี้จะเบาบางอีกต่อไปและ - ถ้าเมทริกซ์มีขนาดใหญ่มาก - ดังนั้นจะไม่พอดีกับหน่วยความจำอีกต่อไป มีวิธีแก้ปัญหาอัลกอริทึมสำหรับปัญหาการจัดเก็บหรือไม่?

2
การตรวจจับความผิดปกติ: อัลกอริธึมที่ใช้?
บริบท: ฉันกำลังพัฒนาระบบที่วิเคราะห์ข้อมูลทางคลินิกเพื่อกรองข้อมูลที่ไม่น่าเชื่อที่อาจเป็นตัวพิมพ์ผิด สิ่งที่ฉันทำจนถึง: ในการหาปริมาณที่เป็นไปได้ความพยายามของฉันคือการทำให้ข้อมูลเป็นปกติแล้วคำนวณค่าความน่าเชื่อถือสำหรับจุด p ตามระยะทางไปยังจุดข้อมูลที่ทราบในชุด D (= ชุดฝึกอบรม): plausibility(p)=∑q∈DGauss(distance(p,q))plausibility(p)=∑q∈DGauss(distance(p,q))\text{plausibility}(p)=\sum_{q\in D}\text{Gauss}(\text{distance}(p,q)) ด้วยการหาปริมาณนั้นฉันสามารถเลือกเกณฑ์ที่แยกข้อมูลที่เป็นไปได้จากข้อมูลที่ไม่น่าเชื่อ ฉันใช้ python / numpy ปัญหาของฉัน: อัลกอริทึมนี้ไม่สามารถตรวจพบมิติอิสระ เป็นการดีที่ฉันสามารถใส่ทุกสิ่งที่ฉันรู้เกี่ยวกับบันทึกลงในอัลกอริทึมและปล่อยให้มันค้นพบด้วยตัวเองว่ามิติ X ไม่มีผลต่อความน่าเชื่อถือของบันทึก อัลกอริทึมไม่ทำงานสำหรับค่าที่ไม่ต่อเนื่องเช่นบูลีนหรืออินพุตที่เลือก พวกเขาสามารถแมปกับค่าต่อเนื่อง แต่มันเป็นเคาน์เตอร์ที่ใช้งานง่ายว่า Select 1 ใกล้กับ Select 2 มากกว่า to Select 3 คำถาม: ฉันควรมองหาอัลกอริธึมประเภทใดสำหรับงานนี้ ดูเหมือนว่าจะมีตัวเลือกมากมายรวมถึงวิธีที่อยู่ใกล้เคียงที่สุดการจัดกลุ่มตามแนวทางและสถิติ นอกจากนี้ฉันมีปัญหาในการค้นหาเอกสารที่เกี่ยวข้องกับการตรวจจับความผิดปกติของความซับซ้อนนี้ คำแนะนำใด ๆ ที่ชื่นชมอย่างมาก [แก้ไข] ตัวอย่าง: สมมติว่าข้อมูลประกอบด้วยความสูงของบุคคลน้ำหนักของบุคคลและการประทับเวลา - ดังนั้นจึงเป็นข้อมูล 3D น้ำหนักและส่วนสูงมีความสัมพันธ์กัน แต่การประทับเวลามีความเป็นอิสระอย่างสมบูรณ์ หากฉันพิจารณาระยะทางแบบยุคลิดฉันจะต้องเลือกขีด จำกัด …

3
วิธีการฝึกอบรมข้อมูลที่มีประสิทธิภาพที่สุดโดยใช้หน่วยความจำน้อยที่สุดคืออะไร?
นี่คือข้อมูลการฝึกอบรมของฉัน: 200,000 ตัวอย่าง x 10,000 คุณสมบัติ เมทริกซ์ข้อมูลการฝึกอบรมของฉันคือ - 200,000 x 10,000 ฉันจัดการเพื่อบันทึกสิ่งนี้ในไฟล์ flat โดยไม่ต้องมีปัญหาหน่วยความจำโดยบันทึกทุกชุดข้อมูลหนึ่งโดยหนึ่ง (หนึ่งตัวอย่างหลังจากที่อื่น) ในขณะที่ฉันสร้างคุณสมบัติสำหรับแต่ละตัวอย่าง แต่ตอนนี้เมื่อฉันใช้Milk , SVM lightหรืออัลกอริทึมการเรียนรู้ของเครื่องจักรอื่น ๆ ทุกอย่างพยายามโหลดข้อมูลการฝึกอบรมทั้งหมดลงในหน่วยความจำแทนการฝึกอบรมทีละคน อย่างไรก็ตามฉันเพิ่งมี RAM 8 GB ดังนั้นฉันจึงไม่สามารถดำเนินการต่อได้ คุณรู้หรือไม่ว่าฉันสามารถฝึกอัลกอริทึมหนึ่งชุดข้อมูลโดยหนึ่งชุดข้อมูล? นั่นคือเพื่อที่ทันทีฉันมีเพียงหนึ่งชุดข้อมูลที่โหลดลงในหน่วยความจำในขณะที่การฝึกอบรม

4
จากที่อยู่อีเมลไปยังหมายเลขกึ่งสุ่ม [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับการตรวจสอบข้าม ปิดให้บริการใน2 ปีที่ผ่านมา จุดมุ่งหมายของฉัน: ฉันต้องการที่จะมีฟังก์ชั่นที่ใช้ที่อยู่อีเมลและส่งออกจำนวนกึ่งสุ่มแบบ 1, 2, 3 หรือ 4 รายละเอียดเล็กน้อย: จากตัวเลขสุ่มฉันหมายถึงการให้ประชากรโดยทั่วไปของที่อยู่อีเมลความน่าจะเป็นที่จะได้รับค่า 1, 2, 3 หรือ 4 มีค่าเท่ากันโดยประมาณและคุณสมบัติระบบที่ชัดเจนของที่อยู่อีเมลเช่นชื่อโดเมน ไม่ส่งผลกระทบต่อความน่าจะเป็นในการรับค่า 1, 2, 3 หรือ 4 พื้นหลังเล็กน้อย: ฉันมีการทดสอบออนไลน์ที่เขียนขึ้นโดยการสอบสวนที่ผู้เข้าร่วมลงชื่อเข้าใช้สองครั้ง ฉันต้องการสุ่มมอบหมายให้ผู้เข้าร่วมหนึ่งในสี่กลุ่ม ขณะนี้ทำได้ง่ายสำหรับหนึ่งเซสชัน (ฉันสามารถใช้ตัวสร้างตัวเลขสุ่ม) ได้ฉันต้องการวิธีการจดจำการจัดสรรข้ามเซสชัน ดังนั้นฉันคิดว่าฉันสามารถแยกการจัดสรรกลุ่มแบบกึ่งสุ่มจากอีเมลของผู้เข้าร่วมได้ ฉันยังมีข้อ จำกัด ในชุดฟังก์ชั่นที่ฉันมีให้ด้วย ( ดูที่นี่เพื่อดูรายการทั้งหมด ) ฟังก์ชั่นสตริงคือ: tolower toupper ประโยชน์ของการค้นหา concat concall มี startswith endswith …

3
อัลกอริทึมการเรียนรู้ของเครื่องเพื่อการจัดอันดับ
ฉันมีชุดขององค์ประกอบ XXX ซึ่งฉันสามารถอธิบายตาม nnnลักษณะเฉพาะ. ดังนั้น: xi:{ci1,ci2,…,cin}∣xi∈Xxi:{ci1,ci2,…,cin}∣xi∈Xx_i: \{c_{i1}, c_{i2}, \ldots, c_{in}\} \mid x_i \in X ที่ไหน cijcijc_{ij} เป็นการประเมิน (ตัวเลข) สำหรับองค์ประกอบ iii ตามลักษณะ jjj. ดังนั้นองค์ประกอบของฉันสามารถดูได้เป็นคะแนนในnnn พื้นที่มิติ จากการอ่านของฉันมีอัลกอริทึมเช่น "ตัวแยกประเภทเบย์" ซึ่งสามารถให้คำตอบประเภท "ใช่" หรือ "ไม่" ในองค์ประกอบใด ๆ ของชุดของฉันหากว่าฉันใช้ "ชุดฝึกอบรม" ซึ่งประกอบด้วย องค์ประกอบของชุดของฉันและผลลัพธ์ที่คาดหวังของอัลกอริทึม จากข้อมูลนั้นอัลกอริทึมควรสามารถใช้องค์ประกอบอื่น ๆ ไม่ใช่ส่วนหนึ่งของชุดการฝึกอบรมและให้คำตอบ "ใช่" หรือ "ไม่" ตามสิ่งที่เรียนรู้ด้วยชุดฝึกอบรม นี่เป็นสิ่งที่ดีถ้าคุณมีความคิดบางอย่างเกี่ยวกับสิ่งที่คุณคาดหวัง (ชุดฝึกอบรม) แต่คุณไม่แน่ใจเกี่ยวกับกฎเฉพาะที่ให้ผลตามนั้น สิ่งที่ฉันต้องการจะทำกับข้อมูลของฉันไม่ได้รับคำตอบประเภท "ใช่" หรือ "ไม่" …

1
ค่าใช้จ่ายตัวอย่างของ
ฉันเจอปัญหาการจำลองต่อไปนี้: เนื่องจากชุดของจำนวนจริงที่รู้จักการแจกแจงถูกกำหนดโดย ที่หมายถึงการเป็นส่วนหนึ่งในเชิงบวกของZในขณะที่ฉันสามารถนึกถึงตัวอย่างของ Metropolis-Hastings ที่กำหนดเป้าหมายการกระจายตัวนี้ฉันสงสัยว่ามีตัวเก็บตัวอย่างโดยตรงที่มีประสิทธิภาพโดยใช้ประโยชน์จากความน่าจะเป็นศูนย์จำนวนมากเพื่อลดลำดับของอัลกอริทึมจากถึงง){ω1, … ,ωd}{ω1,…,ωd}\{\omega_1,\ldots,\omega_d\}{ - 1 , 1}d{−1,1}d\{-1,1\}^dP (X)= (x1, … ,xd) ) ∝ (x1ω1+ … +xdωd)+P(X=(x1,…,xd))∝(x1ω1+…+xdωd)+\mathbb{P}(X=(x_1,\ldots,x_d))\propto (x_1\omega_1+\ldots+x_d\omega_d)_+( z)+(z)+(z)_+Zzzโอ(2d)O(2d)O(2^d)O ( d)O(d)O(d)

2
วิธีตัวอย่างการแจกแจงแบบหลายส่วนที่ถูกตัดทอน?
ฉันต้องการอัลกอริทึมในการสุ่มตัวอย่างการกระจายหลายส่วนแบบตัดปลาย นั่นคือ, x⃗ ~1Zพีx11...พีxkkx1! ...xk!x→∼1Zp1x1…pkxkx1!…xk!\vec x \sim \frac{1}{Z} \frac{p_1^{x_1} \dots p_k^{x_k}}{x_1!\dots x_k!} ที่เป็นค่าคงที่ฟื้นฟู\ vec xมีkส่วนประกอบบวกและ\ รวม x_i n ฉันเพียงพิจารณาค่าของ\ vec {x}ในช่วง\ vec เป็น \ le \ vec x \ le \ vec ขZZZx⃗ x→\vec xkkkΣxผม= n∑xi=n\sum x_i = nx⃗ x→\vec{x}a⃗ ≤x⃗ ≤ข⃗ a→≤x→≤ข→\vec a \le \vec x \le \vec b …

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