[네이버 부스트 캠프] AI-Tech-re - week1(3)
학습기록 - 3
오늘 한 일
- 필수 과제 5
- AI-math 7, 8 강, Quiz 7, 8
- 피어) Quiz 1,2,3 / AI-math 1,2,3,4 / 필수 과제 4,5
1. 강의 복습 내용
- 통계학
-
통계적 모델링 : 적절한 확률분포를 찾기 위해 데이터를 기반으로 적절한 가정 위에서 확률분포를 추정하는 것
하지만 유한한 데이터 내에서 정확한 확률 분포 찾기 불가능, 즉, 근사적으로 확률 분포를추정해야한다. -
데이터가 특정 확률 분포를 따른다고 가정 (선험적, prior)하고 그리고 그 분포를 결정하는모수(parameter)를 추정하는 방법을 모수적(parameter) 방법론이라 함.
-
데이터에 따라 확률 분포(모델)의 구조, 모수가 유연하게 바뀌는 것은 비모수(nonparameter) 방법론이라 함. -> 기계학습의 방법론
-
최대가능도 추정법 (maximum likelihood estimation MLE) : 이론적으로 가장 가능성이높은 모수를 추정
데이터 집합 X가 독립적으로 추출되면 로그 가능도를 이용해 연산량을 최적화하여 추정할 수있도록 한다.
최대가능도를 이용해서 여러 확률 분포 내의 최대를 만족하는 모수를 찾는다.
딥러닝 내에서도 소프트맥스 연산에 의해 생성된 가중치 값을 모수라 하고 원핫벡터 정답레이블을 관찰데이터로 이용할 때, 소프트맥스 벡터의 로그가능도를 최적화할 수 있다. -
2. 고민 내용, 결과 (과제 수행 과정, 결과물 정리)
필수 과제 5 - 모스 코드
-
코드 수행 과정
- 각 함수의 요구 사항대로 입력값에 따른 결과값 출력
- main 함수 내에서 논리 구조대로 함수 구조화
- encoding, decoding 함수 구조화
main: while True: user_input = input("Input your message(H - Help, 0 - Exit): ") if user_input == '0': # 0 누를 시에 종료 break if is_help_command(user_input) == True: # get_help_message() if is_validated_english_sentence(user_input): print(encoding_sentence(user_input.upper())) # 질문 elif is_validated_morse_code(user_input): print(decoding_sentence(user_input)) else: print("Wrong Input") continue
- 문자열에서 띄어쓰기를 제거, 추가, 특수문자 제거, 추가 방법들 -> string.replace(str, str)
dict에서 key를 이용한 values 출력 or values를 이용한 key 출력
-> values를 구하고 싶은 경우
for key, values in dict.items(): if values == str: print(values)
-
결과 : 테스트 케이스 통과
main에서 입력값을 처리해줬는데, 함수 내에서 입력값이 통과가 안될 때가 생김
3. 피어세션 정리
- 강의 요약 발표 진행
- 내용: 벡터, 행렬, 경사하강법 순한맛, 매운맛
- 과제 코드 리뷰 및 질문
- 필수 과제: 4, 5
- 5번 과제 진행 시 걸렸던 문제 질문, 테스트 케이스는 각 함수마다 따로 돌게 되어있다는 것을 알게됨.
- 필수 퀴즈: 1, 2, 3
- 필수 과제: 4, 5
- 스터디 주제 정하기
- 코딩테스트 준비(문제풀이, 알고리즘)
- ‘피어세션이 피어(peer)씁니다’ 이벤트 발표
4. 회고
- 과제 수행 시 테스트 케이스를 제대로 이해하지 않아 시간이 많이 소요되었다.
빠른 시간 내에 문제 해결을 위해 꼼꼼하게 보는 것도 중요한 것을 느꼈다.