목록Computer & Data/Artificial Intelligence (17)
이야기박스

들어가기에 앞서 오랜만에 글을 작성하게 되었습니다. 한발 늦은 감이 있지만, 얼마 전까지 ChatGPT로 한참 시끄러웠었죠. 특히 GTP4는 업무에 도움이 될 수준으로 답변을 주곤 했습니다. 그래서 오늘은 openAI에서 제공하는 API로 재미 삼아 예제 프로그램을 만들어보고자 합니다. 오늘 작성된 코드는 Git repo에서도 확인할 수 있습니다. API Key 획득 openAI에 회원 가입을 하여 API key 획득을 해야 합니다. 아쉽게도 2023년 4월 기준으로 gpt3.5 까지만 API로 지원을 하고 있습니다. gpt4 API는 별도 구매가 필요한 것 같아요. (https://openai.com/pricing) OpenAI 사이트에서 개인 정보 수정에 들어가면, 이런식으로 API Key 생성해 두..
○ 강화학습의 해결책1. Dynamic Programmin: 계산을 통하여 2. Monte Carlo: 끝까지 진행 --> 가치 함수 업데이트 3. Temporal Difference Learning: 시간차 ( 한 수 앞의 상황을 보는 것 ) ○ DP- Policy Iteration : 정책 반복, 갱신- Value Iteration : 값 반복, 갱신 ○ Monte Carlo- 함수 갱신 방법 - 새로운 함수 - 알파 = 학습율 , 오차율 --> 오차율을 두는 이유 : 이 정답이 지금까지 데이터로서는 정답이지만, 그것이 전역적으로 진짜 정답이라는 보장이 없기 때문 - 행동 선택 정책1) Random Policy2) Greedy Policy3) e-Greedy Policy==> e 값을 통하여 rand..
핵심- 상태(state) : 현재 상황을 나타내는 정보- 보상(reward) : 행동의 좋고 나쁨을 알려주는 정보 - 상호작용 과정 ==> 행동을 선택하는 기준 : 가치함수 (value function) ○ 가치 함수 (value function): 지금 상태에서 미래에 받을 것이라 기대하는 보상의 합 - 보상은 어떻게 정할것인가?==> 앞으로 받을 보상을 싹 더함--> 감가율 적용 - 하지만 아직 보상은 받지 않음. 어떻게 미래에 받을 보상을 알 것인가?==> "가치함수" ○ 큐 함수 (Q function): 지금 상태에서 특정 행동을 취했을 때, 미래에 받을 것이라 기대하는 보상의 합--> value function + (action) ○ 정책 (Policy): 각 상태에서 에이전트가 어떻게 행동할 ..
Clustering(Grouping) 의 대표주자 중 하나 아래 예로 들면 ○ C1, C2의 중심점을 찾는 것--> = 각각의 클러스터의 중심점을 찾는 것(k개의 클러스터) ○ 과정1) Random C1, C2 초기화2) Assign to Clusters (클러스터 배정)3) Center Change ----> 2)로 반복 ○ 리뷰- 최적의 솔루션이라는 보장이 없음- 공간 구분하는 방식은 '선'이 된다. (왜냐하면, 중심점으로부터 거리를 측정하여 구분하기 때문) - 쟁점 : k의 값은 어떻게 정할 것인가?--> Elbow method--> 경험적으로 elbow 근처가 좋다고 알려져 있음.
종류 : CONV , POOL, FC Layers - CONV : 필터를 이용하는 것* stride : 필터 이동 범위 - Pooling Layer : 조건을 주고 그에 맞는 값 구하기--> 예로, MAX pooling, MIN pooling 등 - FC Layers : 종합적으로 사용 ( 수업 못나가서 잘 모름 ㅜㅜ )
신경망이 깊어진다면? Deep Learning ○ 구성입력층 (1개) --> 은닉(히든) 층 (n-2개) --> 출력 층(1개) - 층이 많기 때문에, 파라미터 관리가 어렵다 - 멀티 출력이 가능 (출력 뉴런이 n개가 될 수 있음) - Forwarding processing: 신경망은 한 방향으로 진행된다. ○ Backpropagation: Error Back Propagation - 방법1. 한단계, 한단계 다 미분--> 미분의 chain-Rule 2. 에러에 기여한 만큼 거꾸로 곱하여 뒤로 보냄--> 뒤로 갈 수록 에러가 작아짐--> 이 에러를 가지고 처리 ==> 층이 너무 깊으면, 에러가 너무 희미해져서 Deep Learning이 힘듬 ○ 예제1) Forward Passx = [0.05 , 0.10..
Logistic Regression의 확장판!생물학에서 영감! - Logistic Unit을 사용하여 Modeling 한다 - bias는 보통 1로 주어짐- 계산이 이루어지는 과정 ( * g : sigmoid func , ~> activation function 이라고도 함 ) ○ Neural Network: 뉴런에서 나온 신호가 다른 뉴런에게 들어가는 경우--> Multi Layer Perception ( 다중 레이어 네트워크 ) - Deep : 입력으로부터 층 까지의 깊이가 얼마인가? ○ 예제- AND - OR - Negation - NOT (x1 OR x2) - XOR , XNOR 의 경우는 Multi Layer가 필요함--> XNOR의 예
Logistic Regression: Logistic Func을 사용하여, Classification 하는 것 ==> Sigmoid Function 사용 이유 : Gradient Descent -> 미분가능하기 때문 ==> 수식==> 출력이 0~1로 제한됨 ==> ( * 신경망에서도 쓰임 ) ○ Decision Boundary: 경계선 - 선형 분류 - 비선형 분류 - 멀티 클래스의 경우==> One vs Rest 전략--> 하나의 클래스 vs 나머지 클래스 ○ Overfitting 문제- Linear Regression - Logistic Regression==> overfit의 경우, 고차방정식 필요함 , 신경망에서 쓰기도 함 - Overfitting 줄이기1) feature 줄이기2) Regular..