알고리즘(52)
-
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 -
MachineLearning - LinearRegression(2)
* 자료의 모든 저작권은 COSERA에 있음을 미리 밝힙니다. Machine Learning - Linear Regression(2) Linear Regression with Multiple Variables. - 변수가 여러 개인 선형 회귀모델을 의미한다.선형 모델이기 때문에 변수의 개수는 충분히 많을 수 있으나, 변수의 차수는 1차인 성질을 가지게 된다. 첫 번째 시간에 공부했던 것들을 잠시 살펴보면 변수가 하나인 선형 모델은 변수가 x 하나인 일차 함수 꼴의 가설 함수를 가지며궁극적인 목표는, 여러 개(m개)의 학습데이터를 통해 가설 함수를 오차가 적은 방향으로 예측해 나가는 것이다.오차가 적은 방향으로 가설 함수를 예측..
2019.01.30 -
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_7576 | BFS]토마토
풀이 BFS를 이용하여 풀어야 하는 문제였다. 먼저 창고에 있는 토마토들을 쭉 스캔해서 큐에 넣는다.큐는 FIFO(First - In - First - Out)의 성질을 가지는 자료구조이기 때문에큐에 먼저 넣은 토마토들의 상하좌우의 좌표를 먼저 탐색할 수 있다. 창고에 있는 토마토들을 쭉 스캔해서 넣은 다음에는 !q.isEmpty()를 조건으로 while문을 이용한다.큐에서 빼낸 좌표의 상하좌우의 좌표가 유효한지를 먼저 확인하고, (isValid) 그 좌표에 익지않은 토마토가 있다면 토마토를 익게 만들고,원래의 토마토의 날짜에 1을 더해 익은 토마토의 좌표와 함께 큐에 다시 넣어주고 BFS를 반복한다. 즉, 큐에 들어가는 객체는 창고의 x좌표, y좌표, 그리고 경과일수가 들어가며, 맨 처음 스캔할때의 경..
2019.01.28