Practice
1.
import numpy as np
# Forward pass for a single neuron
inputs = np.array([1.0, 2.0, 3.0])
weights = np.array([0.2, 0.8, -0.5])
bias = 2.0
output = np.dot(inputs, weights) + bias
print(output)easy
Solution
Step 1: Calculate dot product
np.dot(inputs, weights) = 1.0*0.2 + 2.0*0.8 + 3.0*(-0.5) = 0.2 + 1.6 - 1.5 = 0.3Step 2: Add bias
0.3 + 2.0 = 2.3Final Answer:
Option A -> Option AQuick Check:
Dot product then add bias [OK]
Hint: Dot product then add bias [OK]
Common Mistakes:
2. What is the time complexity of finding the nearest neighbors using a brute force approach in a KNN classifier?
easy
Solution
Step 1: Understand brute force KNN
Brute force KNN involves calculating the distance from the query point to all training points.Step 2: Analyze complexity
For each of the n training points, we compute the distance in d dimensions, leading to O(n * d).Final Answer:
Option C -> Option CQuick Check:
Brute force KNN: O(n * d) [OK]
Hint: Brute force KNN: O(n * d) [OK]
Common Mistakes:
3. You implemented stratified K-Fold cross-validation but notice class imbalance in some folds. What is the most likely cause?
medium
Solution
Step 1: Identify stratification issue
Stratification ensures class distribution is preserved in each fold.Step 2: Eliminate wrong options
Incorrect number of splits and D relate to fold count, not class distribution. Data shuffling before splitting affects randomness, not stratification.Final Answer:
Option A -> Option AQuick Check:
Check stratification parameter for class balance. [OK]
Hint: Check stratification parameter for class balance. [OK]
Common Mistakes:
4. In which scenario is gradient checking most useful?
medium
Solution
Step 1: Identify scenarios where gradient checking is applicable
Gradient checking is crucial when implementing new components to ensure correctness.Step 2: Eliminate unrelated scenarios
Options A, C, and D are not directly related to verifying gradient correctness.Final Answer:
Option A -> Option AQuick Check:
Use gradient check for new components. [OK]
Hint: Use gradient check for new components. [OK]
Common Mistakes:
5. How can you optimize the computation of eigenvectors for a large covariance matrix in PCA?
hard
Solution
Step 1: Identify efficient eigenvector computation methods
The power iteration method is efficient for finding the largest eigenvectors of large matrices.Step 2: Eliminate wrong options
Use the full SVD decomposition. is computationally expensive. Use incremental PCA. is for streaming data, not large matrices. Use the Gram-Schmidt process. is for orthogonalization, not eigenvector computation.Final Answer:
Option B -> Option BQuick Check:
Power iteration for large matrix eigenvectors. [OK]
Hint: Power iteration for large matrix eigenvectors. [OK]
Common Mistakes:
