강의 복습 내용
[DAY 8] Pandas I / 딥러닝 학습방법 이해하기
[AI Math 5강] pandas I
- pandas
- 구조화된 데이터의 처리를 지원하는 Python 라이브러리
- panel data -> pandas
- 고성능 array 계산 라이브러리인 numpy와 통합하여, 강력한 “스프레드시트” 처리 기능을 제공
- 인덱싱, 연산용 함수, 전처리 함수 등을 제공함
- 데이터 처리 및 통계 분석을 위해 사용
- Series : DataFrame 중 하나의 Column에 해당하는 데이터의 모음 Object
- Subclass of numpy.ndarray
- Data : any type
- Index labels need not be ordered
- Duplicates are possible (but result in reduced functionality)
- DataFrame : Data Table 전체를 포함하는 Object (Series를 모아서 만든 Data Table = 기본 2차원)
- NumPy array-like
- Each column can have a different type
- Row and column index
- Size mutable : insert and delete columns
- loc – index location
- iloc – index position
- loc은 index 이름, iloc은 index number
- pandas의 series type의 데이터에도 map 함수 사용가능
- function 대신 dict, sequence형 자료등으로 대체 가능
- replace function
- Map 함수의 기능중 데이터 변환 기능만 담당
- 데이터 변환시 많이 사용하는 함수
- apply for dataframe
- map과 달리, series 전체(column)에 해당 함수를 적용
- 입력 값이 series 데이터로 입력 받아 handling 가능
- 내장 연산 함수를 사용할 때도 똑같은 효과를 거둘 수 있음
- mean, std 등 사용가능
- scalar 값 이외에 series값의 반환도 가능함
- series 단위가 아닌 element 단위로 함수를 적용함
- series 단위에 apply를 적용시킬 때와 같은 효과
- describe : Numeric type 데이터의 요약 정보를 보여줌
- unique : series data의 유일한 값을 list를 반환함
- sum
- 기본적인 column 또는 row 값의 연산을 지원
- sub, mean, min, max, count, median, mad, var 등
- isnull : column 또는 row 값의 NaN (null) 값의 index를 반환함
- sort_values : column 값을 기준으로 데이터를 sorting
- Correlation & Covariance
- 상관계수와 공분산을 구하는 함수
- corr, cov, corrwith
[AI Math 5강] 딥러닝 학습방법 이해하기
- 소프트맥스(softmax) 함수는 모델의 출력을 확률로 해석할 수 있게 변환해주는 연산입니다.
- 분류 문제를 풀 때 선형모델과 소프트맥스 함수를 결합하여 예측합니다.
- 신경망은 선형모델과 활성함수(activation function)를 합성한 함수입니다.
- 활성함수(activation function)는 R 위에 정의된 비선형(nonlinear) 함수로서 딥러닝에서 매우 중요한 개념입니다.
- 활성함수를 쓰지 않으면 딥러닝은 선형모형과 차이가 없습니다.
- 시그모이도(sigmoid) 함수나 tanh 함수는 전통적으로 많이 쓰이던 활성함수지만 딥러닝에선 ReLU 함수를 많이 쓰고 있다.
- 다층(multi-layer) 퍼셉트론(MLP)은 신경망이 여러층 합성된 함수입니다.
- 왜 층을 여러개를 쌓나요?
- 이론적으로는 2층 신경망으로도 임의의 연속함수를 근사할 수 있습니다.
- 그러나 층이 깊을수록 목적함수를 근사하는데 필요한 뉴런(노드)의 숫자가 훨씬 빨리 줄어들어 좀 더 효율적으로 학습이 가능합니다.
- 딥러닝은 역전파(backpropagation) 알고리즘을 이용하여 각 층에 사용된 패러미터를 학습합니다.
- 각 층 패러미터의 그레디언트 벡터는 윗층부터 역순으로 계산하게 됩니다.
- 역전파 알고리즘은 합성함수 미분법인 연쇄법칙(chain-rule) 기반 자동미분(auto-differentiation)을 사용합니다.
Further Question
분류 문제에서 softmax 함수가 사용되는 이유가 뭘까요?
softmax 함수는 모델의 출력을 확률로 해석할 수 있게 변환해주는 연산입니다.
즉, softmax 함수를 사용한다면, 모델의 결과를 확률로 표현하여 분류 결과와 비교 할 수 있게 됩니다.
따라서, 분류 문제에서 softmax 함수가 사용됩니다.
softmax 함수의 결과값을 분류 모델의 학습에 어떤식으로 사용할 수 있을까요?
softmax 함수의 결과인 예측값과 정답이라고 할 수 있는 실제값의 오차를 최소화하는 방향으로 학습에 사용 할 수 있습니다.
[개인] 딥러닝에서 ReLU 함수가 많이 사용되는 이유가 뭘까요?
- Vanishing Gradient
- Low cost
강의 리뷰 및 Q&A
- [AI Math 5강] pandas I
- [AI Math 5강] 딥러닝 학습방법 이해하기
스터디 발표
퀴즈 결과 회고
[AI Math 5강 퀴즈] 딥러닝 학습방법 이해하기-1~5
- ReLU 계산 (O)
ans : 0
- tanh'(0) 계산 (O)
ans : 1
- 역전파 (backpropagation) 알고리즘의 기반이 되는 것은? (O)
ans : 연쇄 법칙 (chain rule)
- 신경망에서 활성함수가 필요한 가장 적절한 이유는? (O)
ans : 비선형 근사를 하기 위해서.
- 편미분 계산 (O)
ans : 1
총평
피어 세션의 스터디 발표를 준비한 덕분에, [토크ON세미나] 추천시스템 분석 입문하기를 제대로 공부할 수 있었습니다.
물론, 갑작스럽게 준비하느라 힘들었지만, 그 정도의 가치는 있었다고 생각합니다.
그리고 [토크ON세미나] 추천시스템 분석 입문하기 덕분에, 브런치 사용자를 위한 글 추천 대회를 어떻게 준비할지에 대한 감이 잡혔습니다.
협업 필터링(collaborative filtering)을 기반으로 Base Model을 만들고, 콘텐츠 기반 필터링(content-based filtering)으로 업그레이드하면 될 것 같습니다.
처음에는 그저 막막했는데, 이제는 길이 조금 보이면서 재미있을 것 같아 기대됩니다.
오늘보다 더 성장한 내일의 저를 기대하며, 내일 뵙도록 하겠습니다.
읽어주셔서 감사합니다!