흔히 주식 예측 프로그램, 물가 예측 프로그램을 만들었다는 이야기를 들을 수 있다. 그렇다면 시간에 따라 변하는 데이터를 어떻게 예측할 수 있을까? 1. 시계열 문제 시계열 분석이란 시간에 따라 변하는 데이터를 사용하여 추이를 분석하는 것이다. 주가 변동, 환율 변동, 기온 및 습도 변화 등이 대표적인 시계열 분석이다. 즉, 추세를 파악하거나 향후 전망 등을 예측하기 위한 용도로 시계열 분석을 사용한다. 시계열 형태는 데이터 변동 유형에 따라 불규칙 변동, 추세 변동, 순환 변동, 계절 변동으로 구분할 수 있다.● 불규칙 변동 : 시계열 자료에서 시간에 따른 규칙적인 움직임과 달리 어떤 규칙성이 없어 예측 불가능하고 우연적으로 발생하는 변동을 의미한다. 예를 들면 전쟁, 홍수, 화재, 지진, 파업 등..
CNN은 Convolutional Neural Network, 즉 합성곱 신경망이다. 어떻게 구성되는지 어떻게 발전했는지 알아보도록 하자 1. CNN 입력층 → 합성곱층 → 풀링층 → 완전 연결층 → 출력층의 구조로 되어 있다. 합성곱층과 풀링층을 거치면서 입력 이미지의 주요 특성 벡터를 추출한다. 그 다음 주요 특성 벡터들은 완전 연결층을 거치면서 1차원 벡터로 변환된다. 마지막으로 출력층에서 활성화 함수인 Softmax 함수를 사용하여 최종 결과가 출력이 된다. CNN은 이미지나 영상을 처리하는 유용하다. 그 이유가 뭘까? 이미지 분석은 3x3 배열을 오른쪽과 같이 펼쳐서 각 픽셀에 가중치를 곱하여 은닉층으로 전달한다. 그러나 펼쳐서 분석할 시 데이터의 공간 정보가 손실될 수 밖에 없다..
이 수업은 충남대학교 양희철 교수님의 수업내용을 바탕으로 작성한 글입니다 1. Decision Tree 어떤 결정을 내리는데 있어서 트리 구조로 결정을 내리는 것이다. IF-THEN 룰에 따라서 질문을 계속하면서 어떤 경계에 따라 계속 가지를 뻗는다. 쉽게 이해하면 스무고개라고 생각하자!=> 리프 노드의 어떤 결과가 나오도록 하는 방법을 알고리즘 형태로 정리한 것이 바로 의사 결정 트리이다 Decision Tree의 큰 특징이 무엇일까? 1. Recursive한 partitioning 2. 어떤 축에 대해 orthogonal partitioning을 한다. 3. Greedy method : 판단하는 시점에 어떤 경계를 가지는 것이 최적이냐를 판단한다. => 모든 case들을 다 고려해서..
이 수업은 충남대학교 양희철 교수님의 수업을 듣고 작성한 글입니다 1. K-nearest neighbor classifier (k - NN) 가장 직관적이고 쉬운 분류 알고리즘이다. K개의 근접한 이웃 데이터를 보고, 새로운 데이터의 분류를 판단한다. 즉, 가장 비슷한 애들이 나를 설명한다! 주변 데이터와의 거리를 측정하여 이를 기반해서 분류하므로 데이터를 직관적으로 활용 가능하다. k-NN을 관통하는 가장 중요한 단어는 바로 '거리'이다 # Distance feature의 개수는 차원을 의미하고 가장 근접한 k개의 데이터를 보고 판단한다. 우리가 거리를 구하기 위해서는 data를 벡터 스페이스에 표현해야한다! 거리는 어떻게 구할 수 있을까? # Manhatten distance D..
이 수업은 충남대학교 양희철 교수님의 기계학습을 토대로 작성한 글입니다 우리는 이전 시간에 선형회귀에 대해서 배웠다. 이번 시간에 배우는 내용도 로지스틱 회귀이다. 그렇다면 이들은 같은 회귀라고 생각해도 될까? 회귀의 값이 나오긴 하지만 회귀는 아니다. 왜냐하면 로지스틱 회귀는 분류 문제 해결을 위해서 사용하기 때문이다. 회귀로 나온 값을 어떻게 분류 문제에 사용할까? 이제 로지스틱 회귀에 대해 알아보자. 한마디로 정리하면... 선형회귀는 오차의 제곱 최소화, 로지스틱 회귀는 확률 분포를 최대화할 수 있는 모델링 분포! 1. Logistic Regression # Odds 로지스틱 회귀는 회귀이기 때문에 y = B전치행렬X 꼴로 출력이 되는데 이 값은 연속적이다. 우리는 분류에 이용하기 위해..
이 글은 충남대학교 양희철 교수님의 수업을 듣고 작성한 글입니다 Regression이란 무엇일까?분류와 마찬가지로 지도학습의 일종이다. 하지만 분류가 이산적인 값을 예측했다면 회귀는 continuous한 값을 예측한다. 예를 들면 강수량, 와인 가격..등등 => 두 값 사이의 상대적인 관계를 예측하는 것이 회귀이다!회귀도 여러가지 알고리즘이 존재한다.1. Linear regression2. Multivariate Linear regression3. Lasso and Ridge Linear regression4. Neural network regression5. SVM(support vector machine)6. Decision tree오늘 우리가 알아 볼 것은 Linear Regression이다!! ..
이 수업은 충남대학교 양희철 교수님의 수업을 듣고 작성한 글입니다. Classifier란 무엇일까?● 이산적인 값을 가진다(이거 아니면 저거)● 지도 학습의 하나이다=> 크게 어려운 내용은 없다. 본격적으로 들어가보자. 1. 베이지안 분류기 베이지안 분류기를 자세히 알아보려면 조건부 확률에 대해서 알 필요가 있다. # Prior 각각의 클래스에 속할 확률이다. 즉 자연적으로 정해진 확률이다. 관찰을 통해 얻은게 아니기 때문에 not observed라고도 한다. 한 마디로 관측한 훈련 데이터와 independent 하다는 것이다! 아래의 예시를 한번 보자. # Likelihood likelihood(우도)는 observed data의 각 클래스 별로 특정 feature에 대한 분포라고 한다. li..
이 글은 충남대학교 김현수 교수님의 수업을 기반으로 작성한 내용입니다. 1. 유스케이스● 유스케이스 - “유스케이스(use case)는 시스템이 액터(actor)에게 관찰 가능한 가치의 결과를 생 산하기 위해 수행하는 일련의 행동 및 그 변형들의 집합” - “유스케이스는 완전한 기능을 명세함” ≫ 기능은 시스템의 경계를 정의한다. - 유스케이스는 프로세스를 묘사한다. - 프로세스는 조직이나 액터에게 가치 있는 것을 생산하기 위해 필요한 사건(events), 행동(actions) 및 거래(transactions)의 연속. ≫ 계좌에서 현금 인출 ≫ 제품 주문 ≫ 강좌 등록● 시나리오 vs 유스케이스 - 시나리오는 특정한 목표를 달성하기 ..
이 글은 충남대학교 김현수 교수님의 소프트웨어 공학 수업을 바탕으로 작성한 글입니다.# 요구사항 정의'어떻게' 보다는 '무엇을'에 관점을 두어야 함. # 도메인 분석● 소프트웨어 엔지니어가 문제를 더 잘 이해하기 위하여 도메인에 대하여 알아가는 과정 - 도메인 : 소프트웨어를 사용할 것으로 예상되는 고객이 일하는 분야의 비즈니스나 기술 - 도메인 전문가 : 소프트웨어가 사용될 도메인 분야에 깊이 있는 지식을 가진 사람(사용자이자 고객)● 도메인 분석을 수행하는 이점 - 빠른 개발(빠른 요구사항 파악) - 더 좋은 시스템 구축 가능(고객의 문제를 효과적으로 해결하는 솔루션 결정 가능) - 확장 예견(트렌드를 예측하는 능력, 적응도 높은 시스템 구축) # EX. 항공 예약 시스템..
이 글은 충남대학교 김현수 교수님의 수업을 바탕으로 작성한 글입니다. 이번 시간에는 프로젝트를 어떻게 관리해야 할지에 대해 알아보자 1. 프로젝트 관리 정의 : 프로젝트를 계획하고 수행하는데 필요한 모든 작업을 관리하는 것- 필요한 작업의 결정- 인력 확보- 직무 정의- 일정 계획- 작업 준비- 비용 예측- 지시, 감독- 결정 검토 및 승인- 팀원 사기 진작- 다른 프로젝트 관리자와 협력- 프로세스 개선 프로젝트 관리 활동- 제안서 작성 => 프로젝트 계획 및 스케줄링 => 프로젝트 비용 계획 => 프로젝트 모니터링 및 검토 => 인력 선발 및 평가 => 보고서 작성 및 프레젠테이션 # 프로젝트 계획1. 프로젝트 계획 수립 - 시간이 많이 걸리는 프로젝트 관리 활동 - 초기 개념에서 시스템 제공에..