728x90
반응형

머신러닝 31

[Kaggle Course] Binary Classification(이진 분류) - sigmoid, cross-entropy

지금까지 neural network로 'regression problems'를 어떻게 해결할 수 있는 배웠습니다. 이제 머신러닝의 또다른 골칫거리, 바로 'Classification'을 neural network에 적용해봅시다. 가장 큰 차이점은 우리가 사용했던 loss function에서, 그리고 마지막 layer에서 나온 출력값의 종류에서 찾을 수 있습니다. (저게 차이점이 아니야!) Binary Classification 두 그룹(class) 중 하나로 분류하는 것은 일반적인 머신러닝 기법입니다. 고객이 구매할 가능성이 있는지, 신용 카드 거래가 사기였는지, 우주에서 온 신호가 새로운 행성의 증거가 되는지 등, 모두 "Binary Calssification" 문제입니다. raw data에서 이 같은..

[Kaggle Course] Dropout, Batch Normalization

딥러닝의 세계에는 dense layers 외에도 더 있습니다. 12종류가 넘는 layer를 한 모델에 추가할 수도 있죠 전처리 또는 변형을 다른 방식으로 한다거나, 뉴런 간 연결 관계를 새롭게 정의할 수도 있고요 이번 시간에는 특별한 두 종류의 layers에 대해 알아봅니다. 이들은 neurons을 가지고 있지 않지만, model을 개선시켜주는 기능을 추가해주죠. Dropout Layer overfitting을 수정할 때 사용 traindata 속 가짜 패턴을 학습한 neuron으로 인해 생긴 overfitting을 처리해보려 합니다. '가짜 패턴'을 알아채기 위해선 network는 종종 특정한 가중치들의 조합들, 즉 가중치의 'conspiracy'에 의존합니다. 너무 구체적이면, 망가지기 쉬우므로 하나..

[Kaggle Course] Overfitting, Underfitting → early_stopping + capacity↑

이번 튜토리얼에서는 아래의 두 가지에 대해 배우게 됩니다. - learning curve 해석 - 그 해석을 바탕으로 model development 특히, learning curve의 underfitting 또는 overfitting의 요소를 찾고 이를 개선하기 위한 방책을 세우는 것이죠. Interperting the Learning Curves train data에는 두 가지의 정보가 있습니다. - signal: 일반적으로 생기며, 새로운 data에서도 모델이 좋은 예측을 하도록 해줍니다 - noise: 오직 train data에서만 참값을 보입니다ㅠ (그렇다고 noise가 도움되지 않는 건 아닙니다...!) noise는 실세계의 데이터 또는 model에 부수적이고 도움되지 않는 패턴으로 인해 발생..

[Kaggle Course] Stochastic Gradient Descent

이전까지, fully-connected networks를 만드는 법에 대해서 배웠습니다. 무조건 모든 network의 가중치는 무작위로 설정했고요. 이 상태는 network가 아무 학습도 되지 않은 상태입니다. 이번 시간에는 nerual network를 훈ㄹ녀시키는 방법을 배우게 됩니다. 모든 기계학습 일이 그렇듯, training data부터 시작합니다. training data 속 각각의 example은 몇가지 features(입력값)과 하나의 예상되는 target(출력값)으로 구성되어 있습니다. network를 훈련한다는 것은 features를 target으로 변형시키는 방식을 이용해 가중치를 조절하는 것입니다. 80 Cereals dataset으로 'sugar', 'fiber', 'protein'..

[Kaggle Course] Deep Neural Networks _ nonlinear with ReLU

이번 시간에는 어떻게 복잡한 관계로 엮인 깊은 신경망(deep nets)를 표현할 수 있는 nerual networks를 생성하는 법에 대해 배우게 됩니다. "Modularity"가 주요 아이디어입니다. 이는, 더욱 간단한 functional units로부터 comples network를 생성해줍니다. 이전 시간에 linear unit이 어떻게 linear function을 계산하는지 보았습니다. 이제 이러한 single unit을 어떻게 결합하고 수정할 수 있는지 봅시다 Layers neurons는 layer로, layer가 쌓여 neural network가 됩니다. 공통된 입력값을 사용하는 linear unit을 합치면 dense layer을 얻을 수 있습니다. 사진 설명: A dense layer ..

[Kaggle Course] A Single Neuron _ Define a linear model

Introduction Tensorflow와 Keras를 앞으로 이용하여 배우게 될 것들은, fully-connected neural network 아키텍쳐 생성하기 기초적인 머신러닝(regression, classification) 기법에 neural nets 적용하기 stochastic gradient descent로 neural net 훈련하기(train) dropout, batch normalization 등의 기법으로 성능 향상시키기 What is Deep Learning? 수없이 쌓인 계산(deep stacks of computations)해야 할 때 그 중의 특징을 잡아내어 기계에 학습시키는 것 계산의 양은 딥러닝 모델에 어떻게 현실의 데이터 속 복잡하고 계층적인 패턴을 적용 가능하는가에 달..

[Kaggle Course] Renaming & Combining (row, col)

column name과 index name을 바꿔야할 때 Pandas를 써봅시다. Renaming .rename( idx/col={ old: new, ... }) change index or colunm names to change the 'points' to 'score' col name to change 0 index name to 'firstEntry', 1 to 'secondEntry' 사실 위의 함수보단 set_index()를 쓰세요. column은 가끔, rows는 거의 이름을 바꿀 일이 없으니. .rename_axis( idx/col_name, axis='rows/columns') index와 column 동시에 자기들만의 이름을 갖도록 하고 싶을 때 사용. 저기서 쓴 idx_name, co..

[Kaggle Course] Data Types, Missing Values, Replace - Dtype

.dtype - dataframe, series 속 값들의 data type을 알려주는 함수 하나의 column 속 모든 값들의 data type price column은 실수형만 들어있음. index는 'int64' type 전체 dataframe의 모든 column에 대해서도 가능 'object type' : string으로 된 column은 특정 type으로 분류x +) Pandas는 categorical data, timeseries data에 대해서도 분류할 줄 알지만, 그건 다음 튜토리얼에서. .astype('~~') - 해당 column의 전체 값들에 대해서 원하는 data type으로 바꾸기 price column의 'int64' type을 'float64'로 바꿔버림 Missing dat..

[Kaggle Course] Grouping and Sorting - groupby()

!! 결과화면이 검은색 -> Series, 아니고 표 -> DataFrame Groupwise analysis value_counts()와 같은 기능을 하도록 groupby()를 응용해보겠습니다. value_count()함수의 축약형이라 봐도 무방합니다. point() column을 콕 집어서 각 원소가 몇 개씩 들어있는지 보는 거죠. df.groupby('col_name').col_name.count() == reviews.groupby('points').size() grouping한 결과에 summary function을 사용해도 됩니다. 각 점수마다 가장 싼 와인을 보기 위해, 'points' column으로 grouping 한 뒤 price column의 값으로 계산했습니다. 여러 개의 group..

[Kaggle Course] Summary Functions and Maps

1. Sumary functions - .describe() - 주어진 column의 특성을 요약 - .mean() - numerical value로 구성된 column의 평균 - .median() - numerical value로 구성된 column의 중앙값 - .unique() - 해당 column에 들어있는 모든 값을, 수에 상관없이 하나씩, list 형식으로 모아서 어떤 회사/국가만 데이터에 입력되어 있는지 확인할 때 유용. - .value_counts() - 내림차순으로 각 value가 몇 개씩 들어있는지 반환 와인을 마신 사람마다 몇 개의 리뷰를 달았는지, row를 가지는지 확인할 때 유용 2. Maps and Apply 'Map'이란 수학에서 가져온 용어로, 하나의 집합을 가져오는 함수를 의..

728x90
반응형