[자료구조] 12.고급정렬
12장 고급 정렬
가중치(weight) 업데이트에 사용되는 경사하강법에 대해 정리하며 변수가 벡터인 경우의 기울기를 나타내는 gradient vector를 다룰 것이다.
목적함수 최대화 (경사상승법)
함숫값을 높이기 위해서는 미분값이 양수이든 음수이든 현재의 위치에서 미분값을 더하면 된다. 이는 목적함수를 최대화할 때 사용한다.
목적함수 최소화 (경사하강법)
함숫값을 줄이기 위해서는 미분값이 양수이든 음수이든 현재의 위치에서 미분값을 빼주면 된다. 이는 목적함수를 최소화할 때 사용한다.
Loss함수를 최소화하기 위해서는 경사하강법을 이용하여 weight를 갱신할 수 있다. 경사하강법은 weight의 기울기를 이용하여 함숫값이 낮아지는 방향으로 weight를 이동시켜 극값에 도달할 때까지 반복하는 것이다. 경사하강법을 통해 도달한 극값은 항상 최솟값을 보장하지는 않는다.
미분은 함수 f의 주어진 점 (x, f(x))에서의 접선의 기울기이다.
편미분(partial differenciation)
변수가 벡터인 다변량 함수의 경우 편미분(partial differentiation)을 사용하여 기울기를 계산한다.
Gradient Vector
변수 d개에 대해 각각 편미분 한 것을 한 번에 표시한다.
저 역삼각형 기호는 nabla라고 하며 gradient vector임을 나타내는 기호이다. f’(x) 대신 nabla를 사용하여 변수 x=(x1, x2, ···, xd)를 동시에 update할 수 있다.
경사하강법은 미분가능하고 볼록(convex)한 함수에 대해서는 학습률과 학습횟수가 적절하다면 최소점으로 수렴한다는 것이 보장되어있다. 선형함수도 weight 즉 beta에 대해서 볼록함수를 가지기 때문에 최소점을 잘 찾아간다. 하지만 비선형함수나 목적식이 볼록하지 않은(non-convex) 경우 수렴이 보장되지 않는다.
이를 보완하기 위한 방법이 확률적 경사하강법이다. 확률적 경사하강법은 모든데이터를 한 번에 업데이트하지 않고 한개 또는 일부를 활용하여 업데이트하는 것을 말한다. 이때 데이터 일부를 미니배치라 한다.
첫번째는 데이터의 일부를 사용하기 때문에 연산 자원 측면에서 효율적이다. 하드웨어의 제한을 극복하고 병렬 계산이 가능하도록 하기 때문이다. 두번째는 매번 다른 미니 배치를 사용하므로 목적식이 다르다. 따라서 매번 다른 곡선을 가지게 되는데 이것은 gradient가 한 번 0에 도달하더라도 다른 미니배치가 다른 곡선을 통해 계속적으로 update할 수 있기 때문에 local minimum을 지날 수 있다.
참고: https://amber-chaeeunk.tistory.com/71 [[경사하강법] 미분 , 경사하강법 , gradient vector , 확률적 경사하강법 ( SGD )]
12장 고급 정렬
Dijkstra 최단 경로 알고리즘
8장 트리
Abstract
선택 정렬 알고리즘
연결된 구조
큐에 대한 정의
스택의 개념과 동작 원리
1. 리스트 & 집합 & 배열
1. 파이썬 이란?
1. 교과서 정리
1. 자료구조와 알고리즘
논문 정리 논문 요약
[우분투] 파이썬 가상환경 만들고 사용하기
[우분투] 파이썬 가상환경 만들고 사용하기 - venv 사용하여 가상환경 생성
1. 개념
활동내용
활동내용
활동내용
- hhttps://dacon.io/competitions/official/236050/overview/description
활동내용
외국계 기업의 정확한 뜻
활동내용
1. 다항함수(Polynomial Function)
활동내용
출처: https://gaussian37.github.io/ml-sklearn-saving-model/
1. 경사도벡터(Gradient Vector)
[참고] - https://blog.est.ai/2020/03/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EB%AA%A8%EB%8D%B8-%EC%95%95%EC%B6%95-%EB%B0%A9%EB%B2%95%EB%A1%A0%EA%B3%BC-bert-%EC%95%95%E...
- https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=631
머신러닝 스터디 팀4 활동 보고서
1. 영유아 행동인식을 통한 발달평가 XXX - https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=631
https://www.itworld.co.kr/insight/109825 [ITWorld - 머신러닝 라이브러리, 텐서플로우의 이해] https://tensorflow.blog/%EC%BC%80%EB%9D%BC%EC%8A%A4-%EB%94%A5%EB%9F%AC%EB%8B...
http://matrix.skku.ac.kr/math4ai-intro/W13/
랜덤(random) 모듈
1팀. 주식시세 차익 알림
차원축소와 매니폴드 학습
인공지능 기초 2022-2 Project Proposer
추천 알고리즘의 기본 협업 필터링(Collaborative Filtering) • Memory Based Approach User-based Filtering I...
자소서 지원동기 효과적인 작성법
분명히 로컬에서 삭제한 파일인데 원격에 반영되지 않는 경우가 있다. git status로 했을 때 삭제 됐다고 뜨는데 add를 해도 안먹고 commit을 해도 반영이 안되는 것이다…
1. 결정 트리
[공통] 마크다운 markdown 작성법
Git 설치 & 환경설정
첫 블로그 생성입니다. 앞으로 잘 부탁드려요.