EECS 127 at UC Berkeley provides an introduction to optimization models and their applications, ranging from machine learning and statistics to decision-making and control. The course emphasizes numerically tractable problems, such as linear or constrained least-squares optimization.
1. Linear Algebra Foundations: Vectors, matrices, eigenvalue and singular value decomposition. :contentReference
2. Optimization Models: Least-squares, linear programming, quadratic programming, and second-order cone programming.
3. Convexity and Duality: Understanding convex sets, functions, and the concept of duality in optimization.
4. Applications: Implementing optimization techniques in machine learning, control systems, and decision-making processes.

Implemented low-rank matrix approximation to recover compressed images, leveraging singular value decomposition (SVD) to reduce data redundancy while preserving essential features.
Calculated the approximation error to evaluate compression performance and validate the effectiveness of the recovery process.
Demonstrated the practical application of matrix factorization in image compression and error analysis, enhancing understanding of optimization in real-world scenarios.

Simulated a cyclic power network with 100 nodes and 100 lines, generating random reactances and nodal phases to model power flow and detect sensor attacks.
Applied Lasso regression to sparse recovery, solving the optimization problem using CVX to identify attacked sensors (nodes and lines) based on noisy power measurements.
Achieved over 94% success rate in attack detection across 100 simulation trials, leveraging compressed sensing principles to optimize sensor network security.
Developed a strong foundation in optimization techniques and their practical applications in engineering.
Gained hands-on experience with tools like CVX for solving complex optimization problems.
Enhanced problem-solving skills by applying theoretical concepts to real-world scenarios, such as network security.
This course put me in an environment different from all of the courses I've taken previously.
Though the problem sets are application focused, lectures and exams would test heavily on understanding of theory driving these applications. I would have never learned about things like Quadratically Contrained Quadratic Programs or Lagrangians had I not taken this class.
The mini-projects assigned with some problem sets were the most intriguing part of the class to me because I was able to apply theory learned in class on real world tasks. The image compression project and how accurate re-construction can get with just SVD was shocking.