Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 머신러닝
- SpringBoot
- 생성형 AI
- LeetCode
- 도커
- Redis
- BFS
- 리트코드
- 로깅
- kubernetes
- 컨설턴트
- 컨설팅
- POD
- 메세지큐
- k8s
- OpenShift
- 쿠버네티스
- 오픈시프트
- Docker
- GPT
- fast api
- LLaMa
- vuejs
- Machine Learning
- Python
- fastapi
- jpa
- 생성형
- vue.js
- 솔루션조사
Archives
- Today
- Total
수 많은 우문은 현답을 만든다
머신러닝 기초 (지도, 비지도, 자기지도) 본문
- 왜 머신러닝이 필요할까?
머신 러닝은 경험으로부터 학습해나가는 알고리즘이다. 즉 더 많은 경험을 축적함에 따라 성능이 향상된다고 말할 수 있다. 내가 개발해놓은 소프트웨어가 아무리 성능이 좋다해도, 경험을 쌓거나 스스로 학습할 수는 없기에 머신러닝은 소프트웨어 개발과 대조적인 측면이 있다. 그러나 머신러닝은 항상 동일한 비즈니스 로직을 수행하지 않는다는 관점도 생각해볼 수 있다. - 핵심 구성 요소
- 데이터
올바른 데이터가 있어야 올바른 결과가 나온다.
* 스칼라 : 크기만 있고 방향을 가지지 않는 양 (오늘은 영하 10도)
* 벡터 : 크기와 방향을 가지는 (어디로 얼마만큼 가야 하나요?) - 모델
한 유형의 데이터를 입력으로 예측을 출력하는 계산적 장치 - 목적 함수(Objective Functions)
모델이 얼마나 좋거나 나쁜지를 측정할 수 있는 측정 항목으로 낮을수록 더 좋다. 손실 함수(loss function)라고도 부르며 우리는 Loss를 최소화 하는 것을 목표로 한다. 뒷 내용에서 다룰 개념인 선형함수는 y=ax+b 수식으로 표현할 수 있는데, 구하고자 하는 선형에서 데이터가 너무 멀면(=에러가 크면, Loss가 크면) a와 b 값을 조절해서 최적의 그래프를 찾는것이 우리가 결론적으로 원하는 결과이다. - 최적화 알고리즘
손실 함수를 최소화하기 위한 최적의 매개변수를 탐색할 수 있는 방법으로 대표적으로 경사 하강법(gradient descent)이 있다. 각 단계에서 각 매개변수를 조금씩 변경해 손실이 어떻게 변할지 확인하며 손실을 줄이는 방향으로 매개변수를 업데이트하는 과정이다.
- 데이터
- 지도 학습(Supervised Learning)
특징(features)과 레이블(labels)을 모두 포함하는 데이터셋을 제공받고 입력으로 feature를 주면 label을 예측하는 모델을 생성하는 작업이다. feature이 입력되었을 때 label의 조건부 확률을 추정하게 핵심 목표이다.
- 컴퓨터 단층 촬영 이미지가 주어졌을 때, 암 유무를 예측
- 영어 문장이 주어졌을 때, 프랑스어로 올바른 번역을 예측
- 이번 달의 재무 보고 데이터를 기반으로 다음 달 주식의 가격을 예측
- 회귀 (Regression)
레이블이 임의의 수치 값을 가질 때 이를 회귀 문제라고 하며 목표는 예측값이 실제 레이블 값에 가까워지도록 하는 모델을 생성하는 것이다. 회귀는 통계적 관점에서 여러 변수들 사이의 상호 관계를 찾아 이를 일반화시키는 기법이다. 예를 들어, 배수관 수리시 3시간에 350달러가 발생했고 친구는 2시간에 250달러가 발생했다면, 다른사람은 배수관 수리시 시간이 커질수록 비용이 많이든다는 합리적 가정을 할 수 있다. - 분류 (Classification)
회귀 모델은 '얼마나?'를 다루었지만 분류는 '어느 것?'과 관련된 문제를 다룬다. - 태깅 (Tagging)
여러 동물이 한 사진에 있는 경우 다중 클래스 분류 - 검색 (Search)
집합의 각 요소에 점수를 할당한 다음 최상위 요소를 검색하는 것으로 구글의 PageRank를 예로 들 수 있다. - 추천시스템
- 회귀 (Regression)
- 비지도 학습(Unsupervised Learning) 과 자기 지도 학습(Self-Supervised Learning)
- 비지도 학습
머신 러닝 알고리즘을 사용하여 레이블이 지정되지 않은 데이터 세트를 분석하고 군집화(clustering)한다. 인의 개입 없이도 정보의 유사점과 차이점을 발견하고 숨겨진 패턴이나 데이터 그룹핑을 한다.
- 군집화
레이블이 지정되지 않은 데이터를 유사점 또는 차이점에 따라 그룹화하는 데이터 마이닝 기술
(배타적 군집화, 중첩적 군집화, K-평균 군집화, 계층적 군집화, 확률적 군집화) - 연관
특정 데이터 세트에서 변수 간의 관계를 발견하기 위한 규칙 기반 학습 방법
(장바구니, 추천 플레이리스트, Apriori 알고리즘) - 차원 축소
데이터 입력 횟수를 관리 가능한 크기로 줄이면서 데이터 세트의 무결성을 최대한 보존하는 방법
(주성분 분석, 비정칙 값 분해, 오토인코더)
- 군집화
- 자기 지도 학습
지도학습과 비지도 학습의 중간 형태
지도학습의 원천이 되는 데이터의 레이블 생성은 비용이 크다는 한계가 있어 등장한 비지도학습 기법 중 하나
다수의 레이블이 존재하지 않는 원본 데이터로부터 레이블을 자동으로 생성하여 지도학습에 이용한다.
데이터 부분들의 관계를 학습하여, 레이블 없이도 학습을 수행할 수 있다는 점에서 주목받는다.
- 비지도 학습
- 강화학습 (Reinforcement Learning)
컴퓨터 에이전트가 역동적인 환경에서 반복적인 시행착오 상호작용을 통해 작업 수행 방법을 학습하는 머신러닝 기법의 한 유형. 이 학습 접근법을 통해 에이전트는 인간 개입 또는 작업 수행을 위한 명시적인 프로그래밍 없이 작업에 대한 보상 메트릭을 최대화하는 결정을 내릴 수 있다.
그림에 보면 Obervation이라는 개념이 나오는데, 사실은 State or Observation이 맞아보인다. 두 가지 개념은 관찰의 범위에 따라 다른데 State는 전체 범위를 보고 observation은 일부 범위를 보는것을 말한다.
- 강아지 훈련 강화학습 예시
훈련 초반에 강아지는 특정 관측값을 행동 및 보상과 연관 짓기 위해서 "앉아"라는 명령에 구르는 등 무작위 행동을 더 많이 취할 것입니다. 이러한 관측값과 행동 사이의 연관성 또는 매핑을 정책이라고 합니다. 강아지의 관점에서 최적의 시나리오는 모든 신호에 올바르게 응답하여 최대한 많은 간식을 획득하는 것입니다. 즉, 강화학습 훈련의 의미는 강아지가 보상을 최대화하는 목표 행동을 배울 수 있도록 강아지의 정책을 "조정"하는 데 있습니다. 훈련이 완료되면 강아지는 자신이 개발한 내부 정책을 사용하여 보호자의 "앉아"라는 명령을 관찰하고 적절한 행동을 취할 수 있게 됩니다
- 강아지 훈련 강화학습 예시
감사합니다.
'인공지능 > 머신러닝' 카테고리의 다른 글
퍼셉트론과 딥러닝 (0) | 2024.01.12 |
---|---|
머신러닝 선형, 비선형과 학습 (0) | 2024.01.03 |