2022/04/12

jungkwanlee·2022년 4월 12일
0

코딩일지

목록 보기
15/108

1) 학습한 내용

최근접 알고리즘

k-NN(k-Nearest Neighbors)알고리즘은 가장 간단한 머신러닝 알고리즘으로 훈련 데이터셋을 그냥 저장하는 것이 모델을 만드는 과정의 전부다.
새로운 데이터 포인트에 대해 예측할 땐 알고리즘이 훈련 데이터셋에서 가장 가까운 데이터 포인트, 즉 ‘최근접 이웃’을 찾는다.
가장 간단한 k-NN 알고리즘은 가장 가까운 훈련 데이터 포인트 하나를 최근접 이웃으로 찾아 예측에 사용한다. 둘 이상의 이웃을 선택할 때는 레이블을 정하기 위해 투표를 하는데 테스트 포인트 하나에 대해 클래스 0에 속한 이웃이 몇 개인지, 그리고 클래스 1에 속한 이웃이 몇 개인지를 계산한다. 그리고 이웃이 더 많은 클래스를 레이블로 지정한다. 즉, k-최근접 이웃 중 다수의 클래스가 레이블이 된다.

차원 축소(Dimensionality Reduction)

차원 축소의 필요성

1) 데이터의 양이 줄어든다면 기본적으로 시간 복잡도 (time complexity, 계산하는 시간)와 공간 복잡도 (space complexity, 저장하는 변수의 양)가 줄어든다.

2) 아주 많은 차원의 데이터로 학습시킨 머신러닝 모델은 내부의 파라미터도 매우 복잡하게 형성되기 때문에(overfit) 적은 양의 데이터에 대해서 불안정한 결과를 내놓게 된다. 입력 데이터의 차원을 줄여서 학습을 시키면 모델이 비교적 간단해지고, 그러면 적은 데이터 셋에 대해 안정적(robust)인 결과를 내놓게 된다.

3) 간단한 모델일수록 사람이 그 내부 구조를 이해하기에 편하고 (interpretable), 모델이 내놓은 결과를 2차원이나 3차원의 그림으로 축소해 드러내어서, 사람이 결과를 알아보기에 편해진다.

차원축소 방법

차원 축소 방법에는 두 가지가 있는데 다음과 같다. - 피처 추출 (Feature Extration) : 높은 차원의 raw Feature들을 더 필요한 요소로 추출하는 기법
  • 피처 선택 (Feature Selection) : 모든 Feature들 중 필요한 것들만 선택하는 기법
피처 추출과 피처 선택
피처 추출은 다시 말해서 기존의 Feature 들로 새로운 Feature를 생성하며 Feature를 줄이는 방식이고 피처 선택은 간단하거나 무시할 수 있는 Feature를 사용하지 않는 방식을 말한다.

피처 추출에는 PCA(Principal component analysis), LDA(Linear discriminant analysis), NMF(Non-negativ matrix facotrization)

피처 선택에는 Filtering, Wrapper, Embedded 방식이 있다.

[머신러닝] Dimensionality Reduction - 차원 축소 하는 이유?
차원축소 (Dimensionality Reduction)

범주 변수에서 수치 변수(Categorical Variable to Numberic Variable)

자료는 일반적으로 수치형 자료와 범주형 자료로 구분이 된다.
수치형 자료는 관측된 값이 수치로 측정되는 자료를 말하며 양적 자료라고 불려지기도 한다. 예) 키, 몸무게, 시험 성적, 자동차 사고 건수등을 말한다.

수치형 자료는 관측되는 값의 성질에 따라 다시 연속형 자료와 이산형 자료로 구분된다.

연속형 자료는 키, 몸무게와 같이 값이 연속적인 자료를 말하며, 이산형 자료는 자동차 사고 건수와 같이 셀 수 있는 자료를 말한다.

범주형 자료는 관측 결과가 몇 개의 범주 또는 항목의 형태로 나타내는 자료를 말하며 질적 자료라고 불려지기도 한다. 여기서, 범주형 자료를 수치형 자료처럼 표현할 수가 있어서 수치형 자료처럼 표현되어있는 범주형 자료를 잘 구분하여야 한다.

범주형 자료는 순위형 자료와 명목형 자료로 구분할 수 있다.

순위형 자료는 범주간에 순서의 이미가 있는 자료를 말하며, 예를 들자면, 선호도에서 "매우 좋다", "좋다", "그저 그렇다", "싫다", "매우 싫다"라는 5가지 범주가 주어졌을 때, 이 5가지 범주에서는 순서가 주어진다.

명목형 자료는 혈액형과 같이 범주간에 순서의 의미가 없는 자료를 말한다.

----------PS.Artificial Neuron and Artificial Neural Network----------

-인공지능 분야에서 쓰이는 알고리즘
-인간의 뇌 구조를 모방

노드(Node)와 엣지(Edge)로 표현

-하나의 노드 안에서 입력과 가중치를 곱하고 더하는 선형 계산
-활성화 함수 통과를 모두 포함

인공신경망(Artificial Neural Network)

-여러개의 인공뉴런들이 모여 연결된 형태
-뉴런들이 모인 하나의 단위를 층이라고 하고 여러 층으로 구성될 수 있음.

2) 학습내용 중 어려웠던 점

다른 사람이 작성하는 코드를 따라 작성하는 것은 누구든 할 수 있지만, 나중에는 스스로 코드를 작성해야 할 상황이 올 수 밖에 없다. 단순히 책을 읽고 코드를 반복한다고 되는 것이 아니다.

3) 해결방법

일단, 어제 카톡 채팅창에서 만들어진 대화방을 통해서 대구AI스쿨의 사람들이 만들어서 나도 거기에 가입했었다. 모를 때는 물어보는 것이 당연하다는 걸 기억해야 한다. 프로그래머는 팀웍 또한 중요한 법이다.

4) 학습소감

이번 수업은 구글코랩에서 코딩을 작성하는 것이라서 대부분의 수업시간을 할애했었다. 그리고, 강사가 오타가 잦았지만 오히려 그것 때문에 수업에 집중할 수가 있었다. 이번에 작성한 일지는 이번 수업에 할 예정인 과목으로 채워넣었다. 이번에 할 예정인 과목은 이전에 다 들었지만 여기에 대신 채워넣었다.

0개의 댓글

관련 채용 정보