코딩(39)
-
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 -
Neural Networks(2)
*첨부자료의 모든 저작권은 COURSERA에 있음을 미리 밝힙니다. Neural Networks(2)- Examples and Intuition, Multi-Class classification 이번 시간에는 Abstract 하게 살펴보았던 Neural Network의 기본적인 로직의 구현을 통해조금 더 실질적인 인공신경망의 구현을 살펴보고, 또 이를 바탕으로 Output의 결과가 하나가 아닌 Multi-Class Classification모델도 간단하게 살펴보고자 한다. 저번 포스팅에서 간단하게 살펴보았던 인공 신경망의 기본적인 구조이다. 여기서 Input Layer인 Layer 1과 Output Layer인 Layer 3를 제외한 중간의 모든 Layer들은 겉으로 드러나지 않는 Hidden Layer..
2019.02.07 -
Neural Networks (1)
*첨부한 자료의 모든 저작권은 COURSERA에 있음을 미리 밝힙니다. Neural Networks (1)- Basic Model of Neural Networks 지금까지 Linear Regression과, Logistic Regression의 방법을 통해 Linear Model과 Classification 모델에서 컴퓨터가 기계학습을 어떻게 하는지 살펴보았다.이제 이러한 모델들을 바탕으로 Neural Network, 즉 인공 신경망을 구축하여 더 복잡한 학습들을 수행하는 모델을구축하고자 한다. 우선 '인공 신경망' 을 구축하기 위해 실제 사람의 신경망이 어떤 구조로 연결되어 있는지를 살펴보아야 한다.사람의 신경세포는 Input Wire의 역할을 수행하는 "Dendrites"와 Computation을 ..
2019.02.07 -
[백준 3184 | DFS] 양
풀이 맨 처음에 BFS로 문제를 접근했다가 메모리초과가 나서 다시 DFS로 접근했던 문제였다.DFS로 이 문제를 해결하는 방법은 다음과 같다. 1. 반복문을 돌리면서 '#' 이 아닌 좌표를 찾아 차례로 DFS 함수를 실행한다.2. DFS 함수 안에서는 우선 해당 좌표의 값이 'v' 인지 'o' 인지, '.' 인지 확인한다.3. v 인경우 wCnt 값을 증가시키고, '.'로 바꾼다 o인 경우 sCnt 값을 증가시키고 '.'로 바꾼다.4. 해당 좌표의 상하좌우 값이 Valid 한 좌표인지 확인하고 각각 DFS를 수행한다. 하나의 구역 탐색이 끝나면, sCnt, wCnt를 비교해서 누가 이기는지 판단하고 최종 cnt1, 2값을 증가시키면 된다. 소스코드 1234567891011121314151617181920..
2019.02.05