Week 02: Octave Tutorial


목차

  1. Basic operations
  2. Moving Data Around
  3. Computing on Data
  4. Plotting data
  5. For while if statements and functions
  6. Vectorization

Basic operations

make 2x3 matrix, containing one values.

>> ones(2,3)

ans =

     1     1     1
     1     1     1

make 2x3 matrix, containing zero values.

>> zeros(2,3)

ans =

     0     0     0
     0     0     0

Computing on data

element-wise multiplication of two matrices.

A .* B

If you want to buy A transposed, the way to do that
apostrophe(')

A'

Vectorization

고속 linear alrgebra comptuing을 통해서
고속 병렬 처리를 수행 할 수 있다.
parallel hardware에 잘 적용이 되어 질 수도 있다.

아래와 같이 vectorized implementation으로 구현할 경우
코드의 길이가 절대적으로 줄어드는것은 물론
속도면에서도 많은 향상을 가져 온다.

다른 programming language에서는 해당 언어 syntax에 맞춰서 그렇게 처리하면 된다.

좀 더 복잡한 예제인 Gradient Descent를 보자.
j의 값은 0,1,2 로서 2차원 이라고 가정 하자.
그리고 아래와 같을때 모든 Theta는 simultaneously update 되어야 한다.

풀어서보면 vector끼리의 substraction의 형태로 처리 될 수 있다.

각각을 아래와 같이 간소화된 vector 연산으로 줄일 수 있다.
$$ \theta := \theta - \alpha \delta $$


+ Recent posts