วิทยาศาสตร์ข้อมูล

ถามตอบสำหรับผู้เชี่ยวชาญด้านข้อมูลวิทยาศาสตร์ผู้เชี่ยวชาญด้านการเรียนรู้ของเครื่องจักรและผู้ที่สนใจเรียนรู้เพิ่มเติมเกี่ยวกับสาขานี้

2
เมื่อไหร่ที่เราจะบอกว่าชุดข้อมูลนั้นไม่สามารถจำแนกได้?
ฉันมีการวิเคราะห์ชุดข้อมูลหลายครั้งซึ่งฉันไม่สามารถจำแนกประเภทได้ เพื่อดูว่าฉันจะได้ลักษณนามฉันมักจะใช้ขั้นตอนต่อไปนี้: สร้างพล็อตกล่องฉลากกับค่าตัวเลข ลดมิติเป็น 2 หรือ 3 เพื่อดูว่าคลาสแยกออกจากกันได้หรือไม่ลอง LDA ในบางครั้ง พยายามปรับให้เหมาะสมกับ SVM และป่าสุ่มและดูความสำคัญของฟีเจอร์เพื่อดูว่าคุณสมบัตินั้นเหมาะสมหรือไม่ ลองเปลี่ยนความสมดุลของคลาสและเทคนิคต่าง ๆ เช่นการสุ่มตัวอย่างต่ำเกินไปและการสุ่มตัวอย่างมากเกินไปเพื่อตรวจสอบว่าความไม่สมดุลของคลาสอาจเป็นปัญหาหรือไม่ มีวิธีอื่นอีกมากมายที่ฉันนึกได้ แต่ยังไม่ได้ลอง บางครั้งฉันรู้ว่าคุณสมบัติเหล่านี้ไม่ดีและไม่เกี่ยวข้องกับป้ายกำกับที่เราพยายามคาดการณ์ จากนั้นฉันก็ใช้สัญชาตญาณทางธุรกิจนั้นเพื่อยุติการฝึกโดยสรุปว่าเราต้องการคุณสมบัติที่ดีกว่าหรือป้ายกำกับที่ต่างออกไปโดยสิ้นเชิง คำถามของฉันคือนักวิทยาศาสตร์ข้อมูลรายงานว่าการจำแนกประเภทไม่สามารถทำได้ด้วยคุณสมบัติเหล่านี้ มีวิธีทางสถิติในการรายงานหรือปรับข้อมูลในอัลกอริทึมที่แตกต่างกันก่อนและการดูการตรวจสอบความถูกต้องเป็นตัวเลือกที่ดีที่สุดหรือไม่?

2
มีข้อมูลเพียงพอสำหรับการฝึกอบรมรูปแบบการเรียนรู้ของเครื่อง?
ฉันทำงานเกี่ยวกับการเรียนรู้ของเครื่องจักรและชีวสารสนเทศมาระยะหนึ่งแล้วและวันนี้ฉันได้สนทนากับเพื่อนร่วมงานเกี่ยวกับประเด็นทั่วไปที่สำคัญของการทำเหมืองข้อมูล เพื่อนร่วมงานของฉัน (ซึ่งเป็นผู้เชี่ยวชาญด้านการเรียนรู้ของเครื่อง) กล่าวว่าในความคิดของเขาในด้านการปฏิบัติเนื้อหาที่สำคัญที่สุดของการเรียนรู้เครื่องเป็นวิธีที่จะเข้าใจว่าคุณมีการเก็บรวบรวมข้อมูลเพียงพอในการฝึกอบรมการเรียนรู้แบบเครื่องของคุณ คำสั่งนี้ทำให้ฉันประหลาดใจเพราะฉันไม่เคยให้ความสำคัญกับเรื่องนี้มากนัก ... จากนั้นผมก็มองหาข้อมูลเพิ่มเติมเกี่ยวกับอินเทอร์เน็ตและผมพบว่าการโพสต์เกี่ยวกับเรื่องนี้FastML.comรายงานเป็นกฎของหัวแม่มือที่คุณต้องการประมาณ10 ครั้งเป็นกรณีข้อมูลมากที่สุดเท่าที่มีคุณสมบัติ สองคำถาม: 1 - ปัญหานี้เกี่ยวข้องกับการเรียนรู้ของเครื่องจริงหรือไม่? 2 - กฎ 10 ครั้งทำงานใช่ไหม มีแหล่งข้อมูลที่เกี่ยวข้องอื่น ๆ สำหรับชุดรูปแบบนี้หรือไม่?

1
การประมวลผลข้อมูล GPU แบบเร่งสำหรับ R ใน Windows
ขณะนี้ฉันกำลังเขียนบทความเกี่ยวกับ Big Data ที่ทำให้เราใช้ R เป็นอย่างมากในการวิเคราะห์ข้อมูล ฉันมี GTX1070 ในพีซีของฉันเพราะเหตุผลด้านการเล่นเกม ดังนั้นฉันคิดว่ามันจะเจ๋งจริง ๆ ถ้าฉันสามารถใช้มันเพื่อเร่งการประมวลผลสำหรับบางสิ่งที่อาจารย์ของฉันทำไว้ แต่มันไม่ง่ายเลยที่จะทำสิ่งนี้ ฉันได้ติดตั้ง gpuR, CUDA, Rtools และบิตและบ็อบอีกสองสามตัวและฉันสามารถสร้างวัตถุ gpuMatrix จากข้อมูลการแสดงออกทางจีโนม แต่ฉันยังไม่พบฟังก์ชั่นที่ใช้งานได้กับวัตถุ gpuMatrix และยังให้ความแตกต่างที่เห็นได้ชัดเจนในประสิทธิภาพ บางทีนี่อาจเกี่ยวข้องกับข้อ จำกัด ที่มีอยู่ในแพคเกจ gpuR - แพ็คเกจอื่น ๆ ดูเหมือนจะพูดถึงการมีฟังก์ชั่นที่ฟังดูเหมือนพวกเขาจะเหมือนกับสิ่งที่ฉันกำลังมองหา แพคเกจเหล่านั้นเกือบทั้งหมดมีเฉพาะสำหรับ Linux มันยากที่จะใช้ GPU รองรับ R ใน windows หรือไม่ หรือมีเหตุผลอื่นอีกไหมที่มีแพคเกจจำนวนน้อยที่มีให้ทำใน Windows ในแง่หนึ่งฉันแค่อยากรู้อยากเห็น แต่มันก็เจ๋งมากที่จะทำให้มันทำงานได้จริง มันทำให้ฉันประหลาดใจที่มี Windows เล็ก ๆ น้อย ๆ …
11 r  gpu  parallel 

2
อะไรคือความแตกต่างระหว่าง Dilated Convolution และ Deconvolution?
การปฏิบัติการสองอย่างนี้เป็นเรื่องธรรมดามากในการเรียนรู้อย่างลึกซึ้งในขณะนี้ ฉันอ่านเกี่ยวกับชั้น convolutional ที่ถูกทำให้พองในบทความนี้: WAVENET: รูปแบบทั่วไปสำหรับไฟล์เสียง RAW และ De-convolution อยู่ในบทความนี้: เครือข่าย Convolutional สำหรับการแบ่งส่วนแบบ Semantic ทั้งคู่ดูเหมือนจะยกตัวอย่างภาพ แต่ความแตกต่างคืออะไร?

2
ค้นหา P (X | Y) ที่ดีที่สุดเมื่อได้รับฉันมีโมเดลที่มีประสิทธิภาพที่ดีเมื่อฝึกฝนบน P (Y | X)
ป้อนข้อมูล: XXX -> คุณสมบัติของเสื้อยืด (สีโลโก้ ฯลฯ ) YYY -> อัตรากำไร ฉันได้ฝึกอบรมฟอเรสต์แบบสุ่มบนและด้านบนและได้รับความถูกต้องสมเหตุสมผลในข้อมูลการทดสอบ ดังนั้นฉันมีYXXXYYY P(Y|X)P(Y|X)P(Y|X)X) ตอนนี้ฉันต้องการค้นหาเช่นการกระจายความน่าจะเป็นของฟีเจอร์เนื่องจากฉันคาดว่าจะได้รับกำไรมากXP(X|Y)P(X|Y)P(X|Y)XXX ฉันจะทำเช่นนั้นด้วยฟอเรสต์แบบสุ่ม (หรือโมเดลการเลือกปฏิบัติอื่น ๆ ) ได้อย่างไร หนึ่งข้อเสนอแนะสำหรับฉันอาจเริ่มต้นด้วยตัวแบบกำเนิดมากกว่าแบบตัวเลือก แต่ความเข้าใจของฉันเป็นแบบจำลองทั่วไปโดยทั่วไปต้องใช้ข้อมูลจำนวนมากในการฝึกอบรมเว้นแต่ว่าจะมีข้อ จำกัด บางอย่างเช่นความเป็นอิสระตามเงื่อนไขของในกรณีของ Naive Bayes?XXX ข้อเสนอแนะอื่น ๆ อาจเป็นเพียงแค่สลับและและฝึกอบรมรูปแบบการเลือกปฏิบัติ ตอนนี้จะเป็นอัตรากำไรและจะเป็นคุณสมบัติของเสื้อ จะให้การกระจายความน่าจะเป็นของคุณสมบัติเสื้อยืดโดยตรงกับฉันเนื่องจากอัตรากำไรเป้าหมาย แต่วิธีการนี้ดูเหมือนจะไม่ถูกต้องสำหรับฉันเนื่องจากฉันคิดว่าเป็นตัวแปรชั่วคราวและจะมีผลเสมอY X Y P ( Y | X ) X YXXXYYYXXXYYYP(Y|X)P(Y|X)P(Y|X)XXXYYY นอกจากนี้จากสิ่งที่ฉันได้ยินคำถามที่คล้ายกันได้ถูกวางสำหรับการค้นพบยาเสพติดและอัลกอริทึมได้รับการออกแบบซึ่งเกิดขึ้นกับยาเสพติดใหม่ผู้สมัครที่มีระดับสูงของความสำเร็จ ใครช่วยชี้แนะให้ฉันค้นคว้าวรรณกรรมในโดเมนนี้ได้ไหม ปรับปรุง: ฉันเจอสิ่งนี้และสิ่งนี้พูดถึง GAN ที่ใช้ในการค้นพบสิ่งเสพติด เครือข่ายฝ่ายตรงข้ามทั่วไปดูเหมือนจะเหมาะสำหรับคำแถลงปัญหาของฉันดังนั้นฉันจึงได้อ่านเกี่ยวกับพวกเขา แต่สิ่งหนึ่งที่ฉันเข้าใจคือ GAN …

1
ฝึกการแบตช์ใน Tensorflow
ขณะนี้ฉันกำลังพยายามฝึกอบรมโมเดลด้วยไฟล์ csv ขนาดใหญ่ (> 70GB ที่มีมากกว่า 60 ล้านแถว) หากต้องการทำเช่นนั้นฉันกำลังใช้ tf.contrib.learn.read_batch_examples ฉันดิ้นรนในการทำความเข้าใจว่าฟังก์ชั่นนี้อ่านข้อมูลได้อย่างไร หากฉันใช้ขนาดแบทช์เป็น 50,000 เช่นนั้นจะอ่านไฟล์ 50,000 บรรทัดแรกหรือไม่ หากฉันต้องการวนซ้ำไฟล์ทั้งหมด (1 ตอน) ฉันต้องใช้ num_rows / batch_size = 1.200 จำนวนขั้นตอนสำหรับเมธอด estimator.fit หรือไม่ นี่คือฟังก์ชั่นอินพุตที่ฉันใช้ในปัจจุบัน: def input_fn(file_names, batch_size): # Read csv files and create examples dict examples_dict = read_csv_examples(file_names, batch_size) # Continuous features feature_cols = {k: …

1
เครือข่ายประสาท Tensorflow TypeError: อาร์กิวเมนต์การดึงข้อมูลมีประเภทที่ไม่ถูกต้อง
ฉันกำลังสร้างโครงข่ายประสาทอย่างง่ายโดยใช้เมตริกซ์ด้วยข้อมูลที่ฉันรวบรวมเองอย่างไรก็ตามมันไม่ได้ทำงานร่วมกัน: PI พบข้อผิดพลาดที่ฉันไม่สามารถแก้ไขหรือค้นหาวิธีแก้ปัญหาได้และฉันจะรักความช่วยเหลือของคุณ ความผิดพลาด: TypeError: ดึงข้อมูลอาร์กิวเมนต์ 2861.6152 จาก 2861.6152 มีประเภทที่ไม่ถูกต้องจะต้องเป็นสตริงหรือ Tensor (ไม่สามารถแปลง float32 เป็น Tensor หรือ Operation) ข้อผิดพลาดอ้างถึงบรรทัดต่อไปนี้ในรหัสของฉัน: _, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: batch_output}) ฉันพบแล้วว่าข้อผิดพลาดจะไม่เกิดขึ้นเมื่อฉันใส่ความคิดเห็นในบรรทัดต่อไปนี้ในรหัสของฉัน: prediction = neural_network_model(champion_data) cost = tf.reduce_mean(tf.nn.softmax_cross_entropy_with_logits(prediction, item_data)) optimizer = tf.train.AdamOptimizer().minimize(cost) _, cost = tf_session.run([optimizer, cost], feed_dict = {champion_data: batch_input, item_data: …

4
ดึงข้อมูลจากประโยค
ฉันกำลังสร้าง chatbot ง่าย ๆ ฉันต้องการรับข้อมูลจากการตอบกลับของผู้ใช้ ตัวอย่างสถานการณ์: Bot : Hi, what is your name? User: My name is Edwin. ฉันต้องการแยกชื่อ Edwin ออกจากประโยค อย่างไรก็ตามผู้ใช้สามารถตอบสนองได้หลายวิธีเช่น User: Edwin is my name. User: I am Edwin. User: Edwin. ฉันพยายามพึ่งพาความสัมพันธ์ระหว่างคำ แต่ผลลัพธ์ไม่ดี ความคิดเกี่ยวกับเทคนิคใดที่ฉันสามารถใช้เพื่อแก้ไขปัญหานี้ [UPDATED] ฉันทดสอบด้วยการจดจำเอนทิตีที่ระบุชื่อพร้อมกับส่วนหนึ่งของเครื่องมือแท็กคำพูดและโปรแกรมแยกวิเคราะห์ ฉันพบว่าโมเดลส่วนใหญ่ได้รับการฝึกฝนในลักษณะที่อักขระตัวแรกของเอนทิตีสำหรับชื่อบุคคลหรือคำนามที่เหมาะสมจะต้องเป็นตัวพิมพ์ใหญ่ สิ่งนี้อาจเป็นจริงสำหรับเอกสารปกติ แต่ไม่เกี่ยวข้องกับ chatbot เช่น User: my name is edwin. NER ส่วนใหญ่ไม่สามารถรับรู้สิ่งนี้
11 python  nlp 

2
ไม่สามารถหาเลเยอร์การฝังเชิงเส้นในเครือข่ายประสาทเทียม
ฉันมีสถาปัตยกรรมเครือข่ายจากกระดาษ"การเรียนรู้ภาพที่มีความคล้ายคลึงกันอย่างละเอียดด้วยการจัดอันดับลึก"และฉันไม่สามารถหาวิธีการที่เอาท์พุทจากเครือข่ายขนานทั้งสามเข้าด้วยกันโดยใช้เลเยอร์การฝังเชิงเส้น ข้อมูลเฉพาะที่ระบุในเลเยอร์นี้ในกระดาษคือ ในที่สุดเราจะทำให้งานแต่งงานเป็นปกติจากทั้งสามส่วนและรวมเข้ากับเลเยอร์การฝังเชิงเส้น ขนาดของการฝังคือ 4096 ใครสามารถช่วยฉันในการหาว่าผู้เขียนหมายถึงอะไรเมื่อเขาพูดถึงเลเยอร์นี้?

2
การจำแนกเอกสารโดยใช้โครงข่ายประสาทเทียม
ฉันพยายามใช้ CNN (เครือข่ายประสาทเทียม) เพื่อจัดประเภทเอกสาร ซีเอ็นเอ็นสำหรับข้อความสั้น ๆ / ประโยคได้รับการศึกษาในเอกสารจำนวนมาก อย่างไรก็ตามดูเหมือนว่าไม่มีเอกสารใดที่ใช้ CNN สำหรับข้อความหรือเอกสารที่ยาว ปัญหาของฉันคือมีฟีเจอร์มากมายจากเอกสาร ในชุดข้อมูลของฉันเอกสารแต่ละฉบับมีโทเค็นมากกว่า 1,000 รายการ / คำ ในการป้อนตัวอย่างแต่ละตัวให้กับ CNN ฉันแปลงเอกสารแต่ละฉบับเป็นเมทริกซ์โดยใช้word2vecหรือถุงมือทำให้เกิดเมทริกซ์ขนาดใหญ่ สำหรับแต่ละเมทริกซ์ความสูงคือความยาวของเอกสารและความกว้างคือขนาดของคำที่ฝังเวกเตอร์ ชุดข้อมูลของฉันมีตัวอย่างมากกว่า 9000 ตัวอย่างและใช้เวลานานในการฝึกอบรมเครือข่าย (ทั้งสัปดาห์) ซึ่งทำให้ยากต่อการปรับแต่งพารามิเตอร์ วิธีการแยกคุณสมบัติอื่นคือการใช้เวกเตอร์หนึ่งคำสำหรับแต่ละคำศัพท์ แต่สิ่งนี้จะสร้างเมทริกซ์ที่กระจัดกระจายมาก และแน่นอนว่าวิธีนี้ใช้เวลาในการฝึกฝนมากกว่าวิธีก่อนหน้า ดังนั้นจะมีวิธีที่ดีกว่าสำหรับการแยกฟีเจอร์โดยไม่ต้องสร้างเมทริกซ์อินพุตขนาดใหญ่หรือไม่? แล้วเราจะจัดการกับความยาวของตัวแปรได้อย่างไร? ขณะนี้ฉันเพิ่มสตริงพิเศษเพื่อให้เอกสารมีความยาวเท่ากัน แต่ฉันไม่คิดว่ามันเป็นทางออกที่ดี

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

3
ฉันจะสร้าง Scatterplan แบบ PCA เชิงโต้ตอบใน Python ได้อย่างไร
matplotlibห้องสมุดที่มีความสามารถมาก แต่ขาด interactiveness โดยเฉพาะอย่างยิ่งภายใน Jupyter โน๊ตบุ๊ค ฉันต้องการที่ดีออฟไลน์เครื่องมือวางแผนเหมือนplot.ly

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

2
“ ผู้จดจำเจตนา” ทำงานอย่างไร
Alexaของ Amazon , Mixของ Nuance และWit.aiของ Facebook ทั้งหมดใช้ระบบที่คล้ายกันเพื่อระบุวิธีแปลงคำสั่งข้อความให้เป็นเจตนา - นั่นคือสิ่งที่คอมพิวเตอร์จะเข้าใจ ฉันไม่แน่ใจว่าชื่อ "ทางการ" สำหรับสิ่งนี้คืออะไร แต่ฉันเรียกมันว่า "การจดจำเจตนา" โดยทั่วไปวิธีที่จะไปจาก "กรุณาตั้งค่าไฟของฉันถึง 50% ความสว่าง" lights.setBrightness(0.50)เพื่อ วิธีที่พวกเขาระบุไว้คือการให้นักพัฒนาจัดทำรายการ "คำพูดตัวอย่าง" ซึ่งเกี่ยวข้องกับเจตนาและติดแท็กเลือกที่ตั้งของ "เอนทิตี" (โดยทั่วไปพารามิเตอร์) นี่คือตัวอย่างจาก Wit.ai: คำถามของฉันคือระบบเหล่านี้ทำงานอย่างไร เนื่องจากมันคล้ายกันมากฉันจึงคิดว่ามีงานน้ำเชื้อบางอย่างที่พวกเขาใช้ทั้งหมด ไม่มีใครรู้ว่ามันคืออะไร? ที่น่าสนใจHoundifyใช้ระบบที่แตกต่างกันมากขึ้นเช่น ["please"] . ("activate" | "enable" | "switch on" | "turn on") . [("the" | "my")] . ("lights" | "lighting") …

1
การใช้ word2vec กับไฟล์ข้อความขนาดเล็ก
ฉันใหม่โดยสิ้นเชิงกับ word2vec ดังนั้นโปรดอดทนกับฉัน ฉันมีชุดไฟล์ข้อความแต่ละอันมีชุดทวีตอยู่ระหว่าง 1,000-3,000 ฉันเลือกคำหลักทั่วไป ("kw1") และต้องการค้นหาคำที่มีความหมายเชิงความหมายสำหรับ "kw1" โดยใช้ word2vec ตัวอย่างเช่นหากคำหลักคือ "apple" ฉันคาดว่าจะเห็นคำที่เกี่ยวข้องเช่น "ipad" "os" "mac" ... ตามไฟล์อินพุต ดังนั้นชุดคำศัพท์ที่เกี่ยวข้องสำหรับ "kw1" นี้จะแตกต่างกันสำหรับไฟล์อินพุตแต่ละไฟล์เนื่องจาก word2vec จะได้รับการฝึกอบรมในไฟล์แต่ละไฟล์ (เช่นไฟล์อินพุต 5 ไฟล์เรียกใช้ word2vec 5 ครั้งในแต่ละไฟล์) เป้าหมายของฉันคือค้นหาชุดคำศัพท์ที่เกี่ยวข้องสำหรับไฟล์อินพุตแต่ละไฟล์ที่มีคำหลักทั่วไป ("kw1") ซึ่งจะใช้เพื่อวัตถุประสงค์อื่น คำถาม / ข้อสงสัยของฉันคือ: มันสมเหตุสมผลหรือไม่ที่จะใช้ word2vec สำหรับงานเช่นนี้? จะใช้เทคนิคหรือไม่หากพิจารณาถึงขนาดเล็กของไฟล์อินพุต? ฉันได้ดาวน์โหลดรหัสจาก code.google.com: https://code.google.com/p/word2vec/และเพิ่งให้การเรียกใช้แบบแห้งดังนี้: time ./word2vec -train $file -output vectors.bin -cbow …

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