ข้ามไปยังเนื้อหา

เครื่องคำนวณเอนโทรปี - คำนวณเอนโทรปีแชนนอนออนไลน์ฟรี

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

เครื่องคำนวณเอนโทรปี

ป้อนค่าตัวเลขโดยคั่นด้วยช่องว่างหรือเครื่องหมายจุลภาค ขึ้นอยู่กับรูปแบบที่เลือก

รูปแบบข้อมูล

การกระจายความถี่

ป้อนข้อมูลเพื่อดูการแสดงผล

เครื่องคำนวณโหลด...
📚

เอกสารประกอบการใช้งาน

เครื่องคำนวณเอนโทรปีคืออะไร?

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

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

สูตรเอนโทรปีของแชนนอน

สำหรับชุดข้อมูลที่มีค่าไม่ซ้ำกันตั้งแต่ x₁ ถึง xₙ โดยแต่ละค่าปรากฏด้วยความน่าจะเป็น p(xᵢ) เอนโทรปีของแชนนอน H คือ:

H(X)=−∑i=1np(xi)log⁡2p(xi)H(X) = -\sum_{i=1}^{n} p(x_i) \log_2 p(x_i)

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

เครื่องคำนวณนี้ใช้ลอการิทึมฐาน 2 เสมอ ดังนั้นผลลัพธ์จึงวัดเป็น บิต นอกจากนี้ยังมีฐานอื่นสำหรับวัตถุประสงค์อื่น ลอการิทึมธรรมชาติให้หน่วยที่เรียกว่านัต และฐาน 10 ให้หน่วยที่เรียกว่าฮาร์ตลีย์ บิตเป็นหน่วยมาตรฐานในคอมพิวเตอร์และทฤษฎีสารสนเทศ เครื่องคำนวณนี้จึงใช้ฐาน 2

เหตุใดผลลัพธ์จึงไม่เป็นค่าลบ

ความน่าจะเป็น p(xᵢ) ทุกค่าจะอยู่ระหว่าง 0 ถึง 1 ดังนั้นลอการิทึมของค่าดังกล่าวจึงเป็นศูนย์หรือค่าลบ เมื่อนำความน่าจะเป็นไปคูณกับลอการิทึมที่เป็นค่าลบหรือศูนย์ จะได้ค่าลบหรือศูนย์ เมื่อนำค่าทั้งหมดมาบวกกันแล้วเปลี่ยนเครื่องหมาย ผลลัพธ์จึงเป็นศูนย์หรือค่าบวกเสมอ

เอนโทรปีสูงสุดที่เป็นไปได้

สำหรับชุดข้อมูลที่มีค่าไม่ซ้ำกัน n ค่า เอนโทรปีจะสูงสุดเมื่อทุกค่าปรากฏบ่อยเท่ากัน ค่าสูงสุดนั้นเท่ากับ log₂(n) บิต ชุดข้อมูลที่มีค่าไม่ซ้ำกันซึ่งปรากฏบ่อยเท่ากัน 4 ค่า จะมีเอนโทรปีได้สูงสุด 2 บิต เพราะ log₂(4) = 2 การกระจายตัวที่ไม่สม่ำเสมอของค่า 4 ค่าเดียวกันจะให้เอนโทรปีต่ำกว่า

วิธีคำนวณเอนโทรปีทีละขั้นตอน

  1. ระบุค่าที่ไม่ซ้ำกัน ในชุดข้อมูลและนับว่าค่าแต่ละค่าปรากฏกี่ครั้ง
  2. หารจำนวนครั้งที่ปรากฏของแต่ละค่าด้วยจำนวนค่าทั้งหมด เพื่อหาความน่าจะเป็นของค่าไม่ซ้ำกันแต่ละค่า
  3. หาลอการิทึมฐาน 2 ของความน่าจะเป็นแต่ละค่า แล้วคูณด้วยความน่าจะเป็นค่าเดิม
  4. บวกผลคูณทั้งหมดเข้าด้วยกัน แล้วคูณผลรวมด้วย −1

เครื่องคำนวณนี้ทำทั้งสี่ขั้นตอนโดยอัตโนมัติ พิมพ์ตัวเลขลงในช่องป้อนข้อมูล โดยคั่นด้วยช่องว่างหรือจุลภาค เลือกรูปแบบที่ตรงกัน แล้วเอนโทรปี ตารางความน่าจะเป็น และแผนภูมิแท่งจะปรากฏทันที ตารางด้านล่างผลลัพธ์จะแสดงค่า จำนวนครั้งที่ปรากฏ ความน่าจะเป็น และ p(x) × log₂(p(x)) สำหรับตัวเลขที่ไม่ซ้ำกันแต่ละค่า จึงเห็นวิธีคำนวณ ไม่ใช่เพียงคำตอบสุดท้าย

กฎการป้อนค่า

  • ยอมรับเฉพาะค่าตัวเลข ได้แก่ จำนวนเต็ม ทศนิยม และจำนวนลบ
  • คั่นค่าด้วยช่องว่าง (ตัวอย่าง: 1 2 3 4) หรือด้วยจุลภาค (ตัวอย่าง: 1,2,3,4) ตามรูปแบบที่เลือก
  • ชุดข้อมูลมีค่าได้สูงสุด 100,000 ค่า หากป้อนเกินจำนวนดังกล่าว ระบบจะแสดงข้อความผิดพลาดให้ใช้ชุดข้อมูลที่มีขนาดเล็กลง
  • รองรับเลขในรูปสัญกรณ์วิทยาศาสตร์ ดังนั้น 1e3 จะถูกอ่านเป็น 1000
  • ข้อความ สัญลักษณ์ หรือรายการว่างระหว่างตัวคั่นจะถูกปฏิเสธพร้อมแสดงข้อผิดพลาด ไม่ใช่ถูกละเว้นโดยไม่มีการแจ้ง
  • ตัวเลขที่ใหญ่เกินกว่าคอมพิวเตอร์จะจัดเก็บได้ เช่น 1e400 ก็จะถูกปฏิเสธเช่นกัน ค่าสูงสุดที่เครื่องคำนวณรองรับได้อยู่ที่ประมาณ 1.8 x 10^308

ตัวอย่างพร้อมวิธีทำ

พิจารณาชุดข้อมูล 1 2 3 1 2 1 ซึ่งมีตัวเลขหกตัว

ขั้นแรก นับค่าที่ไม่ซ้ำกันแต่ละค่า:

ค่าจำนวนครั้งความน่าจะเป็น
133/6 = 0.5
222/6 ≈ 0.3333
311/6 ≈ 0.1667

จากนั้นใช้สูตรกับแต่ละแถวแล้วบวกผลลัพธ์:

H=−(0.5log⁡20.5+0.3333log⁡20.3333+0.1667log⁡20.1667)H = -(0.5 \log_2 0.5 + 0.3333 \log_2 0.3333 + 0.1667 \log_2 0.1667) H=−(0.5×−1+0.3333×−1.585+0.1667×−2.585)H = -(0.5 \times -1 + 0.3333 \times -1.585 + 0.1667 \times -2.585) H≈1.4591 บิตH \approx 1.4591 \text{ บิต}

ชุดข้อมูลนี้มีค่าที่ไม่ซ้ำกัน 3 ค่า ดังนั้นเอนโทรปีสูงสุดที่เป็นไปได้คือ log₂(3) ≈ 1.585 บิต ผลลัพธ์จริง 1.4591 บิต ต่ำกว่าค่าสูงสุดดังกล่าว เพราะค่า 1 ปรากฏบ่อยกว่าค่าอื่น ทำให้ชุดข้อมูลมีความสุ่มน้อยกว่าการแบ่งที่เท่ากันอย่างสมบูรณ์เล็กน้อย

ชุดข้อมูลที่ไม่มีความไม่แน่นอน

ชุดข้อมูล 5 5 5 5 5 มีค่าไม่ซ้ำกันเพียงค่าเดียว ดังนั้นความน่าจะเป็นจึงเป็น 1 เนื่องจาก log₂(1) = 0 ทุกพจน์ในผลรวมจึงเป็นศูนย์ และเอนโทรปีเท่ากับ 0 บิตพอดี ชุดข้อมูลที่ทุกค่ามีค่าเหมือนกันไม่มีสิ่งใดไม่แน่นอน

การอ่านผลลัพธ์

  • เอนโทรปีใกล้เคียง 0 หมายความว่าข้อมูลมีรูปแบบซ้ำและคาดเดาได้ ค่าเพียงหนึ่งค่าหรือไม่กี่ค่ามีสัดส่วนมาก
  • เอนโทรปีใกล้เคียง log₂(n) โดย n คือจำนวนค่าที่ไม่ซ้ำกัน หมายความว่าข้อมูลกระจายตัวใกล้เคียงกันในค่าที่ไม่ซ้ำกันทั้งหมด
  • เอนโทรปีเท่ากับ 0 พอดี หมายความว่าทุกค่าในชุดข้อมูลเหมือนกัน

เอนโทรปีเพียงอย่างเดียวไม่ได้บอกว่าชุดข้อมูลนั้น “ดี” หรือ “ไม่ดี” ตัวสร้างรหัสผ่านต้องการเอนโทรปีสูง เพราะทำให้รหัสผ่านคาดเดาได้ยาก เซนเซอร์ที่ควรอ่านค่าอุณหภูมิคงที่ต้องการเอนโทรปีต่ำ เพราะหมายความว่าค่าที่อ่านได้มีความคงที่

การใช้งานเอนโทรปีของแชนนอน

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

คำถามที่พบบ่อย

เอนโทรปีในทฤษฎีสารสนเทศคืออะไร? เป็นตัวเลขที่วัดว่าชุดข้อมูลมีความไม่แน่นอนหรือคาดเดาได้ยากเพียงใด คำนวณจากความน่าจะเป็นของค่าไม่ซ้ำกันแต่ละค่าในข้อมูล ไม่ใช่จากค่าของข้อมูลเอง

คำนวณเอนโทรปีของแชนนอนด้วยตนเองอย่างไร? นับว่าค่าไม่ซ้ำกันแต่ละค่าปรากฏบ่อยเพียงใด หารจำนวนครั้งที่ปรากฏด้วยจำนวนทั้งหมดเพื่อหาความน่าจะเป็น คูณความน่าจะเป็นแต่ละค่าด้วยลอการิทึมฐาน 2 ของค่านั้น บวกผลลัพธ์เข้าด้วยกัน แล้วคูณด้วย −1

เอนโทรปีเป็นค่าลบได้หรือไม่? ไม่ได้ ค่าต่ำสุดที่เป็นไปได้คือ 0 บิต ซึ่งเกิดขึ้นเมื่อทุกค่าในชุดข้อมูลเหมือนกัน

เอนโทรปีสูงสุดของชุดข้อมูลคือเท่าใด? ค่าสูงสุดคือ log₂(n) บิต โดย n คือจำนวนค่าที่ไม่ซ้ำกัน และจะเกิดขึ้นก็ต่อเมื่อค่าไม่ซ้ำกันทุกค่าปรากฏบ่อยเท่ากัน

มีข้อจำกัดด้านขนาดชุดข้อมูลหรือไม่? มี เครื่องคำนวณนี้รองรับค่าได้สูงสุด 100,000 ค่าในชุดข้อมูลเดียว หากป้อนข้อมูลมากกว่านี้ ระบบจะแสดงข้อผิดพลาด

เอนโทรปีแตกต่างจากความแปรปรวนอย่างไร? ความแปรปรวนวัดว่าค่าตัวเลขกระจายห่างจากค่าเฉลี่ยเพียงใด ส่วนเอนโทรปีวัดว่ารูปแบบของผลลัพธ์คาดเดาได้ยากเพียงใด โดยพิจารณาจากความน่าจะเป็นเท่านั้น ไม่ขึ้นกับขนาดจริงของตัวเลข

เอกสารอ้างอิง

  1. แชนนอน, C. E. (1948). A Mathematical Theory of Communication. Bell System Technical Journal, 27(3), 379–423.
  2. Cover, T. M., และ Thomas, J. A. (2006). Elements of Information Theory (พิมพ์ครั้งที่ 2). Wiley-Interscience.
  3. MacKay, D. J. C. (2003). Information Theory, Inference, and Learning Algorithms. Cambridge University Press.