เวอร์ชันกระจายของเครื่องมือเพิ่มประสิทธิภาพ Stochastic Dual Coordinate Ascent (SDCA) สำหรับ
โมเดลเชิงเส้นที่มีการทำให้เป็นมาตรฐาน L1 + L2 เนื่องจากวัตถุประสงค์การปรับให้เหมาะสมโดยรวมนั้นนูนออกมาอย่างมาก เครื่องมือเพิ่มประสิทธิภาพจึงปรับวัตถุประสงค์คู่ให้เหมาะสมในแต่ละขั้นตอน เครื่องมือเพิ่มประสิทธิภาพจะใช้การอัปเดตแต่ละครั้งทีละตัวอย่าง ตัวอย่างจะถูกสุ่มตัวอย่างอย่างสม่ำเสมอ และเครื่องมือเพิ่มประสิทธิภาพไม่มีอัตราการเรียนรู้และเพลิดเพลินกับอัตราการลู่เข้าเชิงเส้น
[การขึ้นของพิกัดคู่สุ่มใกล้เคียง](http://arxiv.org/pdf/1211.2717v1.pdf)
ไช ชาเลฟ-ชวาตซ์, ตง จาง. 2555
$$Loss Objective = \sum f_{i} (wx_{i}) + (l2 / 2) * |w|^2 + l1 * |w|$$
[การเพิ่มเทียบกับการหาค่าเฉลี่ยในการเพิ่มประสิทธิภาพ Primal-Dual แบบกระจาย](http://arxiv.org/abs/1502.03508)
Chenxin Ma, Virginia Smith, Martin Jaggi, Michael I. Jordan, Peter Richtarik, Martin Takac 2558
[การขึ้นของพิกัดคู่แบบสุ่มพร้อมความน่าจะเป็นที่ปรับเปลี่ยนได้](https://arxiv.org/abs/1502.08053)
โดมินิก ซีบา, เจิ้ง คู, ปีเตอร์ ริชทาริก 2558
คลาสที่ซ้อนกัน
ระดับ | SdcaOptimizer ตัวเลือก | แอ็ตทริบิวต์ทางเลือกสำหรับ SdcaOptimizer |
ค่าคงที่
สตริง | OP_NAME | ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow |
วิธีการสาธารณะ
SdcaOptimizer.Options แบบคงที่ | การปรับตัว (การปรับตัวแบบบูลีน) |
SdcaOptimizer แบบคงที่ | สร้าง ( ขอบเขต ขอบเขต Iterable< Operand < TInt64 >> sparseExampleIndices, Iterable< Operand < TInt64 >> sparseFeatureIndices, Iterable< Operand < TFloat32 >> sparseFeatureValues, Iterable< Operand < TFloat32 >> หนาแน่น Features, Operand < TFloat32 > exampleWeights, Operand < TFloat32 > exampleLabels, Iterable< ตัวดำเนินการ < TInt64 >> sparseIndices, Iterable< ตัวดำเนินการ < TFloat32 >> sparseWeights, Iterable< ตัวดำเนินการ < TFloat32 >> Dหนาแน่นWeights, ตัวดำเนินการ < TFloat32 > exampleStateData, String lossType, Float l1, Float l2, Long numLossPartitions, Long numInnerIterations , ตัวเลือก... ตัวเลือก) วิธีการจากโรงงานเพื่อสร้างคลาสที่ห่อการดำเนินการ SdcaOptimizer ใหม่ |
รายการ < เอาท์พุต < TFloat32 >> | ออกDeltaDenseWeights () รายการเวกเตอร์โดยที่ค่าคือน้ำหนักเดลต้าที่เกี่ยวข้องกับกลุ่มคุณลักษณะที่มีความหนาแน่นสูง |
รายการ < เอาท์พุต < TFloat32 >> | ออกDeltaSparseWeights () รายการเวกเตอร์โดยที่แต่ละค่าคือน้ำหนักเดลต้าที่เกี่ยวข้องกับกลุ่มคุณลักษณะกระจัดกระจาย |
เอาท์พุต < TFloat32 > | outExampleStateData () รายการเวกเตอร์ที่มีข้อมูลสถานะตัวอย่างที่อัปเดต |
วิธีการสืบทอด
ค่าคงที่
สตริงสุดท้ายแบบคงที่สาธารณะ OP_NAME
ชื่อของ op นี้ ซึ่งรู้จักกันในชื่อของเอ็นจิ้นหลัก TensorFlow
วิธีการสาธารณะ
สาธารณะ SdcaOptimizer.Options แบบคงที่ แบบปรับได้ (แบบบูลีนแบบปรับได้)
พารามิเตอร์
ปรับตัวได้ | จะใช้ Adaptive SDCA สำหรับวงในหรือไม่ |
---|
สร้าง SdcaOptimizer คงที่สาธารณะ (ขอบเขต ขอบเขต Iterable < Operand < TInt64 >> sparseExampleIndices, Iterable < Operand < TInt64 >> sparseFeatureIndices, Iterable < Operand < TFloat32 >> sparseFeatureValues, Iterable < Operand < TFloat32 >> หนาแน่นคุณสมบัติ, Operand < TFloat32 > exampleWeights, ตัวถูกดำเนินการ < TFloat32 > exampleLabels, Iterable< ตัวถูกดำเนินการ < TInt64 >> sparseIndices, Iterable< ตัวถูกดำเนินการ < TFloat32 >> sparseWeights, Iterable< ตัวถูกดำเนินการ < TFloat32 >>หนาแน่น, ตัวถูกดำเนินการ < TFloat32 > exampleStateData, String lossType, Float l1, Float l2, Long numLossPartitions , Long numInnerIterations, ตัวเลือก... ตัวเลือก)
วิธีการจากโรงงานเพื่อสร้างคลาสที่รวมการดำเนินการ SdcaOptimizer ใหม่
พารามิเตอร์
ขอบเขต | ขอบเขตปัจจุบัน |
---|---|
กระจัดกระจายตัวอย่างดัชนี | รายการเวกเตอร์ซึ่งมีดัชนีตัวอย่าง |
คุณลักษณะเบาบางดัชนี | รายการเวกเตอร์ซึ่งมีดัชนีคุณลักษณะ |
เบาบางคุณลักษณะค่า | รายการเวกเตอร์ซึ่งมีค่าคุณสมบัติที่เกี่ยวข้องกับแต่ละกลุ่มคุณสมบัติ |
คุณสมบัติหนาแน่น | รายการเมทริกซ์ที่มีค่าฟีเจอร์หนาแน่น |
ตัวอย่างน้ำหนัก | เวกเตอร์ที่มีน้ำหนักที่เกี่ยวข้องกับแต่ละตัวอย่าง |
exampleLabels | เวกเตอร์ซึ่งมีป้ายกำกับ/เป้าหมายที่เกี่ยวข้องกับแต่ละตัวอย่าง |
ดัชนีเบาบาง | รายการเวกเตอร์โดยที่แต่ละค่าเป็นดัชนีซึ่งมีน้ำหนักที่สอดคล้องกันใน sparse_weights ฟิลด์นี้อาจถูกละเว้นสำหรับแนวทางแบบหนาแน่น |
น้ำหนักเบาบาง | รายการเวกเตอร์โดยที่แต่ละค่าคือน้ำหนักที่เกี่ยวข้องกับกลุ่มคุณลักษณะกระจัดกระจาย |
น้ำหนักหนาแน่น | รายการเวกเตอร์โดยที่ค่าคือน้ำหนักที่เกี่ยวข้องกับกลุ่มคุณลักษณะที่มีความหนาแน่นสูง |
ตัวอย่างStateData | รายการเวกเตอร์ที่มีข้อมูลสถานะตัวอย่าง |
ประเภทการสูญเสีย | ประเภทของการสูญเสียครั้งแรก ปัจจุบัน SdcaSolver รองรับการสูญเสียด้านลอจิสติกส์ กำลังสอง และบานพับ |
l1 | ความแรงของการทำให้เป็นมาตรฐานแบบสมมาตร l1 |
l2 | ความแรงของการทำให้เป็นมาตรฐาน L2 แบบสมมาตร |
numLossPartitions | จำนวนพาร์ติชันของฟังก์ชันการสูญเสียโกลบอล |
numInnerIterations | จำนวนการวนซ้ำต่อมินิแบทช์ |
ตัวเลือก | มีค่าแอตทริบิวต์ทางเลือก |
การส่งคืน
- อินสแตนซ์ใหม่ของ SdcaOptimizer
รายการสาธารณะ < เอาท์พุต < TFloat32 >> outDeltaDenseWeights ()
รายการเวกเตอร์โดยที่ค่าคือน้ำหนักเดลต้าที่เกี่ยวข้องกับกลุ่มคุณลักษณะที่มีความหนาแน่นสูง
รายการสาธารณะ < เอาท์พุท < TFloat32 >> outDeltaSparseWeights ()
รายการเวกเตอร์โดยที่แต่ละค่าคือน้ำหนักเดลต้าที่เกี่ยวข้องกับกลุ่มคุณลักษณะกระจัดกระจาย