본문 바로가기
728x90
반응형

Python110

[복습] Python | 분석 | 딥러닝(CNN) 이미지 분석(2) + 하루끝(20240402) CNN: 이미지 분석의 꽃 층을 추가할 수록 좋다. 레이어가 추가될수록 더 많은 신호를 받을수 있는 좋은 점이 있으나, 기울기 소실 문제는 해결되지 않는다. activation은 relu 가 좋은 편이다. 기울기 소실 문제를 해결하기 위한 다른 activation은 찾기 어려우므로, 다른 방법을 찾다 보니 CNN의 파생인 vgg 또는 resnet이 탄생했다. densenet, googlenet도 있다. 전부 CNN 기반 모델로, keras 문법으로 구현하는데에는 한계가 있어서 tensorflow로 구현해야 하는데, 복잡도가 증가하게 된다. 딥러닝 모형을 구현하는 데에 있어 두 가지 방법이 있다. 1. 제로 베이스에서 출발: 쌓은 탑이 없는 상태로, 처음부터 모델링한다. 가중치를 랜덤하게 초기에 선택해서 .. 2024. 4. 12.
[복습] Python | 분석 | 딥러닝(CNN) 이미지 분석 + 하루끝(20240401) input이 이미지가 될 수는 있으나 output이 이미지가 될 수는 없다(정형 데이터화되어 수치로 들어감). 딥러닝 구현으로 얻게 된 데이터 특성을 가지고 이미지를 찾아부는 검색 엔진까지 들어가야지 이미지가 출력된다. 1. KNN : 이미지를 비교할 때 픽셀 별 단순 차이만 가지고 거리를 계산한다. 어떤 픽셀이 보다 강조되어야 하는지 측정하기가 어려운 것이 단점이다. (이미지 유사도가 높은 = 거리가 짧은) 2. KNN + PCA: 변동성이 가장 많은 픽셀에 초점을 맞춰(PCA), 높은 가중치를 부여한 픽셀을 조합하여 인공변수를 만들어 거리를 계산하는 것이 효과적이어서 이렇게 보완되어 발전하였다. 인근 픽셀 유사도를 찾아야 하는데 머신러닝이므로 flatten 할 수밖에 없다. 위-아래 구성된 픽셀이 f.. 2024. 4. 1.
[복습] Python | 분석 | 딥러닝(ANN) - stopping rule 적용 https://metime.tistory.com/386 위 게시글에 이어서 cancer data 분석에 대하여 stopping rule을 적용해보겠다. epoch 설정 시 stopping rule 적용은 오차, 정확도가 일정 이상 변화나 개선이 없을 때 자동으로 stop 되도록 설계하는 것이다. epoch가 많아질수록 과대적합되며, epoch 수를 관측하여 많아지기 전에 중단 시키는 것이 좋다. 1. 데이터 로딩 2. 스케일링 3. Y 더미 변수 변경 4. train/test split 5. 모델링 1) seed값 고정 2) 모델 정의 3) 오차함수, 최적화 함수 정의 4) 정지 규칙 생성 monitor 설정이 중요하다. 정지 규칙을 만드는 측정 대상이다. patience 는 모니터링 횟수이다(5로 지정.. 2024. 4. 1.
[복습] Python | 분석 | 딥러닝(ANN) ANN에 들어가기에 앞서 딥러닝 정리를 한번 더 해보겠다. 딥러닝 - 머신러닝의 일종(신경망 기반 모델) - 비정형 데이터 분석 수요 증가에 따른 딥러닝 모델 발전 - 지도학습(Y가 존재하는 모형) - 종류: ANN(회귀, 분류(2진 class 등에 따라 출력층 변경 가능), CNN(이미지(output이 이미지는 될 수 없음, 라벨링 결과에 맞게 이미지의 특성을 텍스트로 반환함), RNN, LSTM,... (RNN, LSTM은 시계열로도 사용하고 텍스트 마이닝에서도 주로 사용함) - 구현 프레임 워크 1) tensorflow(tf): 구글사 개발, 확장성은 좋으나 어려움(또 다른 언어를 배우는 느낌, 그래서 사용자가 사용하기에 버겁다는 느낌을 받음). 즉 문법이 다소 복잡하나 확장성이 강함 2) kera.. 2024. 4. 1.
[복습] Python | 분석 | 시계열 분석(2) 시계열 분석 중 LSTM은 분석 시 업데이트를 수행함. 이 말의 의미는, 시계열 모형이 가지고 있는 단점부터 파악해보자면 바로 직전 데이터로 다음 관찰 일을 예측하는 것이다. 그 다음 STEP은 예측값을 가지고 예측을 하게 된다. 그 다음 STEP은 또 예측한 가상의 값으로 예측을 수행하게 된다. 따라서 시간이 지날 수록 의미가 감소하는 것이다. 그러므로 업데이트라고 하는 것은, 예측한 값이 예측을 하는 행위를 막는 방법이다. 처음 설정된 train data로 다음 값을 예측하는 것은 의미가 있다. 그러나 predict value가 predict value를 예측 하는 것은 오차가 있으므로, 예측한 predict을 train으로 합쳐서 다시 그 다음을 예측하게 되는 것이다. 위 그림처럼 예측한 값이 다시.. 2024. 3. 10.
[복습] Python | 분석 | 군집분석(5) 군집분석 - 거리기반 모델 - 설명변수가 수치형일수록 좋음 (범주형 → 범주형 거리 계산도 가능함) - 중요하든 중요하지 않든 같은 가중치를 주는 게 거리기반 모델의 단점 1. 거리 2. 모델링 1) 계층: 밀집한 데이터의 군집 형성에 효과적 2) 비계층: 밀집한 데이터의 군집 형성에 효과적. 초기 seed 값을 어디에 위치해도 결과적으로 군집은 잘 형성됨. 가장 안정적인 군집 분석(kmeans) 3) 혼합분호: 밀집한 데이터든 밀집하지 않은 데이터든 효과적으로 군집을 형성해줌. 즉, 밀집한 데이터일때에도 각 집합의 분포를 고려한 방식으로 군집을 형성함 4) DBSCAN: 기하학적 분포에 유리 5) SOM: 밀집한 데이터에 대해서 오히려 군집 형성에 효과적이지 않음. 군집간의 거리가 먼 데이터일 때 효과.. 2024. 3. 6.
728x90
반응형