Week 02: Octave Tutorial
목차
- Basic operations
- Moving Data Around
- Computing on Data
- Plotting data
- For while if statements and functions
- 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 $$
'MOOC > Machine Learning (python)' 카테고리의 다른 글
Week 03: Logistic Regression (0) | 2016.06.20 |
---|---|
Programming Excerise 1: Linear Regression (0) | 2016.04.17 |
Week 02: Computing Parameters Analytically: Normal Equation (0) | 2015.12.20 |
Week02: Linear Regression with multiple variables (0) | 2015.12.18 |
Week 01 Linear Algebra Review (0) | 2015.12.17 |