이 글은 충남대학교 양희철 교수님의 수업을 듣고 작성한 글입니다 1. Deep Neural networks(DNN) Hidden Layer를 늘리면 사람의 뉴런처럼 더 많은 레이어를 가지기 때문에 비선형 문제에 대해서도 좋은 성능을 보인다. (레이어를 늘림 => 가중치, 파라미터 수 증가 => 더 복잡한 문제 해결 가능) 따라서 DNN은 아주 큰 크기로 나아간다. 앞에서 히든 노드 수를 늘려도 근사하게 따라갈 수 있다는 universal approximation theorem에 대해서 배웠었다. 그럼 히든 레이어를 늘리는 것과 히든 레이어의 노드 수를 늘리는 것의 차이는 무엇이고 뭐가 더 좋을까? 더보기 => 하나의 히든 레이어에 노드 수를 많이 두는 것은 근사하게 따라갈 수 있으나 너무 비효율..
이 글은 충남대학교 양희철 교수님의 수업을 바탕으로 작성한 글입니다 1. Neural Network 신경망 구조로 뉴런들을 많이 연결시켜서 신호를 전달한다. 신경의 전달 과정을 수학적으로 모방(신경에 전달되는 값이 변화를 일으키며, 즉 weight가 곱해져서 전달하는 머신러닝 모델의 가장 일반적 형태이다 x1, x2에 적절한 weight가 곱해진 값을 다 더하면 0보다 크냐, 작냐를 물어보고 0(decision boundary)보다 크면 1, 작으면 -1이다의 함수로 모델링한다. 이러한 구조는 가장 linear한 경계를 가지는 분류 모델이다 좀 더 일반화해서 나타내보자 i개의 feature가 있고 각각에 대해서 가중치를 곱해주고 bias가 더해진다. 이를 가중합이라고 한다. 이 가중합을 함수를 ..
이 수업은 충남대학교 양희철 교수님의 수업을 듣고 작성한 글입니다. 이전 시간까지는 어떤 머신러닝 알고리즘이 있는지, 이들이 어떻게 사용되고 어떤 장단점이 있는지에 대해 주로 학습하였다. 이번 시간에는 이들의 성능을 높일 수 있는 방법에 대해 알아보자 본격적으로 알아보기 전에 앙상블이 뭐하는 것이고, 어떻게 진행되는지를 간략하게 한번 보자. 이해하기 쉽게 Q&A 방식으로 보도록 하자. 앙상블이란 하나의 문제를 풀기 위해 여러 개의 모델을 활용하는 것에 초점을 두고 있다. Q. 여러 개의 모델은 어떻게 얻을 수 있을까요?더보기A. Data의 feature 중 일부를 랜덤하게 추출 => model 하나를 생성 => 다시 data의 feature 중 일부를 랜덤하게 추출 => model..
이 글은 충남대학교 최훈 교수님의 운영체제 수업 및 자료를 바탕으로 작성한 글입니다 1. OS란?컴퓨터 응용 프로그램이 실행되는 과정에서 컴퓨터 하드웨어들을 제어하고 응용 프로그램 실행 결과를 보일 수 있도록 컴퓨터 내부 동작을 관리하는 소프트웨어이다. 운영체제 내부에서 운영체제가 어떻게 동작한다라는 것을 이해하면 나중에 응용 프로그램을 구현할 때도 효과적으로 어플리케이션이 더 빨리, 안전하게 돌아가는 프로그램을 구현할 수 있기 때문이다!! 따라서 우리는 OS를 배워야 한다!! # OS의 기능1. Process management 2. Process scheduling 3. I/O device management 4. Booting : 보조기억장치에 들어가 있는 운영체제를 실행할 수 있도록 컴퓨터..
흔히 주식 예측 프로그램, 물가 예측 프로그램을 만들었다는 이야기를 들을 수 있다. 그렇다면 시간에 따라 변하는 데이터를 어떻게 예측할 수 있을까? 1. 시계열 문제 시계열 분석이란 시간에 따라 변하는 데이터를 사용하여 추이를 분석하는 것이다. 주가 변동, 환율 변동, 기온 및 습도 변화 등이 대표적인 시계열 분석이다. 즉, 추세를 파악하거나 향후 전망 등을 예측하기 위한 용도로 시계열 분석을 사용한다. 시계열 형태는 데이터 변동 유형에 따라 불규칙 변동, 추세 변동, 순환 변동, 계절 변동으로 구분할 수 있다.● 불규칙 변동 : 시계열 자료에서 시간에 따른 규칙적인 움직임과 달리 어떤 규칙성이 없어 예측 불가능하고 우연적으로 발생하는 변동을 의미한다. 예를 들면 전쟁, 홍수, 화재, 지진, 파업 등..
이 수업은 충남대학교 양희철 교수님의 수업내용을 바탕으로 작성한 글입니다 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..
이 글은 충남대학교 양희철 교수님의 수업을 듣고 작성한 글입니다 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이다!! ..
이 글은 충남대학교 김기일 교수님의 컴퓨터 네트워크 수업 내용을 바탕으로 작성하였습니다. 데이터 통신에서는 physical layer와 datalink layer에 대해서 배웠다. 컴퓨터 네트워크 시간에는 이들의 상위계층인 network layer에 대해서 학습할 것이다.1. Network layer Service 이 그림이 우리가 배울 내용을 다 나타내고 있다. 데이터 통신 시간에 배웠듯이 같은 네트워크에 있다면 ARP를 보내 MAC 주소를 받아서 직접 통신을 할 수 있다. 하지만 같은 네트워크에 있지 않다면 라우터를 통해 네트워크를 서로 연결해야한다. 어떤 경로로 보내느냐는 내가 데이터를 어느 목적지에 보내느냐에 따라서 달라진다. 다른 네트워크를 찾아갈 때 그리디와 같은 알고리즘을 이용한다. ..
이전 시간에 머신러닝 때 학습했던 내용 중 중요한 내용들에 대해서 정리해보았다. 오늘부터는 본격적으로 딥러닝에 대해서 학습해보도록 하자 1. 딥러닝이란? 인간의 두뇌에서 영감을 얻은 방식으로 데이터를 처리하도록 컴퓨터를 가르치는 인공지능 방식이다. 딥러닝은 머신러닝보다 그림, 텍스트, 사운드 및 기타 데이터의 복잡한 패턴을 인식하여 정확한 인사이트와 예측을 생성할 수 있다. 이러한 딥러닝 기술을 자동차, 항공, 우주, 제조, 전자, 의학 연구 및 기타 분야에서 여러 가지 사용 사례에 활용된다. 아래는 딥러닝이 AI의 어떤 범주에 있는지 나타낸 사진이다. 이러한 형식적인 정의를 뒤로 하고 딥러닝이 어떤 구조인지 알아보자! 2. 딥러닝의 구조 딥러닝은 앞에서 다뤘던 퍼셉트론 구조에서 은닉층..