คำถามติดแท็ก gradient-descent

4
Scikit-learn: รับ SGDClassifier เพื่อทำนายเช่นเดียวกับ Logistic Regression
วิธีในการฝึกอบรม Logistic Regression คือการใช้การไล่ระดับสีแบบสุ่มสุ่มซึ่ง scikit-learn นำเสนออินเตอร์เฟส สิ่งที่ฉันต้องการจะทำคือการใช้ scikit การเรียนรู้ของSGDClassifierและมีมันคะแนนเช่นเดียวกับการถดถอยโลจิสติกที่นี่ อย่างไรก็ตามฉันต้องขาดการปรับปรุงการเรียนรู้ของเครื่องเนื่องจากคะแนนของฉันไม่เท่ากัน นี่คือรหัสปัจจุบันของฉัน ฉันขาดอะไรใน SGDClassifier ที่จะให้ผลลัพธ์เช่นเดียวกับ Logistic Regression from sklearn import datasets from sklearn.linear_model import LogisticRegression from sklearn.linear_model import SGDClassifier import numpy as np import pandas as pd from sklearn.cross_validation import KFold from sklearn.metrics import accuracy_score # Note that the iris dataset …

3
อะไรคือความแตกต่างระหว่าง Gradient Descent และ Stochastic Gradient Descent?
อะไรคือความแตกต่างระหว่าง Gradient Descent และ Stochastic Gradient Descent? ฉันไม่คุ้นเคยกับสิ่งเหล่านี้คุณสามารถอธิบายความแตกต่างด้วยตัวอย่างสั้น ๆ ได้หรือไม่?

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

1
ทำไม ReLU ถึงดีกว่าฟังก์ชั่นการเปิดใช้งานอื่น ๆ
ที่นี่คำตอบหมายถึงการหายไปและการไล่ระดับสีแบบกระจายที่sigmoidฟังก์ชั่นการเปิดใช้งานเหมือนกัน แต่ฉันเดาว่าReluมีข้อเสียและเป็นค่าที่คาดหวัง ไม่มีข้อ จำกัด สำหรับเอาต์พุตของReluดังนั้นค่าที่คาดหวังจะไม่เป็นศูนย์ ผมจำได้ว่าช่วงเวลาก่อนที่ความนิยมของReluที่เป็นที่นิยมมากที่สุดในหมู่เครื่องผู้เชี่ยวชาญด้านการเรียนรู้มากกว่าtanh sigmoidเหตุผลก็คือค่าที่คาดหวังของtanhศูนย์เท่ากับและมันช่วยให้การเรียนรู้ในชั้นลึกจะเร็วขึ้นในโครงข่ายประสาท Reluไม่มีคุณสมบัตินี้ แต่ทำไมมันถึงทำงานได้ดีถ้าเราเอาความได้เปรียบเชิงอนุพันธ์มาใช้ ยิ่งกว่านั้นฉันคิดว่าอนุพันธ์อาจได้รับผลกระทบด้วย เพราะการเปิดใช้งาน (ผลลัพธ์ของRelu) มีส่วนร่วมในการคำนวณกฎการอัพเดท

4
Gradient Descent เป็นศูนย์กลางของทุกเครื่องมือเพิ่มประสิทธิภาพหรือไม่
ฉันต้องการทราบว่า Gradient descent เป็นอัลกอริทึมหลักที่ใช้ในเครื่องมือเพิ่มประสิทธิภาพเช่น Adam, Adagrad, RMSProp และเครื่องมือเพิ่มประสิทธิภาพอื่น ๆ

1
ฉันควรใช้เซลล์ LSTM กี่เซลล์
มีกฎของหัวแม่มือ (หรือกฎจริง) ที่เกี่ยวข้องกับจำนวน LSTM ขั้นต่ำ, สูงสุดและ "สมเหตุสมผล" ที่ฉันควรใช้หรือไม่? โดยเฉพาะฉันเกี่ยวข้องกับBasicLSTMCellจาก TensorFlow และnum_unitsคุณสมบัติ โปรดสมมติว่าฉันมีปัญหาการจำแนกที่กำหนดโดย: t - number of time steps n - length of input vector in each time step m - length of output vector (number of classes) i - number of training examples ตัวอย่างจริงหรือไม่ที่จำนวนตัวอย่างการฝึกอบรมควรมากกว่า: 4*((n+1)*m + m*m)*c ที่cเป็นจำนวนของเซลล์? ฉันใช้สิ่งนี้: จะคำนวณจำนวนพารามิเตอร์ของเครือข่าย …
12 rnn  machine-learning  r  predictive-modeling  random-forest  python  language-model  sentiment-analysis  encoding  machine-learning  deep-learning  neural-network  dataset  caffe  classification  xgboost  multiclass-classification  unbalanced-classes  time-series  descriptive-statistics  python  r  clustering  machine-learning  python  deep-learning  tensorflow  machine-learning  python  predictive-modeling  probability  scikit-learn  svm  machine-learning  python  classification  gradient-descent  regression  research  python  neural-network  deep-learning  convnet  keras  python  tensorflow  machine-learning  deep-learning  tensorflow  python  r  bigdata  visualization  rstudio  pandas  pyspark  dataset  time-series  multilabel-classification  machine-learning  neural-network  ensemble-modeling  kaggle  machine-learning  linear-regression  cnn  convnet  machine-learning  tensorflow  association-rules  machine-learning  predictive-modeling  training  model-selection  neural-network  keras  deep-learning  deep-learning  convnet  image-classification  predictive-modeling  prediction  machine-learning  python  classification  predictive-modeling  scikit-learn  machine-learning  python  random-forest  sampling  training  recommender-system  books  python  neural-network  nlp  deep-learning  tensorflow  python  matlab  information-retrieval  search  search-engine  deep-learning  convnet  keras  machine-learning  python  cross-validation  sampling  machine-learning 

4
ทำไมการเร่งความเร็วของการไล่ระดับสีหากฟังก์ชั่นนั้นราบรื่น
ตอนนี้ผมอ่านหนังสือเล่มหนึ่งชื่อ"Hands-on เครื่องการเรียนรู้กับ Scikit เรียนรู้และ TensorFlow"และในบทที่ 11 ก็มีคำอธิบายต่อไปนี้ในคำอธิบายของ ELU (การชี้แจง Relu) ประการที่สามฟังก์ชั่นนั้นราบรื่นทุกที่รวมถึงรอบ z = 0 ซึ่งจะช่วยเร่งความเร็วการไล่ระดับสีเนื่องจากมันจะไม่เด้งซ้ายและขวามากเท่ากับ z = 0 zหมายถึงแกน x บนกราฟข้างต้น ผมเข้าใจอนุพันธ์เป็นไปอย่างราบรื่นตั้งแต่เส้นมีเส้นโค้งและในดินแดนที่เป็นตราสารอนุพันธ์จะไม่เท่ากับz < 00 อย่างไรก็ตามทำไมเป็นกรณีที่ถ้าฟังก์ชั่น "ราบรื่นทุกที่รวมถึงรอบ z = 0" มันจะเพิ่มความเร็วในการไล่ระดับสี

1
ความยืดหยุ่นในการเชื่อมโยงระหว่างฟังก์ชั่นวัตถุประสงค์และฟังก์ชั่นการเปิดใช้งานเลเยอร์เอาท์พุทคืออะไร?
ดูเหมือนว่ามาตรฐานในแพคเกจเครือข่ายนิวรัลจำนวนมากเพื่อจับคู่ฟังก์ชั่นวัตถุประสงค์ที่จะย่อเล็กสุดด้วยฟังก์ชั่นการเปิดใช้งานในชั้นเอาท์พุท ยกตัวอย่างเช่นสำหรับชั้นเอาท์พุทเชิงเส้นที่ใช้สำหรับการถดถอยมันเป็นมาตรฐาน (และมักจะเป็นทางเลือกเท่านั้น) ที่จะมีฟังก์ชั่นวัตถุประสงค์ข้อผิดพลาดกำลังสอง การจับคู่ปกติอีกอย่างหนึ่งคือการส่งออกและการสูญเสียบันทึก (หรือข้ามเอนโทรปี) และอีกอย่างคือ softmax และการสูญเสียบันทึกหลาย ใช้สัญลักษณ์ Zzz สำหรับค่าการเปิดใช้งานล่วงหน้า (ผลรวมของการเปิดใช้งานน้ำหนักครั้งจากเลเยอร์ก่อนหน้า) aaa สำหรับการเปิดใช้งาน Yyy สำหรับความจริงภาคพื้นดินที่ใช้สำหรับการฝึกอบรม ผมii สำหรับดัชนีของเซลล์ประสาทขาออก การเปิดใช้งานเชิงเส้น aผม=Zผมai=zia_i=z_i เกิดข้อผิดพลาดกำลังสอง 12Σ∀ ฉัน(Yผม-aผม)212∑∀i(yi−ai)2\frac{1}{2} \sum\limits_{\forall i} (y_i-a_i)^2 การเปิดใช้งาน Sigmoid aผม=11 +อี-Zผมai=11+e−zia_i = \frac{1}{1+e^{-z_i}} ไปกับวัตถุประสงค์ logloss / cross-entropy -Σ∀ ฉัน(Yผม∗ l o g(aผม) + ( 1 -Yผม) ∗ l o g( …

2
โคตรลาดไล่สีแบบสุ่มตามการดำเนินการของเวกเตอร์
สมมติว่าฉันต้องการฝึกอัลกอริธึมการถดถอยแบบไล่ระดับสีแบบสุ่มโดยใช้ชุดข้อมูลที่มีตัวอย่าง N ตัว เนื่องจากขนาดของชุดข้อมูลได้รับการแก้ไขฉันจะใช้ข้อมูล T ครั้ง ในการทำซ้ำแต่ละครั้งหรือ "ยุค" ฉันใช้ตัวอย่างการฝึกอบรมแต่ละครั้งทันทีหลังจากจัดลำดับการฝึกทั้งหมดใหม่แบบสุ่ม การติดตั้งของฉันนั้นใช้ Python และ Numpy ดังนั้นการใช้การดำเนินการเวกเตอร์สามารถลดเวลาในการคำนวณได้อย่างน่าทึ่ง การหาเวกเตอร์ของการไล่สีแบบแบทช์นั้นค่อนข้างตรงไปตรงมา อย่างไรก็ตามในกรณีของการไล่ระดับสีแบบสุ่มสุ่มฉันไม่สามารถหาวิธีที่จะหลีกเลี่ยงการวนรอบนอกที่วนซ้ำผ่านตัวอย่างทั้งหมดในแต่ละยุค ไม่มีใครรู้ว่าการใช้เวกเตอร์ของการไล่ระดับสีแบบสุ่มสุ่ม? แก้ไข : ฉันถูกถามว่าทำไมฉันถึงต้องการใช้การไล่ระดับสีแบบออนไลน์ถ้าขนาดของชุดข้อมูลของฉันได้รับการแก้ไข จาก [1] เราจะเห็นได้ว่าการไล่ระดับสีแบบออนไลน์นั้นช้ากว่าการไล่ระดับสีแบบแบทช์เป็นค่าต่ำสุดของต้นทุนเชิงประจักษ์ อย่างไรก็ตามมันมาบรรจบกันได้เร็วขึ้นจนถึงค่าต่ำสุดที่คาดไว้ซึ่งวัดประสิทธิภาพทั่วไป ฉันต้องการทดสอบผลกระทบของผลลัพธ์ทางทฤษฎีเหล่านี้ในปัญหาเฉพาะของฉันโดยใช้การตรวจสอบข้าม หากไม่มีการใช้งาน vectorized แล้วโค้ดโคตรลาดของฉันออนไลน์จะช้ากว่าโคตรเกรเดียนต์ของแบทช์ ที่เพิ่มขึ้นอย่างน่าทึ่งเวลาที่ใช้ในกระบวนการตรวจสอบข้ามที่จะแล้วเสร็จ แก้ไข : ฉันรวมที่นี่ pseudocode ของการดำเนินการสืบเชื้อสายการไล่ระดับสีแบบออนไลน์ของฉันตามที่เพื่อนร้องขอ ฉันกำลังแก้ปัญหาการถดถอย Method: on-line gradient descent (regression) Input: X (nxp matrix; each line contains a training sample, …

2
ทำไมอัตราการเรียนรู้ทำให้น้ำหนักของเครือข่ายประสาทเทียมสูงขึ้น?
ฉันใช้เทนเซอร์โฟลว์เพื่อเขียนโครงข่ายประสาทอย่างง่ายสำหรับการวิจัยนิดหน่อยและฉันมีปัญหามากมายเกี่ยวกับน้ำหนักของ 'น่าน' ในขณะฝึกอบรม ฉันลองวิธีแก้ไขปัญหาที่แตกต่างกันมากมายเช่นการเปลี่ยนเครื่องมือเพิ่มประสิทธิภาพการเปลี่ยนแปลงการสูญเสียขนาดข้อมูลเป็นต้น แต่ไม่มีประโยชน์ ในที่สุดฉันสังเกตเห็นว่าการเปลี่ยนแปลงของอัตราการเรียนรู้ทำให้น้ำหนักของฉันแตกต่างอย่างไม่น่าเชื่อ ใช้อัตราการเรียนรู้. 001 (ซึ่งฉันคิดว่าค่อนข้างอนุรักษ์นิยม) ฟังก์ชั่นย่อเล็กสุดจะเพิ่มความสูญเสียอย่างมาก หลังจากยุคหนึ่งความสูญเสียอาจเพิ่มขึ้นจากจำนวนในหลักพันไปเป็นล้านล้านและจากนั้นไปสู่อนันต์ ('น่าน') เมื่อฉันลดอัตราการเรียนรู้เป็น. 0001 ทุกอย่างก็ใช้ได้ดี 1) เหตุใดลำดับความสำคัญเดียวจึงมีผลเช่นนี้? 2) ทำไมฟังก์ชั่นย่อเล็กสุดทำหน้าที่ตรงข้ามกับฟังก์ชั่นของมันและเพิ่มการสูญเสียสูงสุด? สำหรับฉันแล้วดูเหมือนว่าจะไม่เกิดขึ้นไม่ว่าจะเรียนรู้อะไรก็ตาม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.