1. 선형회귀 - 최소제곱법
2. 평균제곱근오치(RMSE)
3. 경사하강법: 오차가 가장 작은 점, 미분 기울기 사용, 오차를 비교하여 가장 작은 방향으로 이동
4. a, b 편미분: a, b 편미분 후 learning rate 곱해가며 a, b값을 최적의 값(오차가 작은 값)으로 갱신
TensorFlow: tensor를 흘려보내면서(flow) 데이터를 처리하는 라이브러리
텐서를 포함한 계산을 정의하고 실행하는 프레임워크(소프트웨어 프레임워크는 복잡한 문제를 해결하거나 서술하는데 사용되는 기본 개념 구조)
텐서플로우의 텐서를 다차원 어레이의 일반화 혹은 아무 차원이나 가질 수 있는 값들의 집합
텐서를 기존의 numpy array와 같게 생각하기도 하는데 절반은 맞음
텐서플로우 내부의 모든 데이터는 텐서 통해 표현됨
그래프 세션
수식 -> 그래프 만들기 -> 세션에서 실행 -> 결과값
노드와 엣지로 구성됨
노드: operation
엣지: tensor
1. 텐서플로우의 노드 정의
2. sess.run()을 통해 실행
3. 그래프 속에 있는 어떠한 값들의 업데이트, 실행
-> 그래프를 세션을 통해 실행
버전 1.x, 2.x 관련하여,,,
일부 모델은 즉시 실행 활성화 후 오버헤드가 증가한 경우도 있음
텐서의 구성: Rank, Shape, Type
Rank: 차원(텐서의 구조)
Shape: 몇 개의 행과 열을 갖는지
Type: 텐서의 값이 어떤 타입인지
constant: 상수
variable: 변수
placeholder: 먼저 만들고 값을 나중에 지정(ver 1.x)
-> 딕셔너리 형태로, key로 타입 지정하고 value로 값 지정함
Broadcasting
두 행렬 A, B 중 크기가 작은 행렬을 크기가 큰 행렬과 shape이 맞게끔 늘려주는 것을 의미함
shape을 확장하는 것은 가능하지만 축소하는 것은 데이터 손실 때문에 불가능함
tf.global_variables_initializer(): 세션 밖에 있는 값을 세션 안으로 넣어줌
과적합
학습 데이터를 과도하게 학습하여 학습 데이터에 대해서는 정확도가 높지만 실제 데이터나 테스트 데이터에 대해서는 정확도가 낮은 현상
오늘 자 비교과 수업 내용 정리
- 김상모 교수님 인공지능 입문 교육
- 5회차: 선형회귀 이론 및 실습