스터디/ML, DL 6

[LLM] LangChain이란?

LLM에 대해 공부하다 보면 LangChain이라는 단어를 자주 접하게 된다. LangChain이 과연 무엇일까? 이번 포스팅에서 한 번 다뤄보려고 한다.     0. LLM우선 LLM은 Large Language Model의 약자로, 대규모 언어 모델이라는 뜻이다. 널리 사용되는 OpenAI의 GPT(ChatGPT), Meta의 LLaMA, Google의 Gemini 등이 있다. 텍스트로 지시를 하면 해당하는 내용을 텍스트로 생성하여 반환한다.  이렇게 적절한 결과를 반환하기 위해서 모델은 상당한 양의 데이터를 보유해야 한다. 이것이 모델에 "대규모(Large)"라는 단어가 붙는 이유이다.     1. LangChain?LLM에 대한 내용은 이쯤에서 넘어가고, 그렇다면 LangChain은 도대체 뭘까?..

스터디/ML, DL 2025.01.27

[ML] 로지스틱 회귀

로지스틱 회귀는 이름은 회귀이지만 분류 모델이다. 선형 회귀와 마찬가지로 선형 방정식을 학습한다. z = a*x1 + b*x2 + c*x3 + d*x4 + e*x5 + f 와 같은 형태이다. 이 때 방정식의 a,b,c,d,e는 가중치 혹은 계수이고 x1~5는 특성이다. 다중 회귀와 비슷한 형태이다. z의 값은 어떤 값이든 가능하지만 확률로 나타내기 위해서는 0~1 사이 값이 되어야 한다. z의 값을 0~1 사이의 값으로 변환하기 위해서는 변환 함수가 필요하다. 일반적으로는 시그모이드 함수를 많이 쓴다. 아주 큰 음수일 때 0이 되고 아주 큰 양수일 때 1이 되도록 한다. 아래 그림처럼 S형 곡선의 형태를 띄게 된다. 함수 식은 자연 상수 e의 -z제곱에 +1을 한 다음 역수를 취한다. 로지스틱 회귀로 이..

스터디/ML, DL 2022.03.19

[ML] 회귀 알고리즘 : 선형 회귀 (2) - 다중 회귀

선형 회귀는 하나의 특성을 이용한 회귀 방법이다. 하지만 일반적으로 특성은 여러 개이다. 이럴 때 사용할 수 있는 방법이 바로 다중 회귀이다. 특성이 하나인 선형 회귀에서는 모델이 직선을 학습하지만 2개의 특성을 가진다면 모델은 평면을 학습한다. 방정식을 보면 쉽게 와닿는데 '타겟 = a*특성1 + b*특성2 + 절편' 의 평면 방정식을 가지기 때문이다. 이처럼 특성이 많을 때 고차원을 표현할 수 있는 선형 회귀는 복잡한 모델을 학습시킬 수 있다. 특성들이 여러 개 존재할 때 특성 그대로를 사용해도 좋지만 특성끼리 곱하는 등 새로운 특성을 만들 수도 있다. 사이킷런에서는 기존 특성으로부터 새로운 특성을 만드는 쉬운 도구를 제공한다. 사이킷런의 특성을 만들고 전처리하는 다양한 클래스를 변환기라고 하고 이는..

스터디/ML, DL 2022.03.14

[ML] 회귀 알고리즘 : 선형 회귀 (1)

머신러닝 알고리즘에는 지도 학습 알고리즘과 비지도 학습 알고리즘이 있다. 지도 학습은 훈련을 위한 데이터와 정답이 필요하고, 비지도 학습은 정답이 없고 대신 비슷한 데이터끼리 묶는다. 지도 학습은 또 다시 분류와 회귀로 나뉘는데 데이터를 여러 옵션 중 하나로 선택/결정하는 것이 분류, 데이터를 통해 임의의 어떤 값을 예측하는 것이 회귀이다. 여러 회귀 알고리즘 중 이번 포스트에서는 선형 회귀 알고리즘에 대해 다뤄보려고 한다. 선형 회귀는 대표적인 회귀 알고리즘으로, 여러 곳에서 널리 사용되고 있다. 단어 그대로 데이터의 특성이 하나인 경우 특성을 가장 잘 나타낼 수 있는 어떠한 직선에 대해 학습하는 알고리즘이다. (전처리한)데이터를 그래프로 나타내면 그 데이터의 특성이 하나일 때 분포에 따라 어떠한 선이..

스터디/ML, DL 2022.03.03

[CV] CNN, 합성곱 연산, 패딩, 풀링

CNN 이란? 합성곱 신경망(Convolutional Neural Network, CNN)은 시각적 이미지를 분석하는 데 사용되는 깊고 피드-포워드적인 인공신경망의 한 종류이다. 이미지 및 비디오 인식, 추천 시스템, 이미지 분류, 의료 이미지 분석 및 자연어 처리에 응용되어 사용된다. CNN의 정규화 방법은 일반적인 방법과 조금 다른데, 일반적인 정규화 방법은 손실 함수에 가중치 측정을 추가하지만 CNN은 데이터에서 계층적 패턴을 활용하고 작고 간단한 패턴을 사용해 복잡한 패턴을 조립한다. 이런 특징 때문에 일반적인 경우에는 이미지 인식 시에 사용하는 이미지의 해상도가 높아지면 입력값과 가중치의 수가 커지기 때문에 연결성과 복잡성이 증가하지만, CNN은 연결성과 복잡성이 훨씬 낮다. CNN의 구조는 아..

스터디/ML, DL 2020.02.01

[CV] 퍼셉트론, 신경망

퍼셉트론이란 동물의 신경계 시스템을 비슷하게 흉내 내어 설계한 알고리즘이다. 입력값(Input)과 가중치(Weight)의 곱을 모두 더한 뒤 활성 함수를 통해 최종 출력(Output)을 정한다. 다수의 신호를 입력받아 하나의 신호를 출력한다. (다중입력 단일 출력 형태) 여기서 x1~xi 는 입력값, w1~wi 는 가중치, 퍼셉트론의 동작 경향성인 x0와 그 가중치인 w0 이 있고 신호의 전달 여부를 결정하는 활성함수가 있다. 동물의 신경계에서 역치 이상이 되어야 신경신호가 전달되는 것처럼, 퍼셉트론 구조에서는 (입력값 x 가중치) 의 합들이 활성 함수를 거쳐서 나온 출력 값에 따라 신호 전달 여부가 결정된다. 또한 퍼셉트론은 선형방정식으로 표현이 가능하다. 즉, 선형 분류기이다. 따라서 퍼셉트론을 이용..

스터디/ML, DL 2020.01.11