AI

    로지스틱 회귀(Logistic Regression)

    1. 이진 분류(Binary Classification) 둘 중 하나를 결정하는 문제를 이진 분류라고 한다. 그리고 이러한 이진 분류를 풀기 위한 대표적인 알고리즘으로 로지스틱 회귀가 있다. 로지스틱 회귀의 이름에는 '회귀(Regression)' 가 들어 있지만, 실제로는 분류 작업에 사용될 수 있다. 이진 분류의 가설은 H(x) = f(Wx+b) 라는 식으로 나타낼 수 있으며, 이 f 함수의 이름은 시그모이드 함수이다. 2. 시그모이드 함수(Sigmoid Function) 시그모이드 함수의 식은 사진과 같다. 특이점으로는 exp 연산을 사용했다는 것을 알 수 있다. 3. 파이토치로 로지스틱 회귀 구현하기 import torch import torch.nn as nn import torch.nn.func..

    원-핫 인코딩(One-Hot encoding)

    원-핫 인코딩(One-Hot encoding) 원-핫 인코딩은 선택해야 하는 선택지의 개수만큼 차원을 가지면서, 각 선택지의 인덱스에 해당하는 원소에는 1, 나머지 원소에는 0의 값을 가지도록 하는 표현 방법이다. 예를 들어 강아지, 고양이, 커피에 각각 0번, 1번, 2번 인덱스를 부여한다면 강아지 = [1,0,0] 고양이 = [0,1,0] 커피 = [0,0,1] 총 선택지는 3개였으므로 3차원의 벡터가 되었다. 이처럼 원-핫 인코딩으로 표현된 벡터를 원-핫 벡터(one-hot vector)라고 한다. 원-핫 벡터의 무작위성 원-핫 벡터는 다중 클래스 분류 문제를 풀 때 사용된다. 다수의 클래스를 분류하는 문제에서는 이진 분류처럼 2개의 숫자 레이블이 필요한 것이 아니라 클래스의 개수만큼 숫자 레이블이..

    [Python] re 모듈과 사용법

    지난 포스팅에서 파이썬의 정규표현식에 대해 작성하였다. 이번에는 정규표현식을 쓰기 위한 re 모듈과 그 사용법에 대해 알아볼 것이다. 1. re 모듈 re 모듈은 파이썬에서 기본으로 제공하는 내장 모듈이다. re 모듈 안에는 다양한 함수가 존재하는데, match(), fullmatch(), findall(), search() 등이 있다. 2. match() 함수 문자열의 처음부터 시작해서 작성한 패턴이 일치하는지 확인한다. 뒷부분이 일치하여도 무조건 처음이 다르면 매칭되지 않는다. import re print(re.match('a','apple')) print(re.match('t','task')) print(re.match('a','mean')) None print(re.match('a','pp')) ..

    [Python]정규 표현식

    최근 자연어 처리를 공부하던 중 데이터 정제 과정에서 정규 표현식을 사용할 일이 생겨 찾아보게 되었다. 더보기 정규 표현식에서는 메타 문자(meta characters)를 사용한다. ※ 메타 문자란? 원래 그 문자가 가진 뜻이 아닌 특별한 용도로 사용되는 문자. ex) . ^ $ * ? [ ] { } ( ) 등.. 1. 문자 [] 문자 클래스 []은 '[ ] 사이의 문자들과 매치' 라는 의미를 갖는다. 이것만 가지고는 잘 와닿지 않기 때문에, 예시를 들자면 [mint]는 mint 중 하나의 문자와 매치라는 뜻이다. 다른 문자열 min, no, less를 적용해 보면, 'min' -> m과 n이 일치하므로 매치 'no' -> n이 일치하므로 매치 'less' -> mint 중 하나도 포함하고 있지 않으므로..

    knn 알고리즘

    정확히는 k-nn(nearest neighbor) 알고리즘으로, 새로운 데이터를 입력받았을 때 가장 가까이 있는 것이 무엇이냐를 중심으로 새로운 데이터의 종류를 정해주는 알고리즘이다. 하지만 '단순히 무엇이 가장 가까운가' 만으로 판단한다면 오류가 발생할 수 있다. 그래서 주변의 다른 요소들도 같이 고려하여 새로운 데이터의 종류를 정한다. knn에서 k는 주변의 개수이다. k값이 커질수록 범위가 넓어져 데이터를 판단하는 기준이 달라지게 된다. 최선의 k값은 때에 따라 다르다. 하지만 주로 총데이터의 제곱근값을 사용한다. -코드 추가 예정.-