การรวมฐานข้อมูลก่อให้เกิด monoid ได้อย่างไร?


11

ในcs.stackexchangeฉันถามเกี่ยวกับห้องสมุดalgebird scala บน github โดยคาดการณ์ว่าทำไมพวกเขาอาจต้องการแพ็คเกจพีชคณิตนามธรรม

หน้า GitHub มีเบาะแสบางอย่าง:

การนำ Monoids ไปใช้สำหรับอัลกอริทึมการประมาณที่น่าสนใจเช่นตัวกรอง Bloom, HyperLogLog และ CountMinSketch สิ่งเหล่านี้ช่วยให้คุณคิดถึงการดำเนินการที่ซับซ้อนเหล่านี้เช่นคุณอาจใช้ตัวเลขและเพิ่มพวกมันใน hadoop หรือออนไลน์เพื่อสร้างสถิติและการวิเคราะห์ที่มีประสิทธิภาพ

และอีกส่วนหนึ่งของหน้า GitHub:

เดิมได้รับการพัฒนาขึ้นเป็นส่วนหนึ่งของ Matrix API ของ Scalding โดยที่ Matrices มีค่าซึ่งเป็นองค์ประกอบของ Monoids กลุ่มหรือ Rings ต่อจากนั้นเป็นที่ชัดเจนว่ารหัสมีแอปพลิเคชันที่กว้างขึ้นภายใน Scalding และโครงการอื่น ๆ ภายใน Twitter

แม้แต่ Oskar Boykin แห่ง Twitter ก็ยังได้:

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

โดยใช้ Monoids เราสามารถใช้ประโยชน์จาก sparsity (เราจัดการกับเมทริกซ์กระจัดกระจายจำนวนมากซึ่งค่าเกือบทั้งหมดเป็นศูนย์ใน Monoid บางส่วน)

ด้วยการใช้ Rings เราสามารถทำการคูณเมทริกซ์กับสิ่งอื่นที่ไม่ใช่ตัวเลข (ซึ่งในบางครั้งเราได้ทำ)

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

แก้ไขปัญหาของระบบเพียงครั้งเดียวสำหรับ Semigroup / Monoid / Group / Ring จากนั้นคุณสามารถเสียบอัลกอริทึมใด ๆ โดยไม่ต้องคิดถึง Memcache, Hadoop, Storm, etc ...

ตัวเลขBloom filters/ hyperloglog/ countminsketchชอบเป็นอย่างไร?

การรวมฐานข้อมูลมีโครงสร้างแบบ monoidal อย่างไร
monoid นี้มีหน้าตาเป็นอย่างไร? พวกเขาเคยมีโครงสร้างกลุ่มหรือไม่?

การอ้างอิงวรรณกรรมจะเป็นประโยชน์


ใครบางคนสามารถร่างการเชื่อมต่อ "เมทริกซ์กระจัดกระจายที่ค่าเกือบทั้งหมดเป็นศูนย์ใน monoid"?
vzn

ee0=e

n×n

@ vzn ไม่มีองค์ประกอบภายในเมทริกซ์
Nicholas Mancuso

คำตอบ:


14

คุณถามว่าทำไมการรวมฐานข้อมูลจึงมีโครงสร้างแบบ monoidal

ababa.b

.(a.b).c=a.(b.c)

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

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

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

+..+.

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

  • Stefano Bistarelli, Ugo Montanari และ Francesca Rossi, ความพึงพอใจและข้อ จำกัด ของ Semiring ที่เน้นการเรียนรู้, JACM 44 (2), 1997, 201–236 ดอย: 10.1145 / 256303.256306

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

  • ทอดด์เจกรีน Grigoris Karvounarakis และ Val Tannen, semirings Provenanceฝัก 2007 31-40 ดอย: 10.1145 / 1265530.1265535

มีจำนวนมากได้รับการทำงานต่อไปโดยใช้ semirings เพื่อรวมข้อมูลให้ดูที่เอกสารที่อ้างถึงนี้

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

  • Srinivas M. Aji และ Robert J. McEliece, กฎหมายการกระจายทั่วไป , ธุรกรรม IEEE เกี่ยวกับทฤษฎีข้อมูล 46 (2), 2000, 325–343 ดอย: 10.1109 / 18.825794
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.