commit e1cd74d08f67bd0419a4100a1598f8800a2c7b3f
parent faeca6df8e1fcf28445dfebcfa449a7c6b28aa36
Author: Andrew <andrewlaack1@gmail.com>
Date: Wed, 15 May 2024 20:37:07 -0500
Completed a few days of notes
Diffstat:
8 files changed, 101 insertions(+), 2 deletions(-)
diff --git a/CS331.md b/CS331.md
@@ -1,11 +1,24 @@
:index: :cs331:
# CS 331
-This is the index for my CS 332 notes.
+This is the index for my CS 331 notes.
## Main Links
[[Unity.md]]
[[Blender.md]]
[[MathConceptsCS331.md]]
+[[IPD.md]]
+FINAL EXAM:
+
+Learn about seams and how to mark good seams
+ - The number of edges in the resulting layout should be equal to the number of seams divided by 2.
+
+what order should armature's and meshes be made (armature first vs mesh first)
+
+Mesh first then armature
+
+Unwrapping is marking seams and going from 3d to 2d. This gives you the layout of the 2d mesh.
+
+UV Mapping takes in a 3d mesh and returns an image describing how to color it in. Unwrapping is part of the process of UV mapping.
diff --git a/IPD.md b/IPD.md
@@ -0,0 +1,9 @@
+# Interpupillary distance
+
+CS 331 W16
+
+## Notes
+
+**Definition:** This is the distance between the pupils.
+
+This value is important to calculate to ensure both images are rendered properly, think about parallax and how there could be issues.
diff --git a/MAE.md b/MAE.md
@@ -0,0 +1,28 @@
+:ml:
+# Mean Absolute Error
+
+ML CH2
+
+## Notes
+
+**Definition:** MAE also known as average absolute deviation or mean absolute error is an error metric used to describe the accuracy of a model by taking the difference between the inference and actual values of a set of samples and averaging the value.
+
+This is sometimes used when there are many outliers which can largely effect the [[RMSE.md]] error metric because of the way it weights deviations.
+
+Implementation:
+
+```python
+# Often you would use ordered pairs for expected and inference.
+expected = [10, 10, 4, 3, 2, 4, 5, 5]
+inference = [9 , 7, 3, 2, 1, 3, 2, 5]
+
+count = 0
+total = 0
+while count < len(expected):
+ total += abs(expected[count] - inference[count])
+ count += 1
+
+total = total / len(expected)
+print(total)
+
+```
diff --git a/MachineLearning.md b/MachineLearning.md
@@ -65,6 +65,9 @@ Concepts:
[[Overfitting.md]]
[[Underfitting.md]]
[[GeneralizationError.md]]
+[[RMSE.md]]
+[[MAE.md]]
+[[StratifiedSampling.md]]
To do:
diff --git a/RMSE.md b/RMSE.md
@@ -0,0 +1,34 @@
+:ml:
+# Root Mean Square Error
+
+ML CH2
+
+## Notes
+
+**Definition:** This is the most common form of error measuring for regression problems where you take the difference between each inference and the actual output, square it, do this with all samples, divide by the number of samples, and then take the square root.
+
+This is common because it weights more heavily far off inferences than slighly off inferences.
+
+Here is a simple implementation:
+
+```python
+import math
+
+# often you would use ordered pairs for expected and inference.
+expected = [10, 10, 4, 3, 2, 4, 5, 5]
+inference = [9 , 7, 3, 2, 1, 3, 2, 5]
+
+count = 0
+total = 0
+while count < len(expected):
+ exp = expected[count]
+ inf = inference[count]
+ total += (exp - inf) ** 2
+ count += 1
+
+total = total / count
+total = math.sqrt(total)
+print(total)
+```
+
+Another metric for errors is [[MAE.md]].
diff --git a/RegressionProblem.md b/RegressionProblem.md
@@ -16,3 +16,5 @@ When discussing regression, we often use the term "target" instead of "label" to
See also [[LogisticRegression.md]] where we assign a probability of group membership.
With regression, we describe the performance measure as the utility function or fitness function. This measures how good the model is. The inverse of this is the cost function which measures how bad it is.
+
+A uninvariate regression problem is one where you are trying to predict a single value as the output. The opposite of this is a multivariate regression problem where you are trying to detemine multiple output values.
diff --git a/StratifiedSampling.md b/StratifiedSampling.md
@@ -0,0 +1,10 @@
+:ml:
+# Stratified Sampling
+
+ML CH2
+
+## Notes
+
+**Definition:** Stratified sampling is the process of selecting samples based on the likelihood of samples being from strata.
+
+This is often used when there are smaller sample sizes that can't guarantee an accurate representative sample for testing and training data. We then define some strata and try to ensure accurate representation from each grouping to get more generalizable data.
diff --git a/Transform.md b/Transform.md
@@ -21,4 +21,4 @@ Transforms have the following public members:
1. position (Vector3)
2. rotation (Quaternion)
-:todo: find the rest I think scale is included
+3. scale (Vector3)