GithubHelp home page GithubHelp logo

svd-and-its-application's Introduction

SVD-and-Its-Application

Image compression & Denoise Image with SVD

Outline

  • Explain Vector
  • Explain Eigenvector
  • Explain Eigenvalue
  • Combination of Eigenvector & Eigenvalue
  • Explain SVD

References: AI Viet Nam

Vector:

  • Vector is an object has both a magnitude and a direction.
  • Vector is a matrix with single column or single row.
    • vector
    • Relations of Vectors

Eigenvector

  • A eigenvector v, is a non-zero vector that sastifies the following equation:
  • eigenvector
  • Vector v is called eigenvector of matrix A if we multiply matrix A by vector v, the new vector (lamda)v does not change direction after the transformation
  • eigenvector
  • non eigenvector

Eigenvalue

  • Eigenvalue tell us how much the eigenvector changes in size when mutiplied with the matrix Eigenvalue Eigenvalue1
  • New column vector (lamda)v has same direction eigenvector.
  • New column vector (lamda)v maybe either longer or shorter than eigenvector because of eigenvalue Lamda.
  • Eigenvalue lamda might be negative. The direction of new vector is reversed but still on the same line
  • We might find many eigenvectors of matrix A
  • All vector with the same direction are actually eigenvector of matrix A
  • eigenvalue2

Combination of Eigenventor & Eigenvalue

combination1 combination2 combination3

Singular Value Decomposition

Since mathematics is just the art of assigning different names to the same concept, SVD is nothing more than decomposing vectors onto orthogonal axes.

  • decompose
  • Support u and v are vectors
    • Vector u decomposed into orthogonal components w1 and w2
    • Want to decompose u as: u = w1 + w2
  • w1 is parallel to vector v and w1 is perpendicular/orthogonal to w2
  • The vector component w1 is also called the projection of vector u onto vector v:
    • w1 = proj(v)(u) (projection of vector u onto vector v).
    • w2 = u - w1

Decomposing a Vector into two Orthogonal Vectors

  • decompose1

Vector Projection

  • decompose2

Extend this conclusion for handling a matrix (a bunch of vectors)

  • decompose3

Recall Vector Projection

  • recall1
  • recall2
  • recall3
  • Extend to more than 1 vectors.
  • recall4
  • Generalize to any number of points and dimensions
  • recall5
  • recall 6
  • Any set of vectors (A) can be expressed in terms of their lengths of projections (S) on some set of orthogonal axes (V).
  • recall6

We are here!

wearehere

Convention SVD

ConventionSVD

Keep going on decomposing S

S

Sdecompose1

  • Normalize these comlumn vectors to make them of unit length
  • Dividing each column vector by its magnitude, but in matrix form
    • Sdecompose2
    • Sdecompose3

S - Explanation

WhyS

Sigma - Explanation

  • Sigma determines most points (decomposed vector) are closer to v1 or v2. WhySigma

Another Approaching SVD (mapping to Eigenvector / Eigenvalue)

  • AnotherApproaching
  • For Example:
  • Example

This is the end of Convention SVD

Thank you!

svd-and-its-application's People

Contributors

hungpham2002 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.