본문 바로가기

전체 글

(71)
AI Safety | 적대적 공격(Adversarial Attack) 최근 AI 강의를 듣다가 AI safety영역에 대한 이야기를 듣고 흥미로워 오래 기억하기 위해 기록해봅니다 ! 💻 적대적 공격(Adversarial Attack) Adversarial Attack은 머신러닝 모델, 특히 딥러닝 모델에 대한 취약성을 악용하여, 모델이 잘못된 예측을 하도록 유도하는 공격 방법을 의미한다. 이는 주로 이미지 분류, 음성 인식, 자연어 처리 등 다양한 분야에서 발생할 수 있으며, 입력 데이터에 미세한 변화를 주어 모델을 혼란스럽게 만든다. 🔍 FGSM(Fast Gradient Sign Method) 위 그림은 모델이 57.7%로 판다라고 예측한 그림에 어떠한 Noise를 주면, 모델은 99.3%의 확률로 긴팔원숭이로 예측을 하게 된다. 하지만 사람의 눈에는 판다 그대로..
딥러닝 기본 | 활성화 함수와 Vanishing Gradient, Stochastic Gradient Descent 딥러닝을 공부하는데 기본이 되는 용어들 중,활성화 함수와 기울기 소실 문제, 경사하강법 이론에 대해 알아보겠습니다.(feat. GPT와 공부하기 !) 📌 활성화 함수 (Activation Function)- 인공 뉴런이 출력 신호를 만들 때 사용하는 비선형 함수.- 딥러닝은 선형 조합만으로는 복잡한 패턴을 표현할 수 없기 때문에, 활성화 함수가 있어야 비선형 경계나 복잡한 함수 근사가 가능.Sigmoid0~1 범위, 확률 해석에 적합Tanh-1~1 범위, 중심화됨ReLU0 이상만 전달, 간단하고 빠름Leaky ReLUReLU에서 0 이하도 약간 통과Softmax분류 확률 출력용 (출력층에서 사용)- 주로 Sigmoid는 binary 분류문제에, Softmax는 multinomial 분류 문제의 출..
[ADP 실기준비] 1. 시계열분석 1. 시계열분석 간단정리 정상 시계열의 조건 - 일정한 평균 - 일정한 분산 - 공분산은 t가 아닌 s에 의존 일변량 시계열분석 - 자기회귀모형(AR), 이동평균(MA), Box-Jenkins(ARMA), 지수 평활법, 시계열 분해법 등 2. 예제: 영국 왕들의 사망시 나이 데이터 예측 https://rpubs.com/ryankelly/ts6 RPubs - TimeSeriesAnalysisExamples rpubs.com kings
[머신러닝] 8. 서포트 벡터 머신(feat. R Code) 장점범주, 수치 예측 문제에 사용오류 데이터 영향이 적음과적합 되는 경우가 적음신경망보다 사용하기 쉬움단점여러 조합의 테스트가 필요학습 속도가 느림해석이 어렵고 복잡한 블랙박스 R Code서포트 벡터 분류기set.seed(1)x=matrix(rnorm(20*2), ncol=2)y=c(rep(-1, 10), rep(1, 10))x[y==1,]=x[y==1,]+1plot(x, col=(3-y))두 클래스에 속하는 관측치들을 생성한다.library(e1071)dat=data.frame(x=x, y=as.factor(y))svmfit=svm(y~., data=dat, kernel='linear', cost=10, scale=FALSE)plot(svmfit, dat)svm()함수는 인자 kernel='linear..
[머신러닝] 7. 트리 기반의 방법- 배깅, 랜덤포레스트, 부스팅 트리의 장점설명하기 쉽다.가변수들을 만들지 않고도 질적 설명변수들을 쉽게 처리할 수 있다.트리의 단점트리는 일반적으로 다른 일부 회귀 및 분류 기법들과 동일한 수준의 예측 정확도를 제공하지 못한다.배깅(Bagging)통계학습방법의 분산을 줄이기 위한 범용 절차이다.B개의 붓스트랩된 훈련셋을 사용하여 B개의 회귀트리를 만들고 그 예측 결과들을 평균한다. 이러한 트리들은 크기가 크고 prune 되지 않은 것이기 때문에 각 트리는 분산이 크지만 편향은 작다.Y가 질적 변수인 분류 문제로 배깅을 확장하자면, B개 트리 각각에 의해 예측된 클래스를 기록하고 다수결, 즉 B개의 예측 사이에서 가장 자주 발생하는 클래스를 취한다.Out-of-Bag 오차 추정각각의 배깅된 트리는 평균적으로 관측치들의 약 2/3을 이용..
[R] Catboost 이론 참고 https://dailyheumsi.tistory.com/136 Catboost 주요 개념과 특징 이해하기 비교적 가장 최근에 등장한 Catboost 에 대해 관심이 생기던 찰나, 최근에 Medium Article 로 Catboost 를 잘 정리해놓은 글이 있어, 이를 참고하여 Catboost 에 관한 내용들을 정리해본다. (참고가 아니라 사 dailyheumsi.tistory.com 기존 부스팅 모델의 문제점 1) 느린 학습 속도 배깅의 경우 여러 트리들이 병렬적으로 모델학습을 수행하고 부스팅의 경우 순차적으로 모델의 학습을 수행하기 때문에 학습 속도가 느리다. 2) 오버피팅 부스팅은 '잔차'를 줄여나가기 위해 학습하는 모델이기 때문에 High Variance한 모델일 수 밖에 없다. Catboo..
[R] 사용되지 않는 level 제거하기 (feat. drop.levels함수) #1번) 원데이터의 credit변수 head(data$credit) ##[1] 1 1 2 0 2 1 ##Levels: 0 1 2 #2번) filter를 적용한 데이터의 credit변수 data2%filter(data$credit%in%c(0, 1)) head(data2$credit) ##[1] 1 1 0 1 0 0 ##Levels: 0 1 2 0, 1, 2의 값을 가질 수 있는 범주형 변수가 있다고 할 때, filter를 적용해 0, 1의 값만 가지는 관측치만 새로 생성했다. 하지만 levels은 0, 1, 2를 그대로 가지는 것을 확인할 수 있다. 이러한 경우 예전에 어떻게 처리했는지 기억이 나지 않아 검색을 해보니, gdata 패키지의 drop.levels 함수를 사용하면 된다고 한다. 이렇게 ! d..
[머신러닝] 6. 선형성을 넘어서(비선형모델)- 다항식회귀, 계단함수, 스플라인, GAMs (feat. R Code) 앞서 살펴본 릿지회귀, 라쏘회귀, 주성분회귀 등은 선형모델의 복잡도를 줄여 추정치들의 분산을 줄인다. 하지만 여전히 선형모델이 사용되므로 개선은 한정적이다.해석력은 여전히 높게 유지하면서 선형성에 대한 가정은 완화하고자 이를 위해 다음과 같은 선형 모델과 기법들을 살펴본다.다항식회귀: 원래의 설명변수 각각을 거듭제곱하여 얻은 추가적인 설명변수들을 포함하여 선형모델을 확장한다. 예를 들어, 삼차회귀는 세 개의 변수 X, X^2, X^3을 설명변수로서 사용한다. 이 기법은 데이터에 대한 비선형적합을 제공하는 방법이다.계단함수: 변수의 범위를 K개 영역으로 구분하여 질적 변수를 생성한다. 이것은 조각별 상수함수를 적합하는 효과를 가진다.회귀 스플라인: 다항식 함수와 계단함수보다 더 유연하며 사실상 이 두 함수..