전체 글
-
Gradient DescentSoftware/Deep Learning 2018. 12. 5. 00:13
Training set의 w,b 파라미터 값을 학습시키기 위해 gradient descent 알고리즘을 사용할 수 있다. 여기에 Gradient descent를 나타내는 3차 그래프가 있다. 이 다이어그램의 높이값은 Cost function인 J(w, b)를 의미하고 수평축은 각각 w, b를 의미한다. Cost function J는 convex function (볼록 함수) 이다. Cost function이 nonconvex function이 아닌 convex function이라는 사실은 w, b를 초기화 하는데 있어 매우 큰 의미를 가진다. 일반적으로 w, b를 어떤 초기값으로 초기화 할 때 우리는 0값을 쓰기도 하고 때로는 랜덤값을 사용하기도 한다. 그러나 cost function이 convex fu..
-
Logistic Regression: Cost FunctionSoftware/Deep Learning 2018. 12. 5. 00:10
{(x(1), y(1)), ... , (x(m), y(m))}와 같이 training set이 주어졌을 때 우리는 i번째 training example x를 x(i)라 하고 i번째 예측결과 값을 ŷ(i) 라 한다. ŷ(i) = 𝜎(wTx(i) + b), where 𝜎(z(i)) = 1 / 1+ e-z(i) ŷ(i) ≈ y(i) Loss (Error) function : Loss function은 예측값 (ŷ)와 우리가 실제로 기대하는 값 (y)의 차이를 측정한다. 다시말해 Loss function은 single traing example의 에러 값을 계산한다고 할 수 있다. Loss function의 계산식은 아래와 같다. 𝐿(𝑦̂(𝑖), 𝑦(𝑖)) = (𝑦̂(𝑖) − 𝑦(𝑖))2 / 2 𝐿(𝑦̂(𝑖),..
-
Logistic RegressionSoftware/Deep Learning 2018. 12. 3. 01:06
- ŷ - Input x가 주어졌을 때 추정 y값을 ŷ (y hat)이라고 한다. ŷ = estimate of y ŷ = P(y = 1 | x) : y is equal to one given the input features x. Parameter w and b...? w ∈ lRnx (x dimensional vector) b ∈ lR (real number) 이 Parameter을 이용해 우리는 output ŷ를 다음과 같이 표현할 수 있다. ŷ = wTx + b 근데 이 경우 문제가 하나 있다. ŷ의 값으로 우리는 0 or 1을 기대하지만 위의 식은 0보다 작은 값을 가지거나 1보다 큰 값을 가지는 경우도 발생하는 것이다. 이를 방지하기 위해 우리는 Sigmoid function을 사용한다. 표현식..
-
Binary ClassificationSoftware/Deep Learning 2018. 12. 3. 01:02
Logistic regression is an algorithm for binary classification : 로지스틱 회귀분석은 이항 분류를 위한 알고리즘이다. Binary Classifiaction은 어떤 Input값이 있을 때 Output 값으로 1 또는 0 값을 가지도록 한다. X -> Y ( 1 or 0 ) Single training example = (x, y), x ∈ lRnx , y ∈ {0, 1} ( x : x-dimensional feature vector, y : Label 0 or 1), First training example = (x(1), y(1)) and second training example = (x(2), y(2)) ... last (x(m), y(m)) (m =..
-
동적 프로그래밍 (Dynamic Programming)Software/Algorithm : 알고리즘 2018. 9. 17. 23:50
사용 조건 작은 문제의 최적 솔루션이 그 보다 더 큰 문제의 최적 솔루션에 포함되는 경우 재귀적인 방법으로 구현 시 중복 호출로 인한 큰 비용/비효율이 발생하는 경우 피보나치 수열 피보나치 수열은 동적 프로그래밍의 사용 동기와 조건, 구현을 가장 쉽고 명료하게 확인할 수 있는 예제. fn = fn-1 + fn-2 (n >= 3) f1 = f2 = 1 (n = 1, 2) 재귀호출 방식 의사 코드 (Pseudo-code) Fibonacci(n) { if (n = 1 or n = 2) then return 1; else return Fibonacci(n - 1) + Fibonacci(n - 2); } 구현 (Implement) // Not to use dynamic programming.. int fibona..
-
시퀀스 다이어그램 [Sequence Diagram]Software/UML 2018. 9. 10. 23:04
Sequence Diagram 이란? 문제 해결을 위한 객체를 정의하고 객체간의 상호작용 메시지 시퀀스를 시간의 흐름에 따라 나타내는 다이어그램(Diagram) 구성 요소 - 활성 객체 시스템의 행위자 혹은 시스템 내의 유효한 객체 라이프라인(Life line)을 가진다. 라이프라인 라이프라인은 상호작용에 참여하는 오브젝트를 의미 그림 1. Object와 Life line - 메시지 (Message) 서로 다른 객체간의 상호작용 혹은 의사소통 통신을 정의하는 요소. 하나의 객체 라이프라인으로 부터 다른 객체 라이프라인까지 선+화살표로 표시되며 메시지는 그 선의 위에 표시 그림 2. 메시지 (Message) 메시지 유형 유형의미동기 메시지(Synchronous message)메시지 전송 객체가 계속하기 전..
-
[ImageView] ScaleType: Matrix (예제)Software/Android : 안드로이드 2018. 8. 20. 23:41
예제: 이제 실제 코드를 통해서 Matrix의 Scalling, Rotation, Translation 등을 살펴보도록 하자. 예제에 앞서 일반적으로 Scaling -> Rotation -> Translation 순으로 연산 한다는 것을 기억하자. 연산의 순서가 달라지면 실제 연산 결과 값이 달라 질수 있기에 연산 순서에 꼭 신경 쓰도록 하자. 목표 300 * 200 이미지를 3배로 Scaling하고 90도로 회전 시킨 후 Center crop하여 500 * 500 ImageView에 보이도록 한다. scaleType 설정 Layout xml에서 ImageView에서 scaleType을 matrix로 설정. 이 경우 ImageView의 사이즈 보다 Image의 사이즈가 작기 때문에 ImageView의 하..
-
[ImageView] ScaleType: Matrix (행렬)Software/Android : 안드로이드 2018. 8. 14. 01:25
Android에서 ImageView는 해당 View의 이미지가 어떤 형태로 어떻게 배치될 것인 지를 ScaleType을 통해 설정할 수 있다. ScaleType은 아래와 같이 총 8가지가 있고 xml의 "scaleType" attribute로 설정하거나 Code level에서 ImageView의 setScaleType(ImageView.ScaleType scaleType)을 통해 설정 가능 하다. ImageView.ScaleType Values CENTER Center the image in the view, but perform no scaling. CENTER_CROP Scale the image uniformly (maintain the image's aspect ratio) so that both..