스팸 필터를 개발을 위해
[스팸 잡기] 스팸 잡기 24년 6월 기초 테스트 현황
스팸문자에 빡쳐서 스팸 문자를 걸러주는 앱을 만들어서 쓰고파서 개발에 착수하였다. 일단은 나와 주위 분들에게 온 스팸 문자를 기반으로 python을 이용하여 학습을 수행해서 아주 간단한 스
writing-pad.tistory.com
여러 모델을 이용하여 서비스를 개선하는 중 Python 의 Scikit-learn 패키지의 LogisticRegression 함수를 사용하게 되었다.
model = LogisticRegression()
지금은 python 패키지를 이용해서 개발을 하지만
1. 궁극적으로 Kotlin 과 Swift 와 같은 다른 언어로도 AI 모델을 개발 해야하고
2. Transfer Learning 을 위해 해당 모델의 수학적인 내용도 이해가 필요할것 같아
공부하여 정리하고자 한다.
1 ) 선형 회귀 모델
먼저, 로지스틱 회귀는 선형 회귀 모델을 기반으로 합니다. 선형 회귀 모델은 다음과 같이 표현됩니다:
여기서,
- w 는 모델의 가중치 벡터
- x 는 입력 특성 벡터
- b 는 편향 (bias) 항입니다.
를 말한다.
2) 로지스틱 회귀 모델
이를 위 그림과 같은 시그모이드 함수에 집어 넣어서
학습용 입력 특성 벡터(x) 가 학습용으로 알려준 결과(0 또는 1)와 잘 맞는 가중치 벡터(w)를 찾아 설정합니다.
코드 상으로는 위에서 정의한 model에
model.fit(X_train, y_train)
하는 과정이 된다.
3) 손실함수
이때, 이진 분류이기에 손실 함수는 '이진 크로스 엔트로피 손실 함수'를 사용하여 손실을 측정한다.
참고자료
Scikit-learn 공식페이지: https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#
LogisticRegression 코드 github: https://github.com/scikit-learn/scikit-learn/blob/2621573e6/sklearn/linear_model/_logistic.py#L810
'코딩 학습 > 인공지능 기초' 카테고리의 다른 글
[인공지능 기초] 전이학습(Transfer Learning)과 미세조정(Fine-tuning)이란? (0) | 2024.06.27 |
---|---|
[인공지능 수학] ReLU 함수에 대해 (0) | 2022.12.22 |