인공지능(32)
-
Bias & Variance
* 첨부자료의 모든 저작권은 COURSERA에 있음을 미리 밝힙니다. Bias & Variance 이번 포스팅에서 살펴볼 내용은 우리가 Machine Learning 을 통해 구현한 알고리즘의 성능을 진단하고, 오류를 수정하는 방법과 절차에 대한 것이다. 우리가 예측한 알고리즘을 검증하는 방법은 다음과 같았다.1. 알고리즘을 학습시킬 데이터를 더 모은다. 2. 비슷한 류의 Parameter set으로 알고리즘을 수행해본다.3. 추가적인 Parameter를 알고리즘에 집어넣는다.4. Polynomial 한 Parameter를 추가한다.5. Regularization parameter lambda의 값을 증가시키거나 감소시킨다. (즉, 각 항의 영향력을 감소시키거나 증가시켜본다.) 하지만 여전히, 위의 방법..
2019.02.12 -
Neural Networks & BackPropagation with Octave
Programming Exercise 4: Neural Networks Learning 이번 프로그래밍 과제에서는 저번 과제에서 잠깐 살펴보았던 hand-written digit들의 pixel data matrix를 기반으로 Forward Propagation & BackPropagation을 수행하는Neural Networks Model을 구현하였다.구현해야 하는 파일은 다음과 같았다. ex4.m - Octave/MATLAB script that steps you through the exercise ex4data1.mat - Training set of hand-written digits ex4weights.mat - Neural network parameters for exercise 4submit..
2019.02.11 -
[BOJ_1812 | Math] 사탕
풀이 깔끔한 수학 구현 문제였다. 입력케이스의 개수가 홀수 개여서 복잡하게 머리를 굴리지 않아도 된다. 문제를 해결하는 기본 원리는 다음과 같다.입력으로 들어오는 모든 숫자들을 더한다음 2로 나누면, 1~N까지의 학생들이 가지고 있는모든 사탕의 수가 나오게 된다.(왜냐하면 모든 수를 다 두 번씩 더하기 때문 1+2 2+3 3+1) 거기에 지금 구하고자 하는 학생을 제외한 나머지 학생들의 사탕의 개수들의 합을 빼주면지금 구하고자 하는 학생의 사탕의 개수가 나오게 된다. 1 = (1+2+3) - (2+3)2 = (1+2+3) - (3+1)3 = (1+2+3) - (1+2) 이 식을 N에 대해 일반화하면 금방 정답을 구할 수 있다. 소스 코드 1234567891011121314151617181920212223..
2019.02.10 -
Neural Networks(3) - Cost Function & BackPropagation
*첨부자료의 모든 저작권은 Coursera에 있음을 미리 밝힙니다. Neural Networks(3)- Cost Function & BackPropagation 이번 시간에는 Neural Networks의 Cost Function에 대해 살펴보고 저번 포스팅에서 살펴보았던 Forward Propagation에 이어 error 를 최소화하기 위한 하나의 방법인Back Propagation Algorithm에 대해서 간략하게 살펴보고자 한다. Cost Function의 식은 Logistic Regression의 식과 굉장히 비슷하다. 아니 사실상 동일하다고 봐도 무방하다. 한 가지 차이점은, h(theta) 함수, 즉 가설함수의 개수(Neural Network의 경우 k개, Logistic Regressio..
2019.02.08 -
Multi-Class Classification with Octave
Programming Exercise 3: Multi-class Classification & Neural Networks 이번 프로그래밍 과제에서는 hand-written digit들의 픽셀정보를 저장한 data matrix를 기반으로각 digit들이 0~9 사이의 어떤 수를 나타내는지를 판단하는One vs all Multi-class Classification model을 구현하였다. 두 번째 과제로는 간단한 Layer 3의 Neural Networks를 구현하도록 하였다. 구현해야 하는 파일은 다음과 같았다. ex3.m - Octave/MATLAB script that steps you through part 1 ex3 nn.m - Octave/MATLAB script that steps you t..
2019.02.08 -
[BOJ_1940 | While] 주몽
풀이 반복문의 성질을 잘 이용해서 풀어야 하는 문제이다. 먼저 주어진 고유 번호를 arr 배열에 저장한 후 정렬한다.Java의 Arrays.sort를 이용하면 데이터 크기에 맞게 O(nlogn) 시간복잡도를 가지는 정렬 알고리즘으로Java가 데이터를 잘 정렬해 준다. 정렬해 준 데이터를 while문 안에 넣고 연산을 수행하면 된다.연산 과정은 다음과 같다.start = 0, end = num.of data -1 로 놓고 시작한다. 만약 arr[end]가 m보다 클 경우 end를 1만큼 감소시키고 continue한다.그렇지 않을 경우 i를 start부터 end-1까지 반복하면서 arr[i]+arr[end] == m이 되는 i의 값을 찾는다.값이 없으면 end를 감소시키고 continue, 값이 있으면 co..
2019.02.07