Câu hỏi: AID301c - Phần 4: Học máy, nhận dạng hình ảnh và ngôn ngữ tự nhiên
34 câu trắc nghiệm kèm lời giải của môn AID301c - Thiết kế sản phẩm TTNT, xếp theo thứ tự nhập vào ngân hàng.
Danh sách câu hỏi
20/34 câuCòn 14
ATo visualize data
BTo summarize model performance
CTo preprocess data
DTo train a model
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To summarize model performance". Hàm classification_report trong sklearn.metrics nhận nhãn thật và nhãn dự đoán rồi in bảng tóm tắt hiệu năng phân loại theo từng lớp: precision (độ chính xác của các dự đoán dương), recall (độ phủ, tỉ lệ ca dương thật được bắt), f1-score (trung bình điều hoà của hai chỉ số trên) và support (số mẫu thật của lớp), kèm các dòng accuracy, macro avg và weighted avg. "To visualize data" sai vì hàm chỉ trả về văn bản hoặc dict số liệu, không vẽ biểu đồ nào; muốn trực quan hoá dữ liệu phải dùng matplotlib hay seaborn. "To preprocess data" sai vì tiền xử lý là việc của các transformer như StandardScaler hay OneHotEncoder, diễn ra trước khi huấn luyện chứ không phải sau khi đã có dự đoán. "To train a model" sai vì huấn luyện là lời gọi fit của estimator; classification_report chỉ dùng sau đó để đánh giá mô hình đã huấn luyện.
AAnalyzing the structure of sentences
BDetermining the emotional tone behind a series of words
CTranslating text from one language to another
DSummarizing large documents
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Determining the emotional tone behind a series of words". Sentiment analysis (phân tích cảm xúc) là bài toán NLP nhằm xác định thái độ hay sắc thái cảm xúc mà một đoạn văn bản thể hiện, thường gán nhãn tích cực, tiêu cực hoặc trung tính, ví dụ phân loại đánh giá sản phẩm của khách hàng. "Analyzing the structure of sentences" là phân tích cú pháp (parsing), quan tâm tới quan hệ ngữ pháp giữa các từ chứ không phải cảm xúc. "Translating text from one language to another" là dịch máy (machine translation), một bài toán NLP khác hẳn. "Summarizing large documents" là tóm tắt văn bản (text summarization), mục tiêu là rút gọn nội dung chứ không đánh giá thái độ của người viết.
A10-15%
B20-35%
C45-50%
D70-75%
E85-95%
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "45-50%". Hàm lemmatize_document trong bài thực hành xử lý ngôn ngữ tự nhiên làm hai việc cùng lúc: đưa mỗi từ về lemma (dạng gốc trong từ điển, chẳng hạn running thành run) và loại bỏ stop word (từ chức năng như the, is, and) cùng dấu câu. Trong văn bản tiếng Anh, từ chức năng và dấu câu chiếm một phần rất lớn số token, nên sau khi lọc, kho văn bản chỉ còn lại khoảng một nửa số token ban đầu. Mức "10-15%" và "20-35%" ngụ ý đã cắt gần hết văn bản, mạnh hơn nhiều so với việc chỉ bỏ từ chức năng và dấu câu. Ngược lại, "70-75%" và "85-95%" ứng với trường hợp gần như không lọc gì; đó là kết quả nếu chỉ lemmatize thuần túy, vì bước này chỉ đổi dạng từ chứ không làm giảm số lượng token.
AInstall the SDK
BCreate an IBM Cloud account
CCreate a resource for Natural Language Understanding
DDownload the tutorial files
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Create an IBM Cloud account". Watson Developer Cloud Python SDK (bộ công cụ lập trình để gọi các dịch vụ Watson từ Python) chỉ là lớp vỏ gọi tới các dịch vụ chạy trên IBM Cloud, nên mọi bước khác đều phụ thuộc vào việc có tài khoản đám mây trước: tài khoản là nơi tạo dịch vụ, sinh API key và URL để SDK xác thực. "Install the SDK" là bước cần làm, nhưng cài thư viện xong mà chưa có tài khoản thì không có thông tin xác thực nào để dùng, vì vậy nó đứng sau. "Create a resource for Natural Language Understanding" chỉ thực hiện được khi đã đăng nhập vào một tài khoản IBM Cloud, nên là bước tiếp theo chứ không phải bước đầu. "Download the tutorial files" là tài liệu hỗ trợ học tập, không phải điều kiện để thiết lập SDK và có thể làm vào bất kỳ lúc nào.
5The decision tree base models in random forests individually have high bias and low variance.2 lựa chọn
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "False". Trong random forest (rừng ngẫu nhiên, Breiman), mỗi cây quyết định thành phần thường được cho mọc sâu, gần như không cắt tỉa, nên từng cây riêng lẻ có bias (độ chệch) thấp nhưng variance (phương sai) cao: nó khớp rất sát dữ liệu huấn luyện và thay đổi mạnh khi dữ liệu đổi một chút. Rừng ngẫu nhiên giảm phương sai bằng cách lấy trung bình hoặc bỏ phiếu trên nhiều cây được huấn luyện trên các mẫu bootstrap khác nhau và chỉ xét một tập con đặc trưng ngẫu nhiên ở mỗi lần tách, làm các cây ít tương quan với nhau. Phát biểu "True" mô tả ngược lại: bias cao và variance thấp là đặc điểm của các mô hình yếu, nông như stump (cây một tầng) dùng trong boosting, nơi thuật toán giảm bias bằng cách cộng dồn tuần tự. Vì vậy với base model của random forest, phát biểu trong câu hỏi là sai.
ATrue Negatives (TN)
BFalse Positives (FP)
CTrue Positives (TP)
DAverage Score (AS)
EFalse Negatives (FN)
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Average Score (AS)". Confusion matrix (ma trận nhầm lẫn) của bài toán phân loại nhị phân là bảng 2x2 đối chiếu nhãn thật với nhãn dự đoán, gồm đúng bốn ô; từ bốn ô này mới tính ra các chỉ số như accuracy, precision, recall. "Average Score (AS)" không phải một ô của ma trận, cũng không phải thuật ngữ chuẩn nào gắn với nó, nên là đáp án của câu hỏi phủ định. Ba ô còn lại đều là thành phần thật nên không được chọn: "True Negatives (TN)" là số mẫu âm được dự đoán đúng là âm; "False Positives (FP)" là số mẫu âm bị dự đoán nhầm thành dương, còn gọi là lỗi loại I; "True Positives (TP)" là số mẫu dương được dự đoán đúng là dương; "False Negatives (FN)" là số mẫu dương bị bỏ sót, dự đoán nhầm thành âm, tức lỗi loại II.
Aservice version, service API key, service JSON map
Bservice URL, service JSON map, service API key
Cservice API key, service version, service URL
Dservice version, service IAMAuthenticator, service URL
Eservice API key, service URL, service IAMAuthenticator
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "service API key, service version, service URL". Khi gọi Watson Natural Language Understanding qua Python SDK, mã cần ba giá trị: API key để xác thực tài khoản, version (chuỗi ngày phiên bản API) để cố định hành vi của dịch vụ, và URL của điểm cuối dịch vụ theo vùng; ba giá trị này thường được lưu trong một tệp riêng trên máy rồi nhập vào notebook như biến. "service version, service API key, service JSON map" và "service URL, service JSON map, service API key" đều chứa "JSON map", vốn không phải thông tin cần lưu, và mỗi danh sách lại thiếu một trong ba mục thật. "service version, service IAMAuthenticator, service URL" và "service API key, service URL, service IAMAuthenticator" nhầm IAMAuthenticator, là lớp trong thư viện được khởi tạo từ API key ngay trong mã nên không phải giá trị cần lưu riêng; danh sách đầu còn thiếu API key, danh sách sau thiếu version.
8What is a key reason for using existing NLP APIs instead of building models from scratch?4 lựa chọn
AThey are always more accurate
BThey require less time and resources
CThey are easier to understand
DThey eliminate the need for data
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "They require less time and resources". Các NLP API có sẵn, như dịch vụ phân tích văn bản trên đám mây, đã được nhà cung cấp huấn luyện trên kho dữ liệu lớn, nên đội sản phẩm chỉ cần gửi văn bản và nhận kết quả, không phải tự gán nhãn dữ liệu, thuê hạ tầng GPU hay tuyển chuyên gia để huấn luyện từ đầu; đây là bài toán đánh đổi giữa tự xây và đi mua thường gặp khi vận hành AI. "They are always more accurate" sai vì mô hình tổng quát có thể kém mô hình tự huấn luyện trên miền chuyên biệt như văn bản y khoa hay pháp lý. "They are easier to understand" sai vì API thường là hộp đen, người dùng hầu như không thấy kiến trúc hay dữ liệu huấn luyện bên trong. "They eliminate the need for data" sai vì vẫn cần dữ liệu đầu vào để xử lý và dữ liệu đánh giá để kiểm tra API có đạt yêu cầu của sản phẩm hay không.
9Which of the following neural network architectures are most-commonly used for time-series analysis?5 lựa chọn
AMulti-layer perceptron
BRecurrent neural networks
CTransfer learning
DConvolutional neural network
EAutoencoders
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Recurrent neural networks". Recurrent neural network (mạng nơ-ron hồi quy) xử lý dữ liệu theo từng bước thời gian và mang theo một trạng thái ẩn đóng vai trò bộ nhớ, nên nắm được sự phụ thuộc giữa giá trị hiện tại với các giá trị trước đó; các biến thể như LSTM và GRU là lựa chọn quen thuộc nhất cho chuỗi thời gian. "Multi-layer perceptron" nhận một vectơ đầu vào cố định và không có cơ chế ghi nhớ thứ tự, nên phải tự tạo đặc trưng trễ bằng tay. "Transfer learning" là kỹ thuật tái sử dụng mô hình đã huấn luyện cho bài toán mới, không phải một kiến trúc mạng. "Convolutional neural network" mạnh nhất với dữ liệu ảnh; tích chập một chiều có thể dùng cho chuỗi nhưng không phải lựa chọn phổ biến nhất. "Autoencoders" chủ yếu dùng để nén dữ liệu hoặc phát hiện bất thường, không phải kiến trúc chính để mô hình hóa chuỗi thời gian.
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "True". Dữ liệu rời bỏ thuê bao (churn) của AAVAIL là bài toán phân loại có giám sát với nhãn hai lớp (khách ở lại hay huỷ), đặc trưng gồm cả biến số như tuổi, số lượt xem lẫn biến phân loại như quốc gia, loại thuê bao. Cây quyết định (decision tree) hợp với dạng dữ liệu này: nó chia dữ liệu theo ngưỡng của từng đặc trưng, không cần chuẩn hoá thang đo, nắm được quan hệ phi tuyến và tương tác giữa các biến, và cho ra các luật dễ giải thích với bộ phận kinh doanh, ví dụ nhóm khách nào có nguy cơ huỷ cao. Nó cũng là nền của các mô hình tập hợp như random forest. Vì vậy "False" không đúng: hạn chế của một cây đơn như dễ quá khớp (overfitting) chỉ đòi hỏi giới hạn độ sâu hay cắt tỉa, chứ không làm cây trở thành mô hình vô dụng cho dữ liệu churn.
11What type of data structures are used as standardized input to the interfaces in scikit-learn?4 lựa chọn
ALists and dictionaries
BDataFrames and Series
CNumPy arrays and SciPy sparse matrices
DStrings and tuples
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "NumPy arrays and SciPy sparse matrices". Các estimator (bộ ước lượng) của scikit-learn có giao diện thống nhất fit, predict, transform, và đầu vào chuẩn của chúng là mảng NumPy cho dữ liệu dày đặc và ma trận thưa của SciPy cho dữ liệu có rất nhiều số 0 như ma trận đếm từ khi xử lý văn bản. Phương án "Lists and dictionaries" sai vì đây là cấu trúc Python thuần; list có thể được chuyển ngầm thành mảng, còn dictionary phải qua DictVectorizer mới dùng được, nên chúng không phải dạng đầu vào chuẩn. Phương án "DataFrames and Series" là dạng dữ liệu của pandas, được chấp nhận vì scikit-learn chuyển chúng về mảng NumPy bên trong, nhưng cấu trúc chuẩn mà giao diện được thiết kế quanh vẫn là mảng. Phương án "Strings and tuples" sai vì mô hình cần đặc trưng dạng số; chuỗi ký tự phải được mã hoá hoặc vector hoá trước khi đưa vào.
12Which of the following classifiers is inherently designed for multiclass classification?4 lựa chọn
ALinear Regression
BNaive Bayes
CK-Means Clustering
DDecision Trees (in binary mode)
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Naive Bayes". Naive Bayes dùng định lý Bayes với giả định các đặc trưng độc lập có điều kiện để tính xác suất hậu nghiệm P(lớp | đặc trưng) cho từng lớp rồi chọn lớp có xác suất lớn nhất, nên nó xử lý tự nhiên bất kỳ số lớp nào mà không cần chiến lược one-vs-rest (một-đấu-phần-còn-lại). "Linear Regression" là mô hình hồi quy dự đoán giá trị liên tục, không phải bộ phân loại. "K-Means Clustering" là thuật toán phân cụm không giám sát, không học từ nhãn lớp nên không phải bộ phân loại đa lớp. "Decision Trees (in binary mode)" tự giới hạn ở chế độ nhị phân; cây quyết định thông thường vẫn phân loại được nhiều lớp, nhưng mô tả gắn với chế độ nhị phân này không phải ví dụ của một bộ phân loại vốn được thiết kế cho đa lớp như câu hỏi yêu cầu.
ATransformer, Estimator, Predictor
BTransformer, Estimator
CEstimator, Predictor
DTransformer
ETransformer, Predictor
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Transformer, Estimator". Trong scikit-learn, mọi đối tượng học từ dữ liệu bằng fit đều theo giao diện Estimator (bộ ước lượng), còn giao diện Transformer (bộ biến đổi) bổ sung transform để biến đổi dữ liệu; fit_transform là phương thức của transformer, gộp fit rồi transform trên cùng dữ liệu, nên nó gắn với cả hai giao diện, ví dụ StandardScaler hay PCA. "Transformer, Estimator, Predictor" sai vì giao diện Predictor gắn với phương thức predict, mà fit_transform không trả về dự đoán. "Estimator, Predictor" sai vì thiếu Transformer, chính là giao diện định nghĩa bước transform trong fit_transform, lại thêm Predictor không liên quan. "Transformer" sai vì bỏ sót Estimator: phần fit của phương thức là đặc trưng của estimator, và transformer trong sklearn vốn đồng thời là estimator. "Transformer, Predictor" sai vì Predictor chỉ áp dụng cho mô hình có predict như hồi quy hay phân loại, đồng thời lại thiếu Estimator.
Apip install ibm-watson
Bpip install --upgrade ibm-watson
Cinstall ibm-watson
Dupgrade ibm-watson
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "pip install ibm-watson". Watson Developer Cloud Python SDK được phát hành trên PyPI với tên gói ibm-watson, nên lệnh cài đặt cơ bản là dùng trình quản lý gói pip với lệnh install và tên gói đó. Phương án "pip install --upgrade ibm-watson" là biến thể dùng để cập nhật gói lên bản mới nhất khi đã cài, hoặc cài mới kèm nâng cấp; nó cũng chạy được, nhưng câu hỏi hỏi lệnh cài đặt, và cờ --upgrade chỉ bổ sung hành vi nâng cấp chứ không phải lệnh cài chuẩn. Phương án "install ibm-watson" sai vì thiếu chương trình pip đứng trước, shell sẽ không hiểu install là lệnh cài gói Python. Phương án "upgrade ibm-watson" sai vì không có lệnh upgrade độc lập trong pip hay trong shell; nâng cấp phải viết dưới dạng cờ của lệnh pip install.
AEach sample can have multiple labels.
BEach sample is assigned to only one label.
CIt is limited to two classes only.
DIt does not require any evaluation metrics.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Each sample is assigned to only one label.". Multiclass classification (phân loại đa lớp) là bài toán có từ ba lớp trở lên nhưng mỗi mẫu chỉ thuộc đúng một lớp, ví dụ phân loại ảnh chữ số viết tay vào một trong mười chữ số. "Each sample can have multiple labels." mô tả multi-label classification (phân loại đa nhãn), nơi một mẫu được gắn nhiều nhãn cùng lúc, như một bài báo vừa thuộc chủ đề kinh tế vừa thuộc chủ đề công nghệ. "It is limited to two classes only." là định nghĩa của binary classification (phân loại nhị phân), trường hợp đặc biệt chỉ có hai lớp. "It does not require any evaluation metrics." sai, vì mô hình đa lớp vẫn phải được đánh giá bằng accuracy, ma trận nhầm lẫn hoặc precision, recall, F1 tính theo từng lớp rồi lấy trung bình macro hay micro.
AIn a publicly accessible file
BOn a machine you trust in a secure file
CIn a shared document
DIn the cloud without encryption
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "On a machine you trust in a secure file". API key và thông tin nhạy cảm như mật khẩu, token là chìa khoá truy cập dịch vụ: ai có nó thì dùng được tài nguyên và phát sinh chi phí dưới tên bạn. Cách làm đúng là để chúng trong một tệp riêng trên máy tin cậy, giới hạn quyền đọc, không đưa vào mã nguồn hay kho git, rồi để mã đọc vào dưới dạng biến. "In a publicly accessible file" khiến bất kỳ ai cũng lấy được khoá. "In a shared document" làm khoá lan tới nhiều người ngoài phạm vi cần thiết, khó thu hồi và không biết ai đã dùng. "In the cloud without encryption" để khoá ở dạng văn bản rõ trên hạ tầng bên ngoài, chỉ một lỗi cấu hình quyền là lộ; lưu trên đám mây chỉ ổn khi dùng kho bí mật có mã hoá và kiểm soát truy cập.
ATrue
BFalse
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "True". Mạng nơ-ron tích chập (CNN) điển hình xếp chồng các lớp convolutional (tích chập) dùng bộ lọc trượt để trích đặc trưng cục bộ như cạnh, góc, kết cấu; xen giữa là các lớp pooling (gộp) như max pooling để giảm kích thước không gian và tăng tính bất biến với dịch chuyển nhỏ; cuối cùng bản đồ đặc trưng được làm phẳng rồi đưa qua các lớp dense (kết nối đầy đủ) để phân loại, thường kết thúc bằng softmax. Các kiến trúc kinh điển như LeNet hay VGG đều theo khuôn này. "False" sai vì phát biểu mô tả đúng cấu trúc phổ biến; tuy có những biến thể hiện đại thay pooling bằng tích chập bước lớn hoặc thay lớp dense bằng global average pooling, đó là biến thể chứ không làm phát biểu về một mạng điển hình trở nên sai.
18Which of the following is not an example of a variant/application of gradient decent that we have covered?5 lựa chọn
Abatch gradient descent
Bmini-batch gradient descent
Cregularized gradient decent
Dstochastic gradient descent
Egradient descent applied to regression
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "regularized gradient decent". Gradient descent (hạ gradient) cập nhật tham số ngược hướng gradient của hàm mất mát, và các biến thể được phân biệt theo lượng dữ liệu dùng cho mỗi lần cập nhật; regularization (chính quy hoá) là việc thêm số hạng phạt vào hàm mất mát, không phải một biến thể của thuật toán tối ưu, nên không nằm trong các biến thể đã học. "batch gradient descent" là biến thể đã học: tính gradient trên toàn bộ tập huấn luyện trước mỗi bước cập nhật. "mini-batch gradient descent" cũng đã học: mỗi bước dùng một lô nhỏ mẫu, cân bằng giữa tốc độ và độ ổn định. "stochastic gradient descent" đã học: cập nhật sau từng mẫu đơn lẻ, nhanh nhưng dao động. "gradient descent applied to regression" là ứng dụng đã học: dùng thuật toán để tìm hệ số hồi quy tối thiểu hoá sai số bình phương. Vì câu hỏi tìm cái không thuộc nhóm, đáp án là biến thể có chính quy hoá.
AHardware availability
BActivation functions: sigmoid, tanh, softmax, ReLU, leaky ReLU
CRegularization techniques: weight decay, early stopping, dropout
DTraining method: Loss function, learning rate, batch size, number of epochs
EStructure: the number of hidden layers, the number of nodes in each layer
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Hardware availability". Tham số điều chỉnh được (tunable parameter, hay siêu tham số) của mạng nơ-ron là những lựa chọn thiết kế và huấn luyện mà người làm mô hình thay đổi để tìm cấu hình tốt nhất. Phần cứng sẵn có ảnh hưởng tới tốc độ và giới hạn kích thước mô hình, nhưng nó là ràng buộc của môi trường chứ không phải tham số của bản thân mạng, nên đây là đáp án của câu hỏi phủ định. Các nhóm còn lại đều là siêu tham số thật nên không được chọn: "Activation functions: sigmoid, tanh, softmax, ReLU, leaky ReLU" là lựa chọn hàm kích hoạt quyết định tính phi tuyến của từng lớp; "Regularization techniques: weight decay, early stopping, dropout" là các cách chống quá khớp có thể bật tắt và chỉnh cường độ; "Training method: Loss function, learning rate, batch size, number of epochs" quyết định mô hình được tối ưu ra sao; "Structure: the number of hidden layers, the number of nodes in each layer" quyết định độ sâu và độ rộng, tức sức chứa của mạng.
AA single classifier is trained for all classes.
BA different classifier is trained for each label.
CAll classes are treated as one single class.
DIt is not applicable to multiclass classification.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "A different classifier is trained for each label.". Chiến lược one-vs-all (một-đấu-tất-cả, còn gọi one-vs-rest) biến bài toán K lớp thành K bài toán nhị phân: với mỗi nhãn, huấn luyện một bộ phân loại riêng tách lớp đó khỏi toàn bộ các lớp khác; khi dự đoán, chọn lớp có điểm hoặc xác suất cao nhất. Logistic regression hay SVM tuyến tính thường dùng cách này để làm việc với nhiều lớp. "A single classifier is trained for all classes." mô tả mô hình đa lớp gốc như softmax hay Naive Bayes, ngược với ý tưởng tách bài toán. "All classes are treated as one single class." làm mất hết thông tin phân biệt giữa các lớp, không còn gì để phân loại. "It is not applicable to multiclass classification." sai vì one-vs-all sinh ra chính là để đưa bộ phân loại nhị phân vào bài toán đa lớp.