백엔드 인터뷰 준비(Learning)

나 안해·2023년 3월 27일
0

Interview

목록 보기
3/3
post-thumbnail

인공 지능의 역사

알랜 튜링(1965) - 마민 민스키 (1969, XOR 문제, 멀티 레이어 필요) - 겨울1 (1974 ~ 1980) - 힌튼 (1986, 오류 역전파로 멀티 레이어 문제 해결) - 겨울2 (Vanishing gradient problem, 1987 ~ 1993) - 힌튼 (엑티베이션 함수 relu) - 알파고 (2016)


데이터(Data)

Data has a categorical, numeric.

  • 카테고리(categorical) = 이산형 = norminal + ordinal = 정수형
  • 숫자형(numeric) = 연속형 = ratio + interval = 실수형

데이터 분석에는 두 가지의 접근방법이 있다.

  • 확증적 데이터 분석(CDA: Confirmatory Data Analysis) = 추론통계 = 가설 -> .. -> 특정 사례 예측 = 연역 = 가정된 전제
  • 탐색적 데이터 분석(EDA: Exploratory Data Analysis) = 기술통계 = 데이터 -> .. -> 모델 = 귀납 = 개인적 경험

데이터셋

train, test, validation set 세개로 나눈다.


머신러닝(Machine Learning)

머신러닝은 통계와 딥러닝의 집합이다.
머신러닝과 딥러닝의 차이점은 신경망의 유무이다.

통계와 머신러닝의 차이

기술통계 - 추론통계 = 학습(Learning)


머신러닝 절차

데이터 로드

데이터 분석

데이터 이해를 위한 데이터 분석

(= 데이터 전처리를 위한 데이터 분석)

  • 변수
  • 설명
  • 데이터
  • 테이터 타입
  • 종속 변수
  • 특성 생성
  • 특성 삭제
  • 결측값 처리
  • 정규 분포로 변환
  • 이상값 처리
  • 원핫 인코딩
  • 라벨 인코딩

데이터 전처리

데이터 수집 20% + 데이터 전처리 60% 시간 사용 (백조 발 구르기)
특성 생성 (데이터 프레임)
특성 삭제 (데이터 프레임)
변수 나누기 (독립 변수와 종속 변수 나누기)
수(치)가 아닌 데이터를 수(치)로 변환
결측값 처리
정규 분포로 변환
이상값 처리
원핫 인코딩
구간화
라벨 인코딩
특성 스케일링
차원 축소
커스텀 데이터 변환
군집화

모델 생성

모델 학습

회귀

분류

모델 검증

회귀나 분류냐에 따라 달라진다

모델 예측


회귀/분류/군집

  • 회귀 (지도 학습: 답 있는 데이터로 학습)
  • 분류 (지도 학습)
  • 군집 (비지도 학습: 답 없는 데이터로 학습, 데이터 전처리)

회귀

특성을 통해 수(치) (실수) (연속형)를 예측한다. 수(치)를 예측하려면 회귀를 사용

  • 회귀는 확률을 예측하는 것이 아니다. 회귀는 출력는 연속성이 있고, 그 연속성 중에 어디에 점을 찍을지 결정하는 문제다

타겟 변수 Y 가 연속형 변수(continuous variable)인 경우

연속형 변수: 연속 범위내에서 임의의 값을 가질 수 있는 변수 (가질 수 있는 값이 무한정)
설명 변수와 종속 변수의 관계를 선형으로 모델링하냐 비선형으로 모델링하냐에 따라 선형과 비선형으로 나누어진다

1) 선형 회귀 모델 (선형: 수식이 직선)

(1) 선형 회귀 (LinearRegression) 모델

변수들이 서로 선형적으로 연결되어 있는 경우, 오차(실제값 과 예측값의 차이)가 가장 작은 직선인 최저적합선을 찾는다 (= 직선의 수식(모델)에서 w 와 b를 찾는다)

123
계수(coefficient)기울기가중치(weight)
상수항(intercept)y절편편향(bias)
  • 특이치에 영향을 받기 쉬우므로 빅데이터 집합을 분석하는 데 사용해서는 안 된다.
  • 핵심키워드: 선형회귀(Linear Regression) 가설(Hypothesis) 비용함수(Cost function)
(2) 라쏘 (Lasso) 모델

리지 회귀와 같이 모델의 복잡성을 줄여주는 또 다른 정규화 기법이다.

  • 회귀 계수의 절대 사이즈를 금지함으로써 복잡성을 줄인다.
  • 리지 회귀와는 다르게 아예 계수 값을 0에 가깝게 만든다.그 장점은 기능 선택을 사용할 수 있다는 것이다.
  • 데이터 집합에서 기능 세트를 선택하여 모델을 구축할 수 있다.
  • 라쏘 회귀는 필요한 요소들만 사용하고 나머지를 0으로 설정함으로써 과대적합을 방지할 수 있다.
(3) 릿지 (Ridge) 모델

다중 회귀라고도 불리는 리지 회귀는 정규화 또는 규제화(regularization) 기법으로 알려져 있으며 모델의 복잡성을 줄이는 데 사용된다.

  • 또한 ‘리지 회귀 페널티’로 알려진 약간의 편향, 즉 바이어스(bias)를 사용하여 모델이 과대적합(overfitting)에 덜 취약하게 만든다.
    Ridge: 능선(稜線)은 산이나 언덕의 꼭대기가 일정 간격을 두고 연결되어 연속적으로 솟아오른 지형을 말한다. 등산 코스로 흔히 사용된다

2) 비선형 회귀 모델 (비선형: 수식이 곡선)

(1) k-최근접 이웃 (KNeighborsRegressor) 모델
(2) 의사 결정 나무 (DecisionTreeRegressor) 모델
(3) 서포트 벡터 머신 (SVR) 모델

타겟변수 Y가 이산형 변수 (discrete variable)인 경우

이산형 변수: 특정한 값만 가질 수 있는 변수 (가질 수 있는 값이 유한정)

Classification
Y의 레이블이 디스크리트 일 경우 a b c d e 이렇게 객관식일 경우에 주로 많이 쓰임

Classification vs Clustering
분류 문제의 학습: 결정 경계 (decision boundary) 를 경정할 수 있는 함수, 패턴, 모델 찾아내기


집계 함수

입력이 여러개의 로우이고, 출력이 하나인 결과인 함수

  • 테이블의 전체 로우 수를 구하는 count , 평균( avg ), 총합( sum ), 최대값( max ), 최소값( min ) 등이 집계함수다

추론과 예측

추론과 예측의 차이는 답이 라벨인가, 그라운드트루스 인가이다.


그라운드 트루스 (Ground-Truth)

"label"은 정답지라고도 불리듯이 답이 명확하게 정해져 있는 값
"ground-truth"은 '우리가 정한 정답', '우리의 모델이 우리가 원하는 답으로 예측해주길 바라는 답'


오차 편차 잔차 편향

  • 오차(Error) : 실제값(y) - 테스트 단계 예측값(y^)
  • 편차(Deviation) : 예측값평균 - 예측값
  • 잔차(Residual) : 실제값(y) - 트레인 단계 예측값(y^)
  • 편향(bias) : 분산과 반대되는 개념이라고 생각하면 편하다

우도함수

실현된 데이터(혹은 관찰된 데이터 observed data)로부터 특정 통계 모델의 적합성을 확인하는데 주로 이용된다.


워드임베딩(Word Embedding)

자연어를 머신러닝과 딥러닝에서 사용할 수 있도록 수치화된 데이터로 만드는 과정


인코딩(encoding)

문자 -> 숫자


원핫인코딩 (One Hot Encoding)

가장 기본적인 벡터화의 방법이다

  • 단어 집합의 크기를 벡터의 차원으로 하고, 표현하고 싶은 단어의 인덱스에 1의 값을 부여하고, 다른 인덱스에는 0을 부여하는 단어의 벡터 표현 방식 단어가 뭔지만을 알려줄 뿐 어떤 특징을 표출해주지는 못한다.

정규화(Normalization)

feature 의 변환은 표준화(Z-score 정규화)와 정규화가 있다.

  • 아웃라이어가 있으면 표준화 나머지는 정규화가 낫다.

코퍼스(Corpus)

말뭉치 또는 코퍼스(Corpus)는 자연언어 연구를 위해 특정한 목적을 가지고 언어의 표본을 추출한 집합

  • RNN에서 TrainSet을 말한다. 코퍼스에서 소문자(lower_case)전환, 숫자제거, 문장기호를 제거한 상태를 토큰이라고 하고 토큰은 정수화된다.
  • 원핫인코딩으로 정형화된다.

토큰

코퍼스에서 숫자와 기호가 제거된 사전에 실린 단어 그 자체

  • 토큰(Token)이란 문법적으로 더 이상 나눌 수 없는 언어요소
  • 텍스트 토큰화의 유형은 문장 토큰화와 단어 토큰화로 나눌 수 있습니다.
    • 문장 토큰화는 텍스트에서 문장을 분리하는 작업을 뜻한다.
    • 단어 토큰화는 문장에서 단어를 토큰으로 분리하는 작업을 뜻합니다.
    • 단어 토큰화 (Word Tokenization)는 기본적으로 띄어쓰기를 기준으로 합니다.

토크나이저

data를 문장 혹은 단어 등의 단위로 나누는 것


타깃(=출력값)

  • int = 불연속 = 카테고리컬 = 분류 classification
  • float = 연속 = 시퀀셜 = 회귀 regression

트랜스포머

트랜스포머는 시퀀스-투-시퀀스 과제를 수행하는 모델

0개의 댓글