it(7)
-
[BOJ_10799 | Stack] 쇠막대기
풀이 스택을 이용해서 풀어야하는 문제였다. 물론 반복문을 이용해서 풀 수도 있겠지만, 스택을 활용하면 문제풀이가 훨씬 용이해진다.간단히 정리해보자면, 스택은 FIFO(First in First out)을 특징으로 하는 자료구조이다.말 그래도, 먼저 넣은 데이터가 먼저 나오게 하는 구조인 것이다.이를 이용해서 쇠막대기를 레이저로 자를때 한번에 몇개씩 자르는지를 쉽게 구할 수 있다. *출처 Wikipedia 원리는 다음과 같다.'(' 가 나오면 스택에 '(' 를 집어넣고 막대기의 개수를 하나 추가한다.예를 들어 '((((' 이런식인 경우 계속 스택에 쌓기만 하는 것이다.막대기의 개수는 4개가 될 것이다. 그 다음이 중요한데, 만약 ')' 가 나오는 경우 "막대기의 개수를 하나 줄이고" 막대기의 개수만큼 총 ..
2019.02.15 -
Spam Classifier - Theory
* 첨부된 자료의 저작권은 CORSERA에 있음을 미리 밝힙니다. Building A Spam Classifier 이번 시간에는 그동안 배운 Machine Learning의 지식을 응용해서 스팸 메일을 걸러내는 Spam Classifier를 모델링해보았다.우선은 모델링을 하기 위해 어떤 방식으로 문제를 설정하고 Feature들을 설정해야할지를 고민해야 한다.이때, 초기 모델은 단순하며 빠르게 구현할 수 있는 것으로 설정하는 것이 좋다. Spam Classifier는 Supervised Learning(지도학습)으로 학습을 시키는 것이 좋다.지도학습이란, 데이터를 주고 그 데이터가 가져와야할 바람직한 결과까지 입력하여 학습을 시키는 것이다.이 문제의 경우 스팸 메일 데이터를 넘겨주면서 이것이 스팸메일이라는..
2019.02.14 -
[BOJ_14503 | DFS] 로봇 청소기
풀이 삼성 SW 역량 테스트 기출문제로, DFS의 간단한 응용 능력을 물어보는 문제였던 것 같다. DFS를 수행하는 방법이야 재귀를 이용해서 처리하면 되지만, 이 문제의 경우에는 DFS를 실행하는 순서를 처리하는 방식이 살짝 까다로운 부분이 있었다. 우선, 문제에서 제시한 방향에 따라 direction변수를 설정해 주었다. 0 - North1 - East2 - South3 - West 그리고 LeftRotate의 경우 direction변수가 들어왔을 때 그 방향의 왼쪽으로 회전한 방향을 출력하도록 처리하였다.예를 들어, 0이 들어오면 북쪽의 좌회전 방향인 서쪽을 가리키는 3을 출력하는 식이다. 그리고 dx[], dy[] 배열을 선언하고, 제시한 방향에 맞게 x, y를 변화시키는 값을 저장하였다.예를 들어..
2019.02.14 -
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(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 -
Logistic Regression with Octave
Programming Exercise 2 : Logistic Regression 이번 프로그래밍 과제에서는 Octave를 이용하여 Logistic Regression을 모델링하고실제 데이터를 이용해서 결과를 분석해야 했다. 구현해야 할 함수들은 다음과 같았다. ex2.m - Octave/MATLAB script that steps you through the exercise ex2 reg.m - Octave/MATLAB script for the later parts of the exercise ex2data1.txt - Training set for the first half of the exercise ex2data2.txt - Training set for the second half of the ..
2019.02.04