프로그래밍(23)
-
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 -
[BOJ_14501 | DFS] 퇴사
풀이 맨 처음에는 Dynamic Programming 방법으로 문제를 풀려고 시도했으나, 문제를 읽고 예제 몇개를 그림으로 그려가면서 시도를 해보니 DFS로 문제를 푸는 편이 더 간편할 것 같다는 생각이 들었다. DFS로 문제를 푸는 방법은 비교적 간단하다.큰 틀에서 보면 이중 For 문을 돌리는 것인데, 제시된 문제 예제를 기준으로 설명해보자면,1일부터 7일까지 반복문을 돌리면서 각각의 날짜를 시작으로 하는 경로를 찾는다.그리고 각각의 날짜에서 상담을 수행한 후에, 도달하게 되는 날짜를 다시 DFS에 집어넣어 반복한다. 예를 들어 1로 시작했다면, 1로 시작할 수 있는 경로는1 -> 4 ....1 -> 5 ....1 -> 6 ....등이 될 것이다. 이 모든 경로를 탐색하면서 경로에 놓여있는 Pi값을 ..
2019.02.02 -
MachineLearning - Classification(2)
Machine Learning - Classification(2) 앞서 Classification에서 사용하는 가설함수 h의 식이 Linear Regression Model에서 사용하는 가설함수의 식과는 다르기 때문에 비용함수도 조금은 수정을 가할 필요가 있다. 기존의 Linear Regression Model에서 사용하는 비용함수의 식을 그대로 사용하게 되면 "Non - Convex" 한 함수가 도출될 가능성이 높아지게 되는데, 이 "Non - Convex" 한 함수란, 볼록함수와는 달리 극점이 굉장히 많을 수 있는 함수(아래 그림 참조) 이기 때문에, Gradient Descent를 통해 구한 최솟값이 Local Minimum일 뿐, Global Minimum값은 아닐 수 있는 가능성이 생긴다. 따라..
2019.02.01 -
MachineLearning - LinearRegression(1)
* 자료의 모든 저작권은 COSERA에 있음을 미리 밝힙니다. Machine Learning - Linear Regression(1) Linear Regression with One Variable - 변수가 하나인 선형 회귀모델을 의미한다. 선형 회귀모델이란, 통계학 용어로써 종속변수 Y와 하나 이상의 독립변수 X의 상관관계를 모델링하여Y값을 알지 못하는 X값이 주어졌을 때, Y값을 예측하기 위해 사용하는 방법이다. 회귀를 의미하는 단어가 "Regression" 이었고, 저번 포스팅에서 "Regression"은 연속적인 결과를 모델링하는 함수와 관련이 있음을 살펴본 바 있다.따라서 변수가 하나인 선형 회귀모델은 하나의 인풋 X를 가지고 결과값 Y를 예측해내는 모델을 의미하며, 기계학습에서는 이를 "Su..
2019.01.28 -
[BOJ_11562 | Floyd]백양로 브레이크
풀이 플로이드 와샬 알고리즘을 응용해야 하는 쉽지만은 않은 문제였던것 같다.숫자에 의미를 부여하여 그래프를 구성해야 하고, 이 의미를 부여하여 그래프를 완성하는 과정 자체가생각해내기 쉽지는 않았다. 문제 해결을 위한 생각의 과정은 다음과 같다.예를 들어 1 2 0 이라는 input이 주어지면 1에서 2로 가는 경로를 dis[1][2] 배열에 생성한다. 즉, 0이라는 값을 배열에 넣어준다는 것이다. 그리고 여기서 중요한 것이 2에서 1로 가는 경로가 없지만, 1에서 2로 가는 경로가 있기 때문에양방향의 경로가 연결될 가능성이 있으므로, 1이라는 값을 dis[2][1]에 넣어준다. 다시말해서, 이미 단방향이든, 양방향이든 경로가 있으면 거기에는 도로를 추가할 일이 없으므로 0을 넣어주고단방향의 경로가 없지만..
2019.01.22