IT지식 56

[인공지능] 강화학습 개념 정리 (with 마르코프 결정 과정, 탐색-이용 트레이드오프)

1. 강화학습이란? - 강화학습 문제는 기본적으로 '환경', '에이전트', '상태', '행동', '보상'이라는 요소로 이뤄진다. 강화학습의 목표는 환경 안에 있는 에이전트가 환경과 상호작용을 하면서 최적의 의사결정을 하는 것이다. 에이전트와 환경 간의 상호작용은 상태, 행동, 보상을 주고받음으로써 이뤄진다. 에이전트는 환경에게 행동을 제공하고, 환경은 에이전트에게 상태와 보상을 제공하는 방식이다. 에이전트의 행동을 받아들인 환경은 에이전트에게 새로운 상태와 보상을 제공한다. 상태는 에이전트가 처한 상황을 나타낸다. 에이전트가 행동을 취해 현재 상태에서 다음 상태로 바뀌는 것을 '상태 전이'라고 한다. - 보상은 에이전트의 행동을 평가할 수 있는 지표이다. 상태, 행동, 보상은 강화학습 문제를 정의하는 주..

[인공지능] 비지도학습 - 개념 정리부터 프로세스 및 기법까지

1. 비지도학습이란? - 지도학습에서는 레이블이 모델의 학습 방향을 지도한다. 모델의 예측값과 레이블을 손실함수를 이용해 비교하고, 오차가 감소하는 방향으로 모델의 학습을 유도한다. 비지도학습에서는 데이터에 레이블이 존재하지 않으므로 모델의 학습 방향을 직접 지도할 기준이 없다. 따라서 이를 '비지도학습'이라 부른다. 비지도학습은 레이블이 없을 때 사용하기에 모델이 데이터를 얼마나 잘 학습했는지, 즉 모델의 성능을 지도학습처럼 직접 측정하기 어렵다. 그렇기에 간접적 또는 정석정 평가 지표를 이용해 평가한다. 비지도학습은 레이블이 없어서 명확한 기준으로 분석하기 어렵다는 단점이 있는 동시에 레이블이 있을 때는 볼 수 없었던 데이터의 새로운 특성을 파악할 수 있다는 장점도 있다. 이러한 장점 때문에 데이터 ..

[인공지능] 지도학습 기법 - 선형회귀, 인공 신경망(CNN, RNN, 퍼셉트론) 등

1. 지도학습과 관련된 내용 머신러닝 - 지도학습 개념 정리(과적합, 과소적합, 학습 오차 등) 1. 지도학습이란? - 지도학습의 목표는 학습에 사용하지 않은 데이터를 예측하고 분류하는 것이다. 이를 '일반화'라고 한다. 완벽하게 일반화된 모델은 모든 데이터의 레이블을 정확히 예측한다. maeseok.tistory.com 머신러닝 지도학습 프로세스 - 6단계로 정리 1. 지도학습 프로세스란? - 빅데이터 프로젝트의 일부로, 빅데이터 프로젝트의 데이터 수집 및 이해, 분석 및 모델링, 배포 및 적용 부분을 모델링하는 사람의 관점에서 좀더 자세히 나눈 것으로 maeseok.tistory.com 2. 지도학습 종류 1. 선형회귀 2. 서포트 벡터 머신 3. 의사결정나무 4. k-근접 이웃법 5. 인공 신경망 ..

[IT지식] 웹 프로그래밍과 HTTP 프로토콜 - 웹 클라이언트와 웹 서버

1. 웹 프로그래밍이란? - 간단히 설명하자면, HTTP 프로토콜로 통신하는 클라이언트와 서버를 개발하는 것이다. - 웹 클라이언트와 서버를 같이 개발할 수도 있고, 웹 클라이언트 또는 서버 하나만 개발할 수도 있다. - 보통은 웹 서버를 개발하는 경우가 많아서 파이썬에서는 웹 프레임워크인 '장고'를 자주 사용한다. - 웹 클라이언트 : 보통은 웹 브라우저가 사용되나, 개발자가 직접 개발 가능하다. EX) 웹 브라우저를 사용하여 요청(네이버 등) 리눅스 curl 명령을 사용하여 요청 Telnet을 사용하여 요청 직접 만든 클라이언트로 요청 - 웹 서버 : 주로 웹 프레임워크를 활용하여 웹 서버를 개발한다. EX) 파이썬 - Django, Flask 등 - HTTP 프로토콜 : 클라이언트와 서버 사이에서 ..

IT지식/나머지 2022.11.01

머신러닝 지도학습 프로세스 - 6단계로 정리

1. 지도학습 프로세스란? - 빅데이터 프로젝트의 일부로, 빅데이터 프로젝트의 데이터 수집 및 이해, 분석 및 모델링, 배포 및 적용 부분을 모델링하는 사람의 관점에서 좀더 자세히 나눈 것으로 이해할 수 있다. 2. 지도학습 프로세스의 단계 1. 데이터 수집 2. 데이터셋 정의 3. 지도학습 기법 선택 및 모델 구축 4. 모델 성능 평가 5. 모델 선택 6. 모델 배포 - 피드백 3. 데이터 수집 - 비즈니스 문제 해결, 인구 문제 해결 등의 목표가 설정됐다면 분석 데이터를 확보해야 한다. 기관이라면 데이터를 사유 데이터베이스에 저장할 때가 많으며, 연구자는 연구용 '오픈 데이터'를 사용하기도 한다. 만약 기관에는 소속돼 있지 않지만, 데이터 분석을 원하면 웹 사이트의 데이터를 DB에 구축할 수도 있다...

머신러닝 - 지도학습 개념 정리(과적합, 과소적합, 학습 오차 등)

1. 지도학습이란? - 지도학습의 목표는 학습에 사용하지 않은 데이터를 예측하고 분류하는 것이다. 이를 '일반화'라고 한다. 완벽하게 일반화된 모델은 모든 데이터의 레이블을 정확히 예측한다. 2. 일반화 오차, 학습 오차, 테스트 오차 - 하지만 일반화가 완벽히 이뤄지지 않은 모델도 있다. 일반화 오차(일반화 성능)는 모델이 얼마나 일반화에 실패 혹은 성공했는지를 표현하는 개념이다. 하지만 일반화 오차를 계산하기 위해서는 모든 데이터를 사용해야 하는데, 실제 세상의 데이터는 알려지지 않은 복잡한 상호작용 속에서 생성돼 알기가 매우 힘들다. 그래서 '학습 오차'를 사용한다. 학습 오차는 일반화 오차와 비슷하면서 계산하기도 쉽다. 이와 비슷한 개념으로 '학습 성능'이 있다. 학습 오차는 모델이 학습에 사용한..

빅데이터와 머신러닝 (지도학습, 비지도학습, 강화학습)

1. 빅데이터 직종별 머신러닝의 중요도 1. 데이터 사이언티스트, 데이터 리서처 - 모델을 만드는 것이 주업무인 데이터 사이언티스트와 리서처는 머신러닝 모델을 만들고 발전시키는 데 많은 시간을 할애한다. 따라서 머신러닝 기법과 모델 구축 알고리즘에 대한 지식은 필수다. 또한 머신러닝 프로세스 지식도 갖추고 있어야 한다. 해당 지식이 없으면 좋은 모델을 만들기 어렵고, 새로운 알고리즘을 구성해 실제로 구현할 수 있는 프로그래밍 실력을 갖췄더라도 모델 구축을 둘러싼 전반적인 흐름과 논리를 이해하거나 전개하지 못하게 된다. 2. 데이터 애널리스트 - 데이터 애널리스트는 주로 애널리틱스 도구나 머신러닝 패키지에 내장된 몇 개의 기법 중 하나를 선택해 모델을 만들게 된다. 따라서 모델을 만드는 알고리즘의 내부 작..

빅데이터 전문가는 수학 및 통계학을 알아야 할까?

1. 각 직종별 수학 및 통계학이 필요한 이유 - 데이터 애널리스트는 기성 소프트웨어를 사용하기에 새로운 모델을 개발하는 경우는 흔하지 않다. 따라서 데이터 애널리스트는 기성 소프트웨어가 내장하고 있는 데이터 분석 알고리즘을 공부하고, 내부 기작을 이해하는데 시간을 더 할애해야 한다. 반면 통계학은 공부한 만큼 데이터 애널리스트에게 도움이 된다. 데이터를 활용해 조직의 현재 상황을 진단하는 역할을 맡을 때를 보면, 통계 모델링과 결과 분석 방법, 가설 검정 등의 내용을 바탕으로 경영진에게 자신의 의견을 피력할 수 있는 적극적인 데이터 애널리스트가 되기 위해서 통게학 공부가 필요하다. - 데이터 사이언티스트나 데이터 리서처는 수학, 통계학, 정보 이론의 내용을 숙지하고 있어야 한다. 논문을 이해하거나 논문..

[IT지식] 자료구조와 알고리즘 공부를 해야하는 이유?

1. 자료구조와 알고리즘? - 자료 구조는 데이터의 효율적인 접근과 수정을 위해 데이터를 표현하는 방식으로, 알고리즘의 유용한 재료가 된다. 알고리즘은 어떠한 일을 처리하기 위해 정해진 절차나 방식을 표현한 것이다. 2. 자료구조의 종류 - 자료 구조는 '선형'과 '비선형'으로 구분된다. 선형 자료 구조에는 '리스트', '스택', '큐' 등이 있고, 비선형 자료 구조에는 '트리'와 '그래프' 등이 있다. 자료 구조를 제대로 이해해 적재적소에 적용하면 데이터를 효율적으로 송수신할 수 있고, 편리하게 관리할 수 있다. 많은 알고리즘 중에 자주 공부하는 알고리즘은 '정렬', '탐색'이다. 이 알고리즘은 데이터를 순서에 맞게 정렬하거나 찾는 것이다. 정렬 알고리즘에는 '버블 정렬', '병합 정렬', '퀵 정렬'..

IT지식/나머지 2022.10.24

[IT지식] 빅데이터 직종에서 가장 많이 사용되는 언어는?

1. 각 직종별 프로그래밍 중요도 - 데이터 사이언티스트와 데이터 리서처에게는 코딩 기술 없이는 일의 진행이 불가능할 정도이다. 연구 결과, 모델 이해, 모델 시험 및 발표 등 모두 코드를 쓸 줄 모르면 실험을 시작할 수도 없다. - 상황에 따라 데이터 기획자에게 POC(신기술 도입 전 성공 가능성 실험해보는 것)를 요구할 수도 있다. 이에 프로그래밍 기술을 보유하면 기획 단계에서 더욱 선명한 방향을 제시하고 프로젝트를 성공으로 이끌 수 있다. - 데이터 엔지니어는 프로그래밍을 다른 직종에 비해 제일 잘해야 한다. 데이터 엔지니어의 코드와 소프트웨어가 서비스를 지탱하기 때문이다. 데이터의 효율적인 이동과 저장을 위해 자료구조와 알고리즘에도 익숙해야 한다. 2. 데이터 전문가와 프로그래밍 언어 위 지표와 ..