이산수학

ML&DL 필수 이산수학(1)

with_AI 2022. 4. 13. 03:05

이산수학?

- discrete object를 연구하는 학문

- 각수학분야에서 이산적인 것을 탐구하는 학문

- 가장 중요한건 선형대수, 확률론, 그리고 operations research 분야임

 

이산적?

- 셀 수 있어야함

 

 

연속적?

- 셀 수 없어야 함

 

 

머신러닝?

주어진 데이터를 가장 잘 표현하는 함수를 찾는 것

 

지도학습

- 회귀문제

-- 선형 회귀

 

- 분류문제

-- 로지스틱 회귀

 

딥러닝?

- end to end 방식임

 

End to End?

- 중간에 사람이 부가적으로 성능을 좋게 하기 위해서 어떤걸 하지 않음

 

얕은학습 vs 깊은 학습

얕은학습은 우리가 특징을 직접 정한다. 하지만 깊은 학습(deep learning)은 우리가 특징을 정하지 않는다.

- 예전엔 사람이 손으로 많은 방식으로 특징 추출의 함수를 개발했었다. (파이 함수)

- 파이 함수를 컴퓨터가 자동으로 결정하게 하자 = 딥러닝

- 딥러닝이 잘 찾긴하는데 왜 이렇게 찾는지, 무엇인지 모르겠다 = 블랙박스

 


집합

 

- 어떤 조건에 의해 대상을 분명하게 정할 수 있을 때, 그 대상들의 모임

- 원소

- 원소나열법

- 조건제시법

- 벤 다이어그램

- 공집합

- 부분집합

- 진부분집합

- 부분집합의 개수 : 2^n

 

 

수 체계

countable

- 자연수

- 정수

- 유리수

 

uncountable

- 무리수

- 실수

 

 

Type of Data

 

Categorical

- Nominal

- Ordinal

 

Numerical

- Discrete

- Continuous

 

 

df['Age'] = df['Age'].astype('Float32').astype('Int16')

None 과 NaN을 바로 Int16으로 바꾸지 못하기 때문에 float을 거쳐야 한다고 한다.

 

 

categorical data -> 정수로 바꾸기

 

이 부분에서 ordinalencoder를 써줘도 가능은 하지만, 원핫 인코딩을 사용하는 것이 좋다.

모델이 학습될 때 이 순서를 결과에 반영할 수 있기 때문이다.

from sklearn.preprocessing import OrdinalEncoder

ord_enc = OrdinalEncoder()
ord_enc.fit(df['Hand'])
ord_enc.transform(df['Hand'])

 

원핫인코더 사용하기

from sklearn.preprocessing import OneHotEncoder

# Hand 칼럼 onehot [+]
oh_enc = OneHotEncoder(sparse=False)
oh_enc.fit(df[['Hand']])
oh_enc.transform(df[['Hand']])

 

어떤 인코딩이 적합할까?

- Tree 모델은 순서가 의미 없다 (뒤죽박죽 되도 상관 X)

- 선형모델은 순서 의미가 있다.

 


시그마

 

수열 : 정의역이 자연수 전체 집합 N 이고 공역이 실수 전체인 R인 함수

f : N -> R

 

시그마의 성질

 

 

프로덕트

 

합의 기호처럼 순서대로 모두 곱함

 

 

 

팩토리얼

 

1부터 n까지 1씩 증가하는 수열의 곱

 

자연상수 e

 

 

 

 

 

 

'이산수학' 카테고리의 다른 글

이산수학 알고리즘  (0) 2022.04.11
함수  (0) 2022.04.11
집합과 논리, 명제  (0) 2022.04.11