728x90

어떤함수 f가 있는데, 제한조건 g가 존재할 때 최댓값/최솟값을 구하는 기법

즉 제한조건이 있는 함수를 해결하는 최적화 기법

제약조건 g를 만족하는 f의 최솟값/최댓값f와 g가 접하는 지점에 존재할 수 있다

 

https://blog.naver.com/gkswns3708/222929779269

그림에서 k값이 움직이면서 함수 f와 g가 접하게 될 때; f함수가 최대 k의 값을 가질 수 있음을 알게 됨

 

위 과정을 벡터의 영역에서 보면: "접선에서의 벡터는 서로 상수배이다"

 

라그랑주 승수법에서 중요한 것은 이 상수배를 위한 람다값!

함수 L의 값이 0이 되는 점을 찾으면, 그 점이 최적화시키고 싶은 함수의 최대/최솟값의 후보가 될 수 있음


https://blog.naver.com/waterforall/222730998200

 

 


refer to

https://blog.naver.com/waterforall/222730998200

 

[최적화(optimization)] 3. 라그랑주 승수법(Lagrange multiplier method) / Matlab fsolve 적용

Intro 최적화 문제는 개념에 대한 이해도 중요하지만, 이론 자체보다도 여러가지 기법들을 '다양한 ...

blog.naver.com

https://blog.naver.com/gkswns3708/222929779269

 

[Math] 라그랑주 승수법(Lagrange Multiplier Method)

Kooc에서 강의를 듣다가 공부해야할 거 같아서 공부하고 정리해봅니다. 라그랑주 승수법은 한마디로 정리...

blog.naver.com

 

728x90
728x90

중복조합(combination with repetition)

 

- 중복 허용(replacement o) & 순서 없음

- 조합은 조합인데.. 선택지도 3개 이상이고.. 중복도 허용..?

 

https://images.app.goo.gl/jnn6px5YEUpuHhV46

https://m.blog.naver.com/lty2242/221070717687

728x90

728x90

https://skyil.tistory.com/58

 

12. 연속 랜덤 변수 (Continuous Random Variables)

연속 랜덤 변수는 적절한 구간 내의 모든 값을 취하는 랜덤 변수이다. 예를들어, 이 블로그에 5월 20일에 방문한 사람의 수는 이산 랜덤 변수이지만, 이 블로그에서 사람들이 머무른 평균 시간은

skyil.tistory.com

https://hyunhp.tistory.com/174

 

이산확률변수 (Discrete random variable), 연속확률변수 (Continuous random variable) 정리, 공식, 특징

안녕하세요, HELLO 이산확률변수 (discrete random variable)는 확률변수 X가 유한하여 셀 수 있는 확률변수입니다. 이산확률변수의 예로 '주사위를 던질 때 나올 수 있는 수'와 '한 개의 주사위를 두 번

hyunhp.tistory.com

https://blog.naver.com/tmddls4562/221979808774

 

연속랜덤변수와 확률밀도함수 그리고 누적분포함수

랜덤변수 X의 치역이 셀수 있는 집합이면 이산 랜덤변수였다. 연속랜덤변수의 경우 랜덤변수 X의 치역이 ...

blog.naver.com

 

http://contents.kocw.or.kr/
http://contents.kocw.or.kr/

 

Familes of Continuous RV

1. uniform RV

 

2. exponential RV (lambda)

 

3. Erlang RV (lambda) '어랑분포..'

Equivalently, it is the distribution of the time until the kth event of a Poisson process with a rate of lambda !!!

 

1) 지수분포 vs 포아송분포

- 지수분포: 확률변수가 '시간'

- 포아송분포: 확률변수가 '사건의 발생 수'

람다라는 특정 시간에 따른 포아송 분포가 있을 때, 특정 시간인 람다를 람다*t로 바꾸고,

람다*t를 포아송분포의 확률 계산 식에 넣으면, 결과가 지수함수의 CDF 식과 동일해짐

 

포아송분포에서 발생하는 '사건 발생 수' = 지수분포에서 특정 시간동안 생존하면서 중간중간 언제 발생할지 모르는 failure의 숫자

 

2) 어랑분포 vs 포아송분포

어랑분포: 지수분포의 일반화

- 어랑분포의 확률변수: 특정 개수 k+1개가 연속적으로 발생하는 사건들의 시간 구간

즉 지수 분포의 RV는 두 사건 사이의 시간 구간인데, 어랑분포의 RV는 연속된 여러 사건들의 시간 구간 총합

K-order 어랑분포에서 k=1일 때 지수 분포와 일치해짐

https://techblog-history-younghunjo1.tistory.com/44


refer to

 

https://techblog-history-younghunjo1.tistory.com/44

https://en.wikipedia.org/wiki/Erlang_distribution

https://en.wikipedia.org/wiki/Exponential_distribution

https://en.wikipedia.org/wiki/Continuous_uniform_distribution

http://contents.kocw.or.kr/document/lec/2012/DaeGu/Nam%20SeHyeon/3.pdf

 

 

728x90
728x90

https://velog.io/@tri2601/11%EA%B0%95-%ED%8F%AC%EC%95%84%EC%86%A1%EB%B6%84%ED%8F%AC

 

11강 - 포아송분포

해당 내용은 아래 강좌를 정리한 내용입니다.https://www.edwith.org/ai152학습목표포아송분포와 포아송 근사를 이해하고, 문제풀이에 적용할 수 있다.핵심 키워드포아송분포(poisson distribution)포아송 근

velog.io

https://angeloyeo.github.io/2021/04/26/Poisson_distribution.html

 

포아송 분포 - 공돌이의 수학정리노트 (Angelo's Math Notes)

 

angeloyeo.github.io

 

728x90

'AI > Data Science' 카테고리의 다른 글

[Statistics] 적분.....⭐️  (0) 2024.03.26
[Statistics] 연속 랜덤 변수 (Continuous Random Variable)  (0) 2024.03.25
배민의 Anomaly Detection  (2) 2024.01.05
[모델성능지표] Precision, Recall, MAP  (0) 2023.12.10
[DL] BACKPROP  (0) 2023.12.02
728x90

 

아래 글은 '우아한형제들'의 "요즘 우아한 개발(2023)"의 내용을 기반으로 작성되었습니다.


1. 이상 탐지

- 골자) '정상 패턴 vs 이상 패턴' 탐지

- 활용) 금융거래 사기 탐지, 제조공정 불량 탐지, 허위리뷰 탐지 등

 

2. 이상탐지의 두 유형

1) Rule-based: 쉽고 빠르게 서비스 적용, 탐지 근거 명확, unseen data나 아웃라이어에 robust하지 않음 

2) ML-based

- 지도 학습: SVM, LightGBM, ANN

- 비지도 학습: K-means, DBSCAN, AutoEncoder, Isolation Forest

- 준지도 학습: 적은 수의 라벨 데이터와 다수의 라벨링되지 않은 데이터를 모두 사용, 모델 성능 개선을 목적으로 라벨 데이터를 추가로 수집하여 업데이트 가능 (라벨 데이터가 너무 적은 경우 그것을 다량으로 확보하는 시간과 비용 vs 비지도에 따른 낮은 정확도)

 

3. 리뷰 조작 업체 탐지 모델 접근 방향

Step1) ML기반 Anomaly Detection (Anamoly ; 리뷰 조작 회원)

Step2) 소셜 네트워크 분석

Step3) 리뷰 조작 '업체' 탐지


Step1) ML기반 Anomaly Detection (리뷰 조작 '회원' 탐지)

SVDD → Deep SVDD → Deep SAD(준지도)

 

SVDD(Support Vector Data Description, with soft margin):

- 비지도 이상 탐지

- 흔히 아는 SVM과 유사

- 정상데이터와 이상데이터가 섞여 있을 때, 모든 입력 데이터를 커널 함수로 매핑하여 high dim에 매핑

- 새 mapping 공간에서, 정상 데이터가 최대한 구 안에 포함되도록 함 (이대 구의 중심과 반지름을 찾는 알고리즘)

이상 데이터는 최대한 구의 중심에서 멀리 떨어지도록 함 (soft margin: 구가 지나치게 커지는 것을 막음, 일반화)

- Detect 기준: 구의 경계면 내부에 있는지 외부에 있는지

 

Deep SVDD

- 비지도 이상 탐지 w/ DL

- SVDD의 커널 함수 대신, 딥러닝 기반으로 정상 데이터를 high dim space에서 최대한 중심으로 매핑시키도록 '학습' (특정 구를 정의하여 구의 중심과 반지름을 계산하는 것이 x, 정상 데이터들이 정상 데이터들의 대표 중심점에 최대한 가깝도록 매핑시킴)'

- DL for representation

- 정상 데이터들의 대표 중심점: Deep SVDD와 동일한 구조를 가진 AutoEncoder를 통해 미리 계산된 weight 사용

- weight regularization 적용

 

Deep SAD

- 준지도 학습 알고리즘

 

기본적으로 Deep SAD는 비정형 데이터인 이미지에서 이상을 탐지하는 CNN structure
리뷰조작 회원의 데이터는 일정 단위로 집계한 정형 데이터
- 정형 데이터 to image 대신, CNN to 정형데이터에 이용 가능한 일반적인 오토인코더 구조로의 변환!

 

 

태스크와 데이터의 유형, 성격, 양, 질에 따라
- 기존의 알고리즘(모델 구조)를 변환하거나
- 데이터를 변환하는 과정이 필요

 

Step2) 소셜 네트워크 분석

 

가설: "조작 업체 특징을 고려하였을 때, 다량의 허위 리뷰 작성을 위해 다수 계정으로 유사한 가게에 허위 리뷰를 작성할 것이다"

 

Step1에서, Deformed Deep SAD 기반으로 Anomaly Detection 이후

 

이상 회원(Anomaly)에 대해서만 네트워크 탐지 (이상리뷰가 작성된 가게 간 자카드 유사도 계산 - 두 집합 사이의 유사도 측정 가능)

이때 스파크의 MinHash LSH 방법을 통해, 모든 이상 회원 pairs이 아닌, 자카드 유사도가 높은 원소를 동일한 버킷에 넣는 해시 알고리즘 사용하여 근삿값을 계산 (비용 및 시간 줄임)

리뷰 작성 가게 간 자카드 유사도가 높은 경우에만 엣지로 연결하여 네트워크 찾음

 이렇게 형성된 네트워크에서 community detection 보다 더 강한 조건인 K-core decomposition 적용하여 그래프 내에서 응집도가 높은 그룹만 추출함 (오탐에 따른 문제 완화)

 

* K-core decomposition 주요 알고리즘: degree pruning, color-coding, and K-shell decomposition

refer to : https://www.baeldung.com/cs/graph-k-core

* 이상 스코어가 높을수록 약한 조건의 네트워크 탐지 / 낮을수록 강한 조건의 네트워크 탐지

 


Step3) 리뷰 조작 '업체' 탐지 → 검수 및 조치

위의 탐지 경과를 종합

조치를 통해 차단된 라벨 데이터를 저장하여 모델 재학습에 사용

 

 

 

728x90

'AI > Data Science' 카테고리의 다른 글

[Statistics] 연속 랜덤 변수 (Continuous Random Variable)  (0) 2024.03.25
[Statistics] Poisson Distribution / 포아송분포  (1) 2024.03.25
[모델성능지표] Precision, Recall, MAP  (0) 2023.12.10
[DL] BACKPROP  (0) 2023.12.02
SGD / MBGD  (0) 2023.12.01

728x90

https://velog.io/@cha-suyeon/%ED%98%BC%EA%B3%B5%EB%A8%B8-%EB%B0%B0%EC%B9%98%EC%99%80-%EB%AF%B8%EB%8B%88-%EB%B0%B0%EC%B9%98-%ED%99%95%EB%A5%A0%EC%A0%81-%EA%B2%BD%EC%82%AC%ED%95%98%EA%B0%95%EB%B2%95
 

[혼공머] 배치와 미니 배치, 확률적 경사하강법

👩‍🔬 이번에는 혼공머 책의 챕터 4-2 파트입니다.📚 혼자공부하는머신러닝+딥러닝, 한빛미디어📄 Gradient Descent - 경사하강법, 편미분, Local Minimum📑 경사하강법(Gradient Descent)🔗 배치와 미니

velog.io

 
- batch: 일괄적으로 처리되는 집단, 한 번에 여러 개의 데이터를 묶어서 입력하는 방식, 1 epoch당 사용되는 training dataset의 묶음
- epoch: 훈련 세트를 한 번 모두 사용하는 과정
 
일반적으로 우리가 말하는 SGD = mini-BGD를 일컬음
 
- SGD와 BGD의 절충안: Batch 보다 빠르고 SGD 보다 낮은 오차율을 가짐
- batch size: 하나의 mini batch에 들어가는 데이터 수 (prefer: 전체 데이터가 나눠떨어지는 값, 2^n)
- 1 epoch : 여러 개의 mini batch가 for문으로 돌고 돌아 전체 훈련 세트를 한 번 모두 사용하는 과정
 
 
https://welcome-to-dewy-world.tistory.com/86

16. 배치(Batch), 미니배치 학습, 에폭(Epoch), SGD

앞서 신경망을 구성하기 위해서 활성화 함수, 가중치 등이 필요하다는 것을 설명했다. 위의 그림은 인공 신경망이다. 왼쪽의 그림은 은닉층이 1개이고 오른쪽 그림은 은닉층이 3개이다. 위의 선

welcome-to-dewy-world.tistory.com

그리고 필자는 처음에 미니배치를 공부할 때 수만건의 데이터 중에서 n개만큼의 데이터를 임의로 추출하기 때문에 당연히 복원 추출이라고 생각했는데 (왜냐하면 데이터 개수가 매우 많으면서 데이터 전체를 표현해야하기 때문에), Epoch의 개념에서는 전체 데이터셋을 사용해야 1Epoch가 된다는 것을 읽으며 골머리를 앓았다.
배치, 혹은 미니배치학습을 할 때 배치는 복원 추출인가? 비복원 추출인가?
 
이에 대한 해답을 정확히 알 수는 없었으나, 어쨌든 복원 추출이나 비복원 추출이나 사실상 크게 다르지 않다는게 결론이다. 이에 대한 이유는 데이터가 매우 많기 때문이다. 수많은 데이터 중에서 임의의 개수로 임의의 데이터를 추출하는 것을 n번 반복하면 사실상 비복원 추출이나 복원 추출이나 전체 데이터셋을 사용한다고 볼 수 있기 때문이다.
 
https://light-tree.tistory.com/133

딥러닝 용어정리, MGD(Mini-batch gradient descent), SGD(stochastic gradient descent)의 차이

제가 공부한 내용을 정리한 글입니다. 제가 나중에 다시 볼려고 작성한 글이다보니 편의상 반말로 작성했습니다. 잘못된 내용이 있다면 지적 부탁드립니다. 감사합니다. MGD(Mini-batch gradient descent

light-tree.tistory.com

'batch' 라는 단어는 엄밀히 'mini-batch'를 의미하지면 편의상 batch 와 혼용해서 사용하는 것.
처음엔 '한 개의 데이터마다 한 개의 기울기를 구할 수 있는데, 어떻게 전체 데이터 셋에 대해서 기울기를 한번만 구한다는 것인가?' 라는 의문을 가지며 BGD를 잘못 이해하고 있었다.
 
Gradient descent 라는 알고리즘 자체는 loss function 을 입력 데이터 x 에 대해 편미분해서 기울기를 계산하는 것이 아닌, 가중치 w 에 대해서 편미분을 하는 것이기 때문에, 기울기를 계산하는 것 자체는 입력 데이터 x 의 갯수와 상관이 없다.
 
에러값을 전체 데이터에 대한 loss function 의 합으로 정의하던 평균으로 정의하던 단순히 w 에 대한 편미분을 수행하면 되는 것.
 

 

wow 이 그림 미쳤다 ~~~~ >,<

출처: https://light-tree.tistory.com/133 [All about:티스토리]
 
 


https://ratsgo.github.io/deep%20learning/2017/10/02/softmax/

Softmax-with-Loss 계층 · ratsgo's blog

이번 글에서는 소프트맥스 함수와 크로스엔트로피 손실함수가 합쳐진 ‘Softmax-with-Loss’ 계층에 대해 살펴보도록 하겠습니다. 이 글은 위키피디아와 ‘밑바닥부터 시작하는 딥러닝’, 그리고

ratsgo.github.io

Backprop의 모든 것...🤩
 

728x90

'AI > Data Science' 카테고리의 다른 글

[모델성능지표] Precision, Recall, MAP  (0) 2023.12.10
[DL] BACKPROP  (0) 2023.12.02
[Statistics] 다변량 정규분포  (0) 2023.11.13
[statistics] Variational Inference (변분추론)  (0) 2023.11.09
[Statistics] Gaussian Prior  (1) 2023.11.08

+ Recent posts