광주인공지능사관학교 pre-course_정리4

손예진·2022년 7월 17일
0

ai 이론에 대해서 마저 작성하겠다.

  1. 최적화 문제
    : 오차의 합계를 알려주는 식을 우린 어떤 목적을 가지고 있다라고 하여 목적함수라고 부른다. 목적함수는 각각의 학습 데이터마다 실제결괏값(y)과 예측한 결괏값(y햇)의 오차를 제곱해서 그것을 모두 더하고 그것에 1/2를 곱해줘야한다. 이 목적 함숫값이 가장 작아지는 파라미터들을 찾는 것이 목적.
    :⭐왜 제곱을 해야하는지?
    음수와 양수가 더해지면서 0에 가까운 결과를 출력하여 이모델이 가장 최적의 모델로 채택되는 불상사를 막기 위해서. 그래서 음수가 발생하지 않도록 제곱을 시켜줌. 더불어 오차값이 클 때는 더 크게 인식되는 효과도 함께 얻을 수 있다.
    :⭐ 1/2는 왜 곱해주는지?
    미분과 관련, 결과로 나온 식을 간단한 모양으로 만들기 위해서
    이렇게 중요한 최적화 문제에 막 상수를 붙여도 괜찮을까?
    최소가 되는 지점은 변함이 없고 그래프의 모양이 옆으로 넓어지거나 좁아지는 것만 변하므로 별 상관 없음. 즉 우리가 구하고자 하는 최솟값의 위치는 변하지 않는다.

  2. 경사하강법
    : 목적함수의 값을 최소화 시키기 위해 마치 경사를 내려가듯 최소값을 찾는 기법
    : 간격을 좁혀서 기울기를 구하는 작업은 미분

    :도함수의 부호 반대 방향으로 밀어 옮기게 되면 자연스럽게 최솟값 쪽으로 움직인다는 뜻
    이렇게 되면 우리가 구하고자 하는 매개변수들을 일일이 비교하며 구하지 않고, 자동 갱신할 수 있다는 의미.
    :위 식은 경사하강법 식이다. 학습률은 에타라는 그리스 문자를 사용하며, 양의 정수를 사용함
    :학습률에 따라 최솟값에 도달하기까지 갱신해야 하는 횟수가 달라지며, 흔히 수렴되는 속도가 달라진다 라고 표현함.
    :학습률의 값을 너무 크게 잡게 되면 오히려 최솟값에서 멀어지는 '발산'이 일어나고, 반대로 너무 작게 잡으면 최솟값에 수렴하기 까지 많은 시간이 걸리게 됨. 즉 학습률은 정답이 없으며 앞의 머신러닝의 실험적 성격이 드러나는 순간임.


    :위 목적함수(손실함수)에는 하나의 매개변수가 아닌 두개의 매개변수가 존재함. 이러한 경우 편미분의 개념을 도입해야함.
    :머신러닝에 나오는 최적화 문제에는 매개변수의 개수만큼 변수가 있으므로 목적함수가 이러한 다변수 함수의 형태로 등장
    :매개변수가 여러 개인 경우, 각각의 매개변수마다 기울기도 다르고 움직임도 다름
    :따라서 다변수 함수를 미분할 때는 미분할 변수에만 주목하고 다른 변수는 모두 상수로 취급해서 계산하는 미분법을 사용할 것이다.
    :미분할 변수에만 주목하고 다른 변수는 모두 상수로 취급이라는 것을 다시 말하면 변수의 값이 고정된다라고 할 수 있다.
    :편미분을 진행할 땐 미분 연산자에 있는 기호가 δ\delta 연산자로 바뀜

    함수가 겹쳐있을 때 사용할 수 있는게 합성함수의 미분

    함수안에 함수 조합하는거 가능. 이게 합성함수

    각각의 변수로 편미분한 결과끼리 곱하기만 하면 됨.
    이렇게 머신러닝에서는 복잡한 함수를 미분해야하는 경우가 많다. 그런 복잡한 함수를 미분할 때는 해당 함수가 여러 개의 단순한 함수로 구성된 합성함수라고 간주하고 계산을 진행하면 비교적 쉽게 미분을 진행할 수 있게 된다.

  3. 갱신식을 위한 목적함수의 매개변수 편미분 과정
    :u는 손실함수, v는 예측값을 내는 함수(우리가 만들기 원하는 함수)



    시그마 기호와 미분 연산자의 위치를 바꿈. 우선 u를 v로 미분

    앞에서 목적함수에 임의로 상수 1/2를 붙였던거 결과로 나온 식을 간단히 만들기 위함. 이번엔 v를 세타_0 로 미분

    세타_1로 미분한것도 해보자

    최종적으로 매개변수 세타_0와 세타_1의 갱신식은 이렇게 정의할 수 있다. 이식을 통해 알맞은 일차함수 y^\hat{y}을 발견할 수 있는 것.

    갱신식을 이렇게 나타낼 수 있음. 즉 매개변수가 늘어나도 결국 같은 방법으로 갱신식을 도출할 수 있으며 이렇게 다항식의차수를 늘린 함수를 사용하는 것을 다항식 회귀라고 한다.


    위는 일반화한 식
    이렇게 하나의 식으로 정리해서 쓰면 이후 파이썬에서 구현할 때 무척 편리함
    이러한 형식의 경사하강법은 모든 학습데이터의 갯수만큼 반복해서 계산해야함. 그래서 시간과 컴퓨팅 파워 굉장히 많이 소요된다는게 단점
    이후 다루는 딥러닝에서는 경사하강법의 단점 보완함.

profile
딥러닝 공부중 🦴

0개의 댓글