오늘 할 일
코세라 week1 끝내기
리액트 섹션1 까지
리액트 스터디
경찰 사격 데이터셋 실습
머신러닝 model, cost function 해석, 정리
내일 할 일
연구 인력 활용 보고서 작성
코세라 week2 1강 듣기
리액트 섹션1, 2
피팅룸 기능 구현 구체화(함수 부 라이브러리 찾아보기.)
머신러닝 gradient descent 해석, 정리
자전거 수요 조사 데이터셋 분석
-----------------------------------------------------------------------------
이번엔 Θ0과 Θ0을 비용함수의 시각화를 위해 만든 것으로 보겠다.
기울기 하강 : 임의의 함수 j의 최소값을 찾기 위해 사용.
기울기 하강은 사실 더 많은 함수에 적용이 가능함. j(Θ0, Θ1)뿐만 아니라,
J(Θ0, Θ1, Θ2, Θ3, Θ4 ... Θn)에도 적용될 수 있다는 소리.
J(Θ0, Θ1)를 최소화
1.Θ0, Θ1의 초기값을 유추. 일반적으로 Θ0 = Θ1 = 0으로 설정해 놓고, 조금씩 바꿔간다.
-> J(Θ0, Θ1)을 조금이라도 줄이기 위해.
등고선으로 본다면, 봉우리에서 어디로 갔을 때, 가장 적은 걸음으로 가장 빨리 내려갈 수 있는지
유추(기울기) => 지역적 최적값을 도출. 시작점에 따라 달라진다. 이 거리를 그래프로 나타낼 수 있음.
Θj := Θj - (α * (δ/δΘj) * J(Θ0, Θ1))
α : 훈련 비율(learning rate). α번 빼라는 의미. α가 크다면, 기울기 하강도 클 것.
:=(assignment) : 할당받는 것을 의미. 할당기호
a := a + 1. a에 a + 1을 할당받는다.
(α * (δ/δΘj) * J(Θ0, Θ1)) : 미분계수
계산할 때, Θ0, Θ1을 동시에 계산한다.
옳은 계산
temp0 := Θ0 - α * (δ/δΘj) * J(Θ0, Θ1)
temp1 := Θ1 - α * (δ/δΘj) * J(Θ0, Θ1)
Θ0 := temp0
Θ1 := temp1
틀린 계산
temp0 := Θ0 - α * (δ/δΘj) * J(Θ0, Θ1)
Θ0 := temp0
temp1 := Θ1 - α * (δ/δΘj) * J(Θ0, Θ1)
Θ1 := temp1
----------------------------------------------------------------------------------
(δ/δΘj)을 기울기로 보는 J(Θ1)그래프에서, 기울기가 양수일 때, Θ1는 양수
Θ1 := Θ1 - α(양수)
기울기가 음수일 때, Θ1는 음수
Θ1 := Θ1 - α(음수)
Θ1에 음수값을 뺀다 => Θ값이 증가한다. => 최솟값으로 가까워진다.
Θ는 α에 큰 영향을 받는다. α가 클 수록 기울기가 커진다.
지역 최솟값에 가까워질 수록, 기울기 변화가 더 작아진다. 즉, 더 적은 거리를 이동한다.
------------------------------------------------------------------------------------
볼록 함수 : 전역적 최적값만을 가지고 지역적 최적값은 가지지 않는다.
전역적 최솟값이 가설과 일치할 때, 자료와 잘 맞아 떨어진다.
batch : 집단 기울기 하강. 모든 훈련예제들의 전체 집단을 나타냄. 합계를 계산하기 떄문.
------------------------------------------------------------------------------------
--save ~ : ~ 를 package.json 파일에 자동으로 저장해 달라는 의미
import React from 'react'를 모든 컴포넌트에
함수형 컴포넌트 : 함수로 이루어져 있음. 한 함수가 JSX 형태를 반환
클래스 컴포넌트 : 내부적인 정보를 저장할 때 사용.
우리가 생성한 모든 리액트 컴포넌트, 클래스 기반 컴포넌트는 render 메소드로 정의되어야 함.
함수형 컴포넌트로 시작했다가 세부적 기능들을 추가할 때 클래스 컴포넌트로 바꿔주는걸 권장.
state : 사전 형태로 바뀔 수 있는 변수.
props : DOM에서 자식으로 전달할 때 사용. (redux를 사용하면 전역변수로 넘겨주므로
사용할 필요가 없음.)