Etc 49

4장 딥러닝(2) - 딥러닝 알고리즘(심층 신경망, 합성곱 신경망, 순환 신경망, 제한된 볼츠만 머신, 심층 신뢰 신경망)

4.3 딥러닝 알고리즘 딥러닝 알고리즘의 공통점 : 심층 신경망을 사용 목적에 따라 합성곱 신경망(CNN), 순환 신경망(RNN), 제한된 볼츠만 머신(RBM), 심층 신뢰 신경망(DBM)으로 분류됨 4.3.1 심층 신경망(DNN) 입력층과 출력층 사이에 다수의 은닉층을 포함하는 인공 신경망 머신러닝과 달리 심층 신경망은 다수의 은닉층을 추가 → 별도의 트릭없이 비선형 분류 가능 //머신러닝은 비선형 분류를 위해 여러 트릭을 사용함 심층 신경망's 다수의 은닉층 장점 : 다양한 비선형적 관계를 학습할 수 있음 단점 : 학습을 위한 연산량이 많음, 기울기 소멸 문제 등이 발생 가능 → 해결 방법 : 드롭아웃, 렐루 함수, 배치 정규화 등을 적용 4.3.2 합성곱 신경망(Convolutional Neural..

Etc/Deep Learning 2021.08.04

4장 딥러닝(1) - 딥러닝 출현(퍼셉트론), 구조, 용어(수정, 보완必)

4.1 인공 신경망의 한계와 딥러닝 출현 퍼셉트론 선형 분류기, 인공 신경망에서 이용하는 구조(입력층, 출력층, 가중치로 구성됨) 다수의 신호(흐름 有)를 입력으로 받음 → 하나의 신호를 출력 신호를 입력으로 받아 '흐른다/안 흐른다(1 또는 0)'는 정보를 앞으로 전달하는 원리로 작동 입력이 두 개(x1, x2)가 있을 때, 컴퓨터가 논리적으로 인식하는 방법 AND 게이트 모든 입력이 1일때 작동 x₁ x₂ y 0 0 0 1 0 0 0 1 0 1 1 1 AND 게이트에선 정상적으로 데이터 분류(검은색, 흰색 점)가 됨 OR 게이트 입력에서 둘 중 하나만 1이거나 둘 다 1일때 작동 x₁ x₂ y 0 0 0 1 0 1 0 1 1 1 1 1 OR게이트에서도 정상적으로 데이터 분류가 됨 XOR게이트(배타적 ..

Etc/Deep Learning 2021.08.04

4장 딥러닝 - 딥러닝 학습 | 딥러닝의 문제점, 해결 방안 | 딥러닝 이점 + α 옵티마이저

4.2.2 딥러닝 학습 딥러닝 학습 = 순전파 단계 → 역전파 단계 딥러닝 1단계. 순전파(feedforward) 네트워크에 훈련 데이터가 들어올 때 발생 데이터를 기반으로 예측 값을 계산하기 위해 전체 신경망을 교차해 지나감 = 모든 뉴런이 이전 층의 뉴런에서 수신한 정보에 변환(가중합 및 활성화 함수)을 적용, 다음층(은닉층)의 뉴런으로 전송하는 방식. 네트워크를 통해 입력 데이터를 전달, 데이터가 모든 층을 통과하고 모든 뉴런이 계산 완료하면, 그 예측 값은 최종 층(출력층)에 도달 그 다음 손실 함수로 네트워크의 손실 값(예측 값과 실제 값 차이, 오류) 추정 이때, 손실 함수 비용은 0이 이상적 (손실 함수 비용이 0에 가깝도록 하기위해 모델이 훈련을 반복하면서 가중치를 조정) → 손실이 계산되..

Etc/Deep Learning 2021.07.30

3장 머신러닝 - 비지도 학습(2) : 주성분 분석(PCA)

3.2.3 주성분 분석(PCA) PCA란? 고차원 데이터를 저차원(차원 축소) 데이터로 축소시키는 알고리즘 PCA를 사용하는 이유와 적용 환경 사용하는 이유: 주어진 데이터의 간소화(변수가 많은 고차원 데이터의 경우, 중요하지 않은 변수로 처리해야 할 데이터 양이 많아지고 성능이 나빠지는 경향 有 → 해결방법 : 고차원 데이터를 저차원으로 축소시켜, 데이터가 가진 대표 특성만 추출 → 효과 : 성능 향상, 작업은 좀 더 간편해짐 적용 환경 : 현재 데이터 특성(변수)가 너무 많을 땐, 데이터를 하나의 plot에 시각화해서 보기 어렵기 때문에 ,특성 p를 두 세개 정도로 압축해서 데이터를 시각화하고 싶을 때 유용 차원 축소 방법 ① 데이터들의 분포 특성을 잘 설명하는 벡터를 두 개 선택 다음 그림의 벡터 ..

Etc/Deep Learning 2021.07.27

3장(3) 실습 - 로지스틱 회귀 | 선형 회귀 (figure | enumerate | zip | subplot | np.reshape | digits | 혼동행렬 시각화 | train_test_split | y_pred)

3.1.4 신규 데이터(숫자, digits)에 대한 정확도 예측(로지스틱 회귀 분석) 1. plt.figure() : 새로운 figure 생성 - 옵션 figsize=(가로, 세로) : 최초 창의 크기를 가로 세로 n인치로 설정 plt.figure(figsize=(20, 4)) 2. enumerate() 반복문 사용 시 몇 번째 반복문인지 확인이 필요할 때 사용. 반환값 : 인덱스 번호와 컬렉션의 원소(tuple형태로) for index, (image, label) in enumerate(배열)): 3. zip(배열1, 배열2, ... ) 어떤 배열들에 대해서 한번에 다루고 싶을 때 사용 for x, y in zip([1, 2, 3], [4, 5, 6]): print(x, y) //1 4 //2 5 //..

Etc/Deep Learning 2021.07.25

3장 머신러닝 - 비지도 학습(1) : K-평균 군집화, 밀도 기반 군집 분석

3.2 비지도 학습 비지도 학습이란? 레이블 필요X(지도학습은 필요), 정답이 없는 상태에서 훈련시키는 방법 K-평균 군집화를 사용하는 이유와 적용 환경 사용하는 이유 : 주어진 데이터에 대한 군집화 적용 환경 : 주어진 데이터셋을 이용하여 몇 개의 클러스터를 구성할 지 사전에 알 수 있을 때 사용하면 유용 비지도 학습의 군집과 차원 축소 비교 구분 군집 차원 축소 목표 데이터 그룹화 데이터 간소화 주요 알고리즘 K-평균 군집화(K-Means) 주성분 분석(PCA) 예시 사용자의 관심사에 따라 그룹화하여 마케팅에 활용 - 데이터 압축 - 중요한 속성 도출 * 군집 = 군집화 = 클러스터(머신러닝) 3.2.1 K-평균 군집화 K-평균 군집화란? 데이터를 입력받아 소수의 그룹으로 묶는 알고리즘 레이블이 없는..

Etc/Deep Learning 2021.07.25

머신러닝 핵심 알고리즘(3) - 지도학습(로지스틱 회귀와 선형 회귀)

3.1.4 로지스틱 회귀와 선형 회귀 회귀란? 변수가 두 개 주어졌을 때 한 변수에서 다른 변수를 예측하거나 두 변수의 관계를 규명하는 데 사용하는 방법 회귀에 사용되는 변수 유형 ① 독립 변수(예측 변수) : 영향을 미칠 것으로 예상되는 변수 ② 종속 변수(기준 변수) : 영향을 받을 것으로 예상되는 변수 로지스틱 회귀 로지스틱 회귀란? 분석하고자 하는 대상들이 두 집단 혹은 그 이상의 집단으로 나누어진 경우, 개별 관측치들이 어느 집단에 분류될 수 있는지 분석, 이를 예측하는 모형을 개발하는 데 사용되는 통계 기법 로지스틱 회귀를 사용하는 이유와 적용환경 사용하는 이유 : 주어진 데이터에 대한 분류 적용환경 : 주어진 데이터에 대한 확신이 없거나((예) 분류 결과에 대해 확신X 경우), 향후 추가적으..

Etc/Deep Learning 2021.07.21

3장(2) 실습 - 결정트리(타이타닉 승객 생존 여부 예측) | 대괄호 인덱싱 | map() | dropna(), drop() | DecisionTreeClassifier() | Confusion Matrix

1. 대괄호 인덱싱 대괄호 안에 필요한 컬럼명을 나열해 해당 열의 데이터만 추출 df = df[['Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare', 'Survived']] 2. map() 메서드 pd.DataFrame['요소'].map({'기존값': 새로운 값}) df['Sex'] = df['Sex'].map({'male':0, 'female':1}) #sex를 0 또는 1의 정수값으로 변환 3. dropna()와 drop() 메서드 dropna() : 결측치(NaN)가 존재하는 행을 제거(디폴트) - axis 옵션 - axis = 0(또는 row) : 행 기준 삭제 (default) - axis = 1(또는 column) : 열 기준 삭제 drop() : 선택한 값..

Etc/Deep Learning 2021.07.20

3장 머신러닝 핵심 알고리즘(2) - 지도학습(결정 트리)

3.1.3 결정 트리 결정트리란? 데이터를 이진 분류(0 또는 1)하거나 결괏값을 예측하는 분석 방법 //결과 모델이 트리 구조여서 결정 트리라고 함 결정트리를 사용하는 이유와 적용환경 - 사용하는 이유 : 주어진 데이터 분류 - 적용 환경 : 이상치가 많은 값으로 구성된 데이터셋을 다룰때 사용하기 좋음. 머신 러닝이 어떤 방식으로 의사결정하는지 알고싶을때 유용 (결정 과정이 시각적으로 표현되기 때문) 결정 트리 프로세스 + 사례 데이터를 1차 분류 → 각 영역의 순도는 증가, 불순도와 불확실성은 감소하는 방향으로 학습 진행 + 순도와 불순도 순도=균질성 : 범주 안에서 같은 종류의 데이터만 보여 있는 상태 불순도 : 서로 다른 데이터가 섞여있는 상태 ((불확실성 = 데이터 분류에 있어서 a인지 b인지 ..

Etc/Deep Learning 2021.07.20

3장(1) 실습 - Pandas 기초 | Tensorflow 기초 | KNN, SVM 구현 예제 설명

1. csv파일 읽기 dataset = pd.read_csv('iris.data', names=names) //names로 열 이름 설정 cars = pd.read_csv('car_evaluation.csv', header=None) //불러올 데이터가 header가 없을 경우 None 옵션必 + read_csv() : 디폴트로 첫번째 행을 header로 삼음 2. iloc[[행], [열]] ; 위치 인덱싱 Data의 행 번호를 활용해 데이터에 접근(정수만 가능) X = dataset.iloc[:, :-1].values //모든 행을 사용하지만 열은 뒤에서 하나를 뺀 값을 가져와서 X에 저장 y = dataset.iloc[:, 4].values //모든 행을 사용하지만 열은 앞에서 다섯번째 값만 가져와서..

Etc/Deep Learning 2021.07.19