วิธีประดิษฐ์อัลกอริทึมที่แนะนำสูตรการทำอาหารที่เป็นไปได้?


15

ฉันเคยมีประสบการณ์ในหลักสูตรที่สร้างอัลกอริทึมที่จะแนะนำสูตรการทำอาหาร ตอนแรกสูตรอาหารบ้าทุกประเภทจะออกมา จากนั้นเธอจะฝึกอัลกอริทึมการปรุงอาหารด้วยสูตรอาหารจริงและในที่สุดก็จะแนะนำสูตรอาหารที่ดีมาก

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

เทคนิคใดที่สามารถใช้ในการคิดอัลกอริทึมที่ (สุ่ม) แนะนำสูตรที่เป็นไปได้ (โดยไม่ต้องใช้ฐานข้อมูลของสูตรคงที่)

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


1
มันอาจคุ้มค่าที่จะดูอัลกอริธึมวิวัฒนาการ
เฮนรี

7
... หรือเพื่อบรรเทาแสงสิ่งนี้จาก xkcd
Henry

2
@Henry: แล้วฟังก์ชั่นไหนที่คุณจะใช้สำหรับออกกำลังกาย? นั่นคือประเด็นหลักของคำถาม!
ราฟาเอล

1
บุคคลที่ลงคะแนนให้ปิดอธิบายเหตุผลเบื้องหลังการโหวตของเขาได้หรือไม่? การลงคะแนนปิดโดยไม่ให้เหตุผลไม่ได้ช่วยให้ OP ปรับปรุงคำถามของเขา
Alex สิบ Brink

1
ความคิดเห็นดูแปลกใหม่กว่าคำถามตัวเอง
Oeufcoque Penteano

คำตอบ:


4

อืมใช้ทฤษฎีบทของเบย์เพื่อสร้างสูตรอาหารใหม่จากสูตรเก่า ฉันคิดว่าคุณต้องการให้อัลกอริทึมแยกส่วนประกอบออกเป็นแบบฟอร์มที่เข้าใจ (ไม่แน่ใจว่าเราใช้ NLP สำหรับสิ่งนั้นหรือถ้าคุณป้อนข้อมูลด้วยตนเองนั่นคือที่นี่หรือที่นั่น) .

ฉันจินตนาการบางอย่างเช่นนี้

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

ฉันขอแนะนำว่าเมื่อสร้างสูตรใหม่โปรแกรมจะได้รับข้อมูลเช่นฉันต้องการอะไรที่หวานหรือเปรี้ยวหรือบางครั้งส่วนใหญ่ประกอบด้วยข้าวสาลี

หวังว่านี่จะช่วยได้บ้าง


3

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

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

สิ่งนี้ยังต้องการความรู้อย่างมากและโดเมนความรู้ในการเตรียมมากกว่ารายการส่วนผสม ท้ายที่สุดแล้วไอศครีมรสกาแฟพร้อมเวเฟอร์ Cafe au lait และครัวซองต์และ tira misu มิฉะนั้นจะแยกไม่ออก


"สิ่งนี้ไม่ตอบคำถามของคุณ" - แน่นอนดังนั้นควรเป็นความคิดเห็น ฉันเห็นคุณยังไม่ได้รับอนุญาตให้แสดงความคิดเห็น; ฉันตั้งค่าสถานะเพื่อการแปลง
ราฟาเอล

@ ราฟาเอล: ไม่ได้แปลงสิ่งนี้เพราะมันยาวเกินไปและ - แม้ว่ามันอาจจะไม่ใช่คำตอบที่ดีที่สุด - โดยรวมแล้วมันพยายามแก้ไขปัญหา หากคุณรู้สึกว่าไม่ช่วยเหลือกรุณาลงคะแนน Pekka ถึงแม้ว่านี่อาจไม่ใช่แหล่งผลิตงานศิลปะการทำอาหารใหม่ ๆ ที่น่าสนใจที่สุด แต่ก็เป็นปัญหาที่น่าสนใจและสัมพันธ์กัน ... หากคุณสามารถขยายคำตอบของคุณเพื่อหารือเกี่ยวกับการพัฒนาอัลกอริธึมเฉพาะ
Shog9

3

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


1

คลาสของอัลกอริทึมที่คุณต้องการคือกลุ่มโจร พวกเขามักจะใช้เพื่อจัดการส่วนการสำรวจปัญหาการจำแนก

วิธีการขั้นพื้นฐานคือการแสดงสูตรอาหารเป็นถุงที่มีส่วนประกอบ จำกัด (เวกเตอร์ของบูลลีนที่มีค่า k ที่ไม่ใช่ 0 มากที่สุด) และใช้ LinUCB เพื่อเลือกชุดของส่วนประกอบ จากนั้นข้อเสนอแนะจะเป็น 'ชอบ' หรือ 'ไม่ชอบ' แน่นอนถ้าคุณเป็นชาวเบย์คุณสามารถใช้ Trueskill (ใช้ตัวแปร Adpredictor)

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

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