# PCA

76개의 포스트
post-thumbnail

수업 48일차

✔ 랜덤 PCA와 점진적 PCA 의 시간 복잡도 > 시간을 측정해보자. 컴포넌트 개수를 늘리면 일반 PCA는 큰 차이가 없지만, rnd_pca가 크게 영향을 받는다. inc_pca는 일반적으로 오래 걸리는 것을 확인할 수 있었다. 일반적인 수행 속도는 mini batch를 사용하는 IncrementalPCA가 가장 오래 걸리며(전체 트랙잭션을 가지고 Batch Processing을 하는 이유는 실행 시간을 줄이기 위해서) RandomizedPCA는 주성분의 근사값을 찾는 알고리즘이므로, 주성분의 개수에 따라 시간 복잡도가 달라진다. 일반PCA는 데이터의 개수와 피처의 개수에 영향을 받는다. 이번에는 피처의 개수를 바꿔가면서 해보자. ![](https://velog.ve

2023년 9월 5일
·
0개의 댓글
·
post-thumbnail

[ML] CV, PCA, 일반화 등등 정리

1. K-fold Cross Validation 구성요소 Split : k개의 폴드가 뭉쳐진 것 fold : 한 개의 Validation fold와 나머지 Train Folds > 최종적으로는 K번 검증된(K개의 Split을 활용하여) 결과 값의 평균을 도출 ! 1.1. Stratified Cross Validation >(공통점) : k-fold와 같이 k-1개의 Train과 1개의 Validation Fold를 이루지만 (차이점) : Fold별 클래스 비중을 모두 동일하게 진행한다는 차이점만 존재 데이터의 차원을 축소하기 위한 방법 변수 선택(Feature Selection) 주어진 많은 변수들 중 특정 기준에 따라, 혹은

2023년 8월 30일
·
0개의 댓글
·
post-thumbnail

SVD 활용 - Eigenfaces(고유얼굴)

코드 전문https://github.com/Arat5724/Eigenface/blob/main/eigenface.ipynb https://youtu.be/7DAUnT1Xrqs (유튜브: 이상화의 선형대수와 확률이론) 강의를 실습한 내용입니다. SVD(특잇값분해)를 얼굴 사진에 사용해 나오는 Eigenvectors(고유벡터)들을 Eigenfaces(고유얼굴)라고 부르고, 그것들을 결합해 원래 얼굴을 복구하는 과정을 파이썬으로 구현해보려고 한다. 0. 필요한 모듈 불러오기 1. 사진 불러오기&가공하기 http://vis-www.cs.umass.edu/lfw/dml 의 데이터셋에서 100개를 랜덤으로 선택해 사용했다. 원본 이미지는 250x250인데 이미지가 너무 크면 SVD가 오래 걸릴 수 있어,가로 $$\frac{1}{4}$$ 세로 $$\frac{1}{3}$$로 잘라주었다. 마찬가지로 차원을 줄여주기 위해 흑백 사진으로 변환했다. 2.

2023년 7월 21일
·
0개의 댓글
·
post-thumbnail

PCA(주성분 분석) - 1편

수정 : 아래 그림이 미리보기로 나와서 보기에 좋지않아 사진 하나 올린다. 직접 찍은 사진이다. (위치는 이스탄불) PCA(주성분 분석)이란 무엇인가? 정의 이미지 데이터(100*100) or 한 자동차의 특성 데이터처럼 여러 개의 열을 가진 데이터(다차원 데이터)를 저차원의 데이터로 환원시키는 기법 쓰는 이유 다차원 데이터의 분포를 가장 잘 표현하는 성분들을 추려내기 위함 -> ?? 먼소리임 -> 예시를 들어보자 -> 100 X 100의 이미지를 10000개의 원소를 가진 1차원 배열이라고 생각해보자. 이러한 이미지가 10,000개, 100,000개 있다고 한다면 이걸 저장하고 학습하는데 문제가 생길 수 있다. 이 100 X 100의 이미지 중 모든 이미지들을 잘 표현하는 사진들의 특징을 종합하여 추려내는 것이 좋을 것이다. -> ??? 먼소리지 -> 사진으로 봐보자 ![](https://velog.velcdn.com/images/hunter

2023년 6월 16일
·
0개의 댓글
·

pca

차원 축소 2가지 방법 feature selection : 기존 것 '선택' feature extraction : 변형해서 새로운 것 '추출' 비지도학습(unsupervised) : PCA 지도학습(supervised) : PLS PCA Principal Component Analysis(주성분분석) x의 선형결합의 분산을 최대화하는 변수 추출 영상인식, 통계 데이터 분석(주성분 찾기), 데이터 압축(차원감소), 노이즈 제거 등 다양한 활용 PCA는 데이터 하나 하나에 대한 성분을 분석하는 것이 아니라, 여러 데이터들이 모여 하나의 분포를 이룰 때 이 분포의 주 성분을 분석해 주는 방법이다. PLS Partical Least Seuares(부분 최소제곱법) x의 선형결합과 y간 공분산을 최대화하는 변수 추출 X라는 독립변수들의 선형결합과 Y라는 종속변수 이 2개 간의 공분산을 최대화하는 새로운 변수로 추출하는 것을 의미한다.

2023년 6월 8일
·
1개의 댓글
·
post-thumbnail

주성분 분석

Index 주성분 분석 수학 개념 sklearn.decomposition.PCA 주성분 분석 Linear Feature Extraction 주성분 분석(Principle Component Analysis; PCA) 선형 판별 분석(Linear Discriminant Analysis; LDA) 특이값 분해(Singular Value Decomposition; SVD) 비음수 행렬 인수분해(Non-Negative Matrix Factorization; NMF) 주성분 분석(Principle Component Analysis; PCA) 정의 : 각 차원이 나타내는 관측치 간 상대적 특성들을 잘 보존하는 성분들을 추출하는 기법 <img alt="주성분분석

2023년 6월 4일
·
0개의 댓글
·
post-thumbnail

제로베이스 데이터취업스쿨 DAY58 머신러닝21~23

PCA에서는 scaler 과정이 중요하다. KNN과 같이 잘 쓰인다. PCA 함수 만들기 iris 데이터 분석 wine 데이터 분석

2023년 5월 27일
·
0개의 댓글
·
post-thumbnail

PCA와 K-means 최적화

클러스터링 과정에서 문제가 생겼다. 차원 축소와 K-means 최적화를 진행하지 않고 디폴트로 주어진 값으로 계산해 버린것..... 아직은 클론 코딩만 하다보니 코드를 세세하게 점검하는게 미흡하다. 그래도 일단 돌아가는 건 확인했으니 일단 차원 축소와 K-means 최적화 해서 다시 적용해 봐야겠다. 그래도 다행히 PCA와 K-means 예제가 많다는 것! 참고로 위 코드는 벡터값을 추출한 .csv파일로 부터 최적의 차원 갯수와 K-means 값을 계산하는 코드이다. 오늘은 여기까지하고 내일 다시해야겠다

2023년 5월 1일
·
0개의 댓글
·

PCA-고윳값 분해(Eigen-value Decomposition)

행렬은 선형변환 행렬은 크기와 방향(고윳값 , 고유벡터)로 나눌 수 있음. 고윳값,고유벡터 (Eigen Value, Eigen Vector) 선형변환(A)를 할 때 크기만 변하고 방향이 변하지 않는 벡터 Eigen value & vector 특징 방향x , 크기만 갖는다. 고유벡터 방향으로 얼마나 큰지를 의미 고윳값이 큰 순서대로 고유벡터를 정렬하면 PCA의 주성분을 구할 수 있음 정보량이 많으므로 고윳값이 복소수라면 회전의 의미 고윳값 개수 = Rank Eigen Decomposition(고윳값 분해) ![](https://velog.velcdn.com/images/minki853/post/da68808e-2b

2023년 4월 29일
·
0개의 댓글
·

GNN과 문자형 변수 처리

표제어 추출이 완료된 'Book-Title' column을 벡터로 만드는 두 가지 방법이 있다. Two Way to Embeddig Test Label Encoder+Embeddign Layer : 하지만 각 책 제목을 하나의 벡터로 표현하기 때문에, 책 제목 내의 개별 단어들 사이의 관계를 고려하지 못할 수 있다. 그럼에도 불구하고, 간단한 방법으로 적용해 볼 만한 가치는 있다. word embeddign model : 텍스트 데이터를 토큰화하고, 각 토큰(단어)에 대해 임베딩을 수행한 후, 책 제목에 대한 전체 벡터를 얻기 위해 각 단어 벡터를 평균하거나 합산한다. 이 방식은 책 제목 내의 단어들 사이의 관계를 더 잘 고려할 수 있다. Token 텍스트 데이터를 토큰화한다는 것은 문자열을 의미 있는 단위(토큰)로 나누는 것이다. 일반적으로 토큰은 단어로 간주되며, 이 경우 단어를 기준으로 문자열을 나눈다. 만약 데이터가 이미 표제어 추출이 완료되어

2023년 4월 28일
·
0개의 댓글
·
post-thumbnail

Google Cloud Professional Cloud Architect Certification(구글 PCA 자격증 대비) (5/5)

29. Agile, DevOps, SRE and SDLC Evolution Waterfall 워터풀 모델에서는 소프트웨어를 개발하는 여러 긴 단계를 거친다. image 단점: 피드백까지 매우 오랜 시간이 걸린다. 문서화에 초점을 맞춘다. Agile 개인 간의 상호작용에 초점을 맞춤 image DevOps Business, Development, Operation을 한 팀으로 만들어 빠른 피드백을 줄 수 있도록 한다. ![image](https://user-images

2023년 3월 16일
·
0개의 댓글
·
post-thumbnail

Google Cloud Professional Cloud Architect Certification(구글 PCA 자격증 대비) (4/5)

20. Creating Private Networks with Cloud VPC in Google Cloud Platform Networking Google Cloud VPC(Virtual Private Cloud) Your own isolated network in GCP cloud You control all the traffic coming in and going outside a VPC VPC에서 GCP resource를 만드는 것이 모범 사례이다. VPC Subnets User는 인터넷에 존재하는 어플리케이션(로드 밸러서)에만 접근이 가능해야한다. 즉 내부 데이터와 연결된 Compute Engine과 Database에는 접근 X => 그렇다면 공공 리소스(어플리케이션, 웹)과 사설 리소스를 VPC에서 분리되게 해야한다. => Create separate Subnets! 서브넷은 공공 리소스와 사설 리소스를 분

2023년 2월 16일
·
0개의 댓글
·
post-thumbnail

PCA 주성분분석

주성분분석의 필요성 주성분분석(Principal Component Analysis, PCA)는 차원 축소의 대표적 기법 고차원 자료 분석을 위한 요구가 증가. 예: • IT: 이미지 자료 • BT: 마이크로어레이 자료 대부분의 전통적 통계분석 방법들은 변수 개수(p)가 표본의 개수(n)보다 많은 경우에 적용이 힘들다. 변수 간에 상관관계가 높은 경우 -> 다중공선성 문제 후속 분석을 위해 차원 축소/직교변환 수행 필요 주성분분석: 전체 자료의 변동(variability)을 가장 잘 설명하는, 원변수의 선형결합을 구함으로써, 고차원 자 료의 변동을 저차원으로 설명하는 기법 (1) 원변수의 선형결합으로서, (2) 전체 자료의 변동을 제일 잘 설명하는 변수이다. (3) 주성분 변수 간에는 공통 정보가 없다. 즉, 상관계수=0 1.원변수의 선형결합으로 표현 PC1 = a11 X1+ a12 X2 + ∙∙∙ + a1p X 전체 자료의 변동을 제일 잘 설명하

2023년 2월 14일
·
0개의 댓글
·
post-thumbnail

[혼공머신] 6-3. 주성분 분석

Intro. 🚨고객들이 보낸 과일 사진이 너무 많아지면서, 저장공간이 부족해졌다... 업로드된 사진의 용량을 좀 압축시킬 수는 없을까? 1. 차원 축소 '차원'이라는 용어 지금까지 우리는 데이터가 가진 속성을 '특성'이라고 불렀음. (ex. 과일 사진의 각 샘플은 10,000개의 특성으로 이루어짐) 머신러닝에선 이 '특성'을 '차원'이라고도 부름. > ⭐다차원 배열과 1차원 배열에서 용어가 다르게 쓰임. 다차원 배열 : 차원 = 축의 개수 / 1차원 배열(벡터) : 차원 = 원소의 개수 ❗지금 '차원 축소'에서 축소한다는 차원은 후자❗ (벡터로서의 차원) 차원 축소 비지도학습의 한 종류로, **데이터를 가장 잘 나타내는 일부

2023년 2월 3일
·
0개의 댓글
·
post-thumbnail

PCA

Insight PCA가 차원 축소를 위해 사용한다는 것 정도는 모두가 알고 있을 것이다. 차원을 축소한다는 것은 무슨 의미이지? 저기 3차원 데이터 분포가 있다고 가정하자. 차원을 줄인다것은 저 데이터를 2차원 평면이나 1차원 직선으로 정사영 내린다는 것을 의미한다. 하지만 차원 축소를 한다고 해도 그 데이터 분포의 성질을 최대한 유지해야 하므로 2차원에 정사영하는 것이 옳은 전략이다. 즉 PCA는 정사영을 통해 차원을 축소한다. 하지만 원래 데이터의 성질 (분포) 최대한 보존해야 한다. PCA를 한글로 풀어쓰면 주성분 분석이다. ![](https://velog.velcdn.com/images/everyman123/post/5604f77d-ccfa-4cee-b8b3-c718da7cd3e

2023년 1월 27일
·
0개의 댓글
·

차원 축소

차원의 저주(Curse of Dimensionality) 훈련 데이터 셋의 특성이 너무 많아서(데이터의 차원이 너무 높아서) 훈련이 느리고, 성능이 낮은 현상 > 해결방법? 차원의 수가 커질수록 서로 다른 샘플간의 거리는 기하급수적으로 증가한다.(고차원일수록 공간이 넓어지기 때문) -> 성능이 낮아진다. 훈련 샘플의 밀도가 충분히 커질 때까지 훈련 세트의 크기를 키울 수도 있지만 앞서 언급된 것처럼 공간이 매우 넓기 때문에 현실적으로 힘들다. 따라서 차원의 수를 감소시키는 방법이 유용하다. 차원 축소 데이터에서 불필요하거나 중복되는 부분을 제거하거나, 데이터를 압축하여 차원의 수를 줄이는 것 차원을 축소시키면 일부 정보가 유실되고, 훈련이 빨라지는 대신 성능이 감소할 수 있다.(어떤 경우는 성능이 오히려 높아질 수 있다.) 데이터 시각화에 유리하다. 차원 축소를 위한 접근 방법 투영(Projection) 대부분의 경우 실제

2023년 1월 26일
·
0개의 댓글
·
post-thumbnail

Google Cloud Professional Cloud Architect Certification(구글 PCA 자격증 대비) (3/5)

13. Getting Started with Cloud KMS Cloud KMS Data States Data at rest: 장치에 저장되어있거나 백업 Data in motion: 네트워크를 통해 이동 중 Data in use: 데이터가 사용중(RAM) Encryption(암호화) Symmetric Key Encryption: 암호화 복호화를 같은 키를 사용한다. -> 키의 보관, 공유에 어려움이 있음(보안상) Asymmetric Key Encryption: 비대칭키를 사용. 공용키로 암호화, 개인키로 복호화. Cloud KMS Create and manage cryptographic keys(symmetric and asymmetric) Integrates with almost all GCP services that need data encryption: Google-managed key: No c

2023년 1월 24일
·
0개의 댓글
·
post-thumbnail

15. PCA 주성분 분석

차원축소 수많은 데이터의 저장공간을 절약하기 위하여 차원축소를 할 수 있다 >데이터는 14.k-평균의 데이터를 활용하였다 압축하기 기본적으로 fruits_2d는 300개의 100*1000 이미지이다 이를 50개의 이미지로 압축해보자 이 이미지는 일종의 데이터 셋의 특징으로 이해 할 수 있다 재구성하기 이미지 보기 ![](https://velog.ve

2023년 1월 18일
·
0개의 댓글
·
post-thumbnail

주성분 분석(PCA)

과일 사진 이벤트를 위하여 고객들이 보낸 여러 개의 이미지를 받아 k-평균 알고리즘으로 분류 후 폴더별로 저장한다. 그런데 너무 많은 사진이 등록되어 저장 공간이 부족하다. 나중에 군집이나 분류에 영향을 끼치지 않으면서 업로드된 사진의 용량을 줄일 수 있을까? 차원과 차원 축소 지금까지 우리는 데이터가 가진 속성을 특성이라 불렀다. 과일 사진의 경우 10,000개의 픽셀이 있기 때문에 10,000개의 특성이 있는 셈이다. 머신러닝에서는 이러한 특성을 차원(Demension)이라 한다. 즉, 10,000개의 특성은 결국 10,000개의 차원이라는 것인데 이 차원을 줄일 수 있다면 저장 공간도 크게 절약할 수 있을 것 같다. 이를 위하여 비지도 학습 작업 중 하나인 차원 축소(Demensionality Reduction) 알고리즘을 다루어 보겠다. 특성이 많으면 선형 모델의 성능이 높아지고 학습용 데이터에 쉽게 과대적합된다. 차원 축소는 데이터를 가장 잘

2023년 1월 16일
·
0개의 댓글
·
post-thumbnail

Google Cloud Professional Cloud Architect Certification(구글 PCA 자격증 대비) (2/5)

6. Getting Started with Gcloud Gcloud Command line interface to interact with Google Cloud Resources 모든 서비스는 아니지만 대부분의 서비스를 Gcloud를 사용해서 CRUD가능 Installation 로컬에 Google Cloud SDK 다운로드 Console에서 Cloud shell 사용 Connecting to GCP gcloud init: initialize or reinitialize gcloud Authorize gcloud to use your user account credentials Setup configuration Includes current project, default zone etc gcloud config list: list all properties of the active c

2022년 12월 18일
·
0개의 댓글
·