분류 전체보기(289)
-
MachineLearning - Classification(3)
Machine Learning - Classification(3)MultiClass Classification : One - vs - All 지금까지 Classification에서는 One vs One 모델을 주로 다루었다. Linear Regression 모델과는 다르게 결과값이 연속적인 값이 아니라 이산적인 값으로 분포하기 때문에, 기계학습을 통해 Decision Boundary를 구하고, 그 Boundary를 기준으로 y = 0 인지, 1인지를 판단하는 과정을 거쳤다. 하지만 실생활에서는 One vs One 모델 보다는 One vs All 모델을 통해서 결정해야 하는 경우가 더 많다. One - vs - All 모델은 위의 그림처럼 y = 0 ~ n 까지의 값을 가진다. y값을 결정하는 기본적인 아..
2019.02.03 -
[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 - Classification(1)
* 첨부된 자료의 모든 저작권은 Coursera에 있음을 미리 밝힙니다. Machine Learning - Classification (1 Vs 1) 이전까지 살펴모았던 Linear Regression 모델은 주어진 데이터를 바탕으로 선형 회귀모델을 예측해 내는 것이었다. 즉, 연속적인 파라미터의 값들에 대해 y값(결과값)을 추론해 낼 수 있는 가설 함수를 찾고 데이터를 입력하여 학습을 시키면서 가설함수가 예측한 값과 실제 데이터와의 오차를 줄이는 과정을 통해 더욱 정확한 가설함수를 찾아내는 것이다. 이번에 살펴볼 Classification에 대한 가설함수의 모델도 위와 비슷한 과정을 거친다. 하지만 Classification과 Regression 모델이 갖는 서로 다른 특성때문에 함수를 예측하는 과정에..
2019.02.01 -
[BOJ_11053 | DP] 가장 긴 증가하는 부분 수열
풀이 가장 긴 증가하는 부분 수열을 구하는 문제는 다이나믹 프로그래밍을 이용하여 해결해야 한다.arr 배열에는 입력받은 input data의 값, 즉 수열의 값들을 저장하고dp 배열에는 그 숫자보다 작은 증가하는 부분 수열의 최대 길이를 저장한다. 예를들어 n = 9 인 데이터가 다음과 같이 들어온다고 가정하자. 10, 15, 40, 20, 15, 50, 35, 80, 100 이 상황에서 arr[0] ~ arr[8]까지의 값은 각각 위의 값을 순서대로 저장할 것이다.그리고 이중 포문을 돌면서 (데이터의 개수가 더 클 때에는 O(NlogN)의 시간복잡도를 갖는 알고리즘을 사용해도 된다.)각각의 인덱스에서 그 인덱스보다 작은 최장 부분 수열의 길이+1 의 값을 dp 배열의 값으로 저장하는 것이다. 10의 d..
2019.02.01 -
Linear Regression with Octave
* 업로드한 사진의 모든 저작권은 COURSERA에 있음을 미리 밝힙니다 이번 시간에는 Week1, Week2 를 마치고 그동안 배웠던 내용들을 Octave 코드로 표현하여 프로그램을 실행하는 과제를 수행하였다.과제에서 Octave Programming을 통해서 제출해야 하는 내용은 다음과 같다. %% Machine Learning Online Class - Exercise 1: Linear Regression % Instructions% ------------%% This file contains code that helps you get started on the% linear exercise. You will need to complete the following functions% in this ..
2019.01.31