일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- k 디지털 후기
- 추천프로젝트
- AI 국비지원
- 유니오르
- 인생책
- 인터뷰
- 멋사 국비지원과정
- 비전공자 코딩교육
- 비전공자 코딩
- til
- 리뷰
- 영화추천시스템
- 영화AI추천
- k 디지털
- 이렇게 그녀를 잃었다
- 멋쟁이사자처럼 k-digital
- AI 코딩
- 가브리엘마르케스
- 멋쟁이사자처럼 전액국비지원
- 비전공자 멋쟁이사자처럼
- 민음사
- 홍명희 임꺽정
- 멋사 k 디지털
- 멋사 AI 교육
- 멋쟁이사자처럼
- 멋쟁이사자처럼 k 디지털
- 멋사 전액국비지원교육
- 멋사 AI
- 문학동네
- 인생책짧은글
- Today
- Total
글쟁이, 코딩한다
0104/ K_digital 19일차 / SQL, AI 입문 본문
0.
한 해 지나서 돌아왔음!
SQL
1) JOIN
INNER JOIN A ON B 교집합
LEFT JOIN A ON B 메인 테이블 중심으로 집합
#WHERE문 앞에 온다 #FROM 테이블에 JOIN 테이블을 가져다 붙이는 개념
#셀프 조인 : 작업 테이블의 복제본이 있다고 상정하고 같은 테이블에 대해 JOIN 작업 / 활용상황이 그리 많지는 않다
2) GROUP BY
GROUP BY한 열을 기준으로 묶어줌(pandas의 pivot table 참고)
#HAVING : GROUP BY한 결과물을 바탕으로 조건 등을 불러줌(GROUP BY한 결과물만 다룬다)(조건문 WHERE와 흡사)
##GROUP BY 전에 미리 WHERE로 조건을 찾아주면 연산 과정 축소 => 하지만 WHERE는 집계함수 연산을 할 수 없음
#agg function(집계 함수) : SUM 합계 / AVG 평균 / COUNT 개수 / MAX/MIN 최대값/최소값 / ROUND 반올림
3) SUBQUERY
( )안 또 다른 조건문을 추가로 적용 (제한적인 정보로 데이터에 접근할 때)
#FROM, WHERE문 등 다양하게 사용할 수 있다
인공지능(AI, Artificial Intelligence)
=자신을 둘러싼 환경을 지각/인식하고
=적절한 행동을 취해
=목표를 성취할 가능성을 높이는 기계(의 지능)
#완성될 수 있는 "기술"보다는 하나의 "패러다임" #머신러닝은 AI를 발전시키는 유능한 방법 중 하나
"인공지능을 적용했다"는 말을 확인할 때는
=> 어떤 데이터를 활용했는가 (정형데이터, 비정형데이터...)
=> 어떤 모델을 만들었나 (분류 기준, 추세 예측, 인공신경망...)
=> 모델을 적용해 어떤 기능을 만들었나 (알파고, 스마트스피커...)
#최근에는 모델->기능의 순서가 아닌, 고객 니즈를 반영한 기술->모델 개발 순서가 부각.
(ex. 스마트스피커에 어떤 기능을 추가해야하는가? -> 대중의 니즈를 파악해 기능을 확정 -> 기능을 구현할 모델 개발)
*모델
다루고 있는 데이터의 그물망을 가장 잘 표현할 수 있는 어떤 설명 방법 #algorithm = model = function
학습(learning)이란. 데이터를 가장 잘 설명하는 모델을 찾는 과정 : 옷을 입어보는 과정
#학습의 과정
- 초기 모델에 데이터 삽입
- 결과 평가
- 수정 1 ) 모델의 모양과 위치에 영향을 주는, 바뀔 수 있는 모든 변수들 : parameter(세타) 변경
2 ) 다른 모델을 쓴다. 함수, 알고리즘 등등 (모델 선택 자동화는 연구중)
=> 실제 정답과 예측 결과 사이 오차를 줄여나간다.
머신러닝
데이터를 부어주면 부어줄수록, 점점 나아지는 AI
명시적으로 프로그래밍하지 않고도, 컴퓨터가 데이터로부터 학습할 수 있는 능력을 준다 / 아서 사무엘 경
작업 T를 기준 P로 측정했을 때, 경험 E로 나아졌다면, 프로그램은 작업 T에 있어 기준 P로 봤을 때, 경험 E로 "배웠다"(원본 문장은 더 길고 정확하다) / 톰 미첼
지도학습(Supervised Learning, 교사학습)
#데이터를 정답과 함께 준다
#머신은 받아들인 데이터와 연속성을 가진 정답을 예측한다 #좋은 함수 하나를 추정해내는 것이 주요목적
output 형태에 따라
-분류(classification, 분류모델)와 회귀(regression, 정확한 예측값)
비지도학습(Unsupervised Learning)
#데이터(X데이터)만 준다
#받아들인 데이터에서 숨은 규칙성을 찾는다
-군집(clustering, 비슷한 형태로 묶기)과 차원 축소(dimensionality reduction, 열 줄이기)
강화학습(Reinforcement Learning)
#sequential(연달아 일어나는) decision making
#상태를 인식->행동의 집합->보상을 학습->행동 선택의 정책 찾기 #아직 게임 AI 등을 제외하고는 널리 쓰이지 않음.
#모델 찾기 최적화 과정
어떤 기준?
Model's Capacity(모델의 포용력, 모델이 품어낼 수 있는 복잡함)이 극대화되면 => Overfitting(제시 데이터에 너무 꼭 맞춰진 상태)이 발생한다 => Generalization Error(일반화 에러, 새로운 데이터에 대한 에러)가 늘어난다
! 제시 데이터와 에러가 적다고 다는 아니다: 모델은 새로운 데이터들에 대한 예측을 위해 만든다
새로운 데이터들에게도 좋은 결과를 내려면?
==>
1 교차 검증(Cross Validation, CV) : 데이터를 training(학습), validation(최적화/비교), test(평가)로 나눠 검사
2 K-Fold CV : 후보 모델간 비교 및 선택을 위해 쓴다
3 Training 데이터를 많이 확보하는 것도 좋은 방법
...
오늘의 (다음) 공부할 것
NoSQL
SQL 내지는 RDBMS가 아닌 데이터들
#특징 : 관계형 모델을 쓰지 않는다 따라서 열, 데이터타입 등이 없다=> 데이터들을 때려붓는다
#종류 : 키-밸류(Redis), 도큐먼트(MongoDB), 와이드컬럼, 그래프 등
#약점 : sorting, join, grouping, range query, index 등을 활용할 수 없다
#주의 : NoSQL과 RDB는 대립이 아니다. 서로를 보완하는 관계로 쓸 수 있음.
장바구니 분석
오늘의 공부 방향
AI 분야에서는 모델을 만드는 것, 보다는 모델 판별 능력을 기르자. 이어 모델을 엮어 기능을 개발하는데 활용해보자.
(AI를 적용하는 웹 콘텐츠 기업 사례 찾기-가능하다면 모델도)
오늘의 되돌아보기
1) 연휴 기간, 두 가지 이상 공부하자는 약속은 지켰다. 하지만, 프로그래밍 관련 공부는 논외였다는 것이 문제.
2) 아침에 좀 더 정신을 차려보자.
'나는 코딩도 한다 > TIL' 카테고리의 다른 글
0106 / k_digital 21일차 / ML이론기초(지도학습) (2) | 2021.01.07 |
---|---|
0105 / K_digital 20일차 / ML이론기초(지도학습) (0) | 2021.01.05 |
1231 / K_digital 18일차 / DB, SQL (3) | 2020.12.31 |
1230 / K_digital 17일차 / 세미프로젝트(마무리) (2) | 2020.12.30 |
1229 / K_digital 16일차 / 세미프로젝트 (0) | 2020.12.30 |