코세라 (Coursera) 앤드류 응 교수님의 인공지능 강의 1번째 코스, 신경망 및 딥러닝 코스 2주 차 강의 리뷰입니다.
![](https://blog.kakaocdn.net/dn/BX1EG/btrAZd4L7wS/F5SN4PUcYmKtlCITkpWYpK/img.png)
이번 시간에는
확률에 기반하여 , 기계가 정답과 정답이 아닌 것을 분류하는 방식인
로지스틱 회귀(Logistic Regression)에 대해 알아봅시다.
![](https://blog.kakaocdn.net/dn/GaWWh/btrA32HGK08/CyfcNsp1846zhW6NrclgNk/img.png)
음... 이번에도 수업자료만을 보고는 무슨 말인지 모르겠는데....
로지스틱 회귀(Logistic Regression)에 대한 기초는 알아야 수업내용을 이해할 수 있을 것 같습니다.
쉽게 설명해 주신 블로그분이 계셔서, 아래의 링크를 참고해 주세요!
![](https://blog.kakaocdn.net/dn/ZGff6/btrA3rOuGtC/t5kHm9KIFzjfhdlqmss0w1/img.png)
![](https://blog.kakaocdn.net/dn/bUPj1m/btrARGfqbN2/jS9CBDael9iIXEQkfk2H41/img.png)
글을 참고한 한 후, 위 자료의 부분부분을 자세히 살펴봅시다!
로지스틱 회귀(logistic regression)란,
지도 학습 문제에서 출력값 Y가 0 or 1 일 때 사용하는 학습 알고리즘입니다.
따라서 이진 분류 문제에서도 로지스틱 회귀(logistic Regression)를 사용하여 해결할 수 있습니다
![](https://blog.kakaocdn.net/dn/cpUM6d/btrAZeCAHSF/ujTJRR9yymKl6teeVRX3yk/img.png)
입력 데이터(input feature vetor) X는 우리가 학습시키려는 입력 이미지입니다.
이미지를 입력해 주면, 학습 알고리즘을 통해 결과(고양이 사진인지 아닌지)를 예측할 것입니다.
여기서 학습 알고리즘을 통해,
y = 1에 대한 추정치, 즉 입력하는 X가 고양이 사진일 확률을 y-hat이라 합시다.
----------------> 학생 A의 질문 : Y-hat은 고양이 사진일 확률 p(y | 1) )이라고 했는데,
확률 값을 통해서 어떻게 고양이 사진인지 아닌지(1 or 0)를 판단하는 거죠?
답변: 위에 로지스틱 회귀에 대해 설명해놓은 블로그를 참고하시면서 들어주세요
쉽게 설명하자면,
Y-hat은 확률이기에 0~1 사이의 값이지만,
0 <= Y-hat <0.5를 0으로, 0.5 <= Y-hat <= 1 은 1로 분류하기 때문에, 결국에는 0,1로 나오게 됩니다.
--> 아래의 그림 참조
![](https://blog.kakaocdn.net/dn/Ap0OV/btrAYmHBYmL/eQWtjhJQsPDrwQUN7QK7KK/img.png)
로지스틱 회귀(logistic Regression)를 통해,
빨간 선을 기준으로 자료를 2개로 분류할 수 있는데,
이와 같은 W.t와 b를 수정함으로써 분류 기준이 되는 적절한 선을 그리는 것이 우리의 목표입니다.
![](https://blog.kakaocdn.net/dn/pfpRZ/btrA3tldmqJ/juaIi7slGAaoyxQDd37u4k/img.png)
로지스틱 회귀의 매개 변수는 W , B이며 W는 x와 같은 차원 벡터이고 B는 쉴 수 값입니다.
--> 딥러닝(Deep learning)에서는, W를 가중치(Weight) , B를 편향(Bias)이라고 부르게 됩니다.
![](https://blog.kakaocdn.net/dn/Thhj6/btrAREWd5nQ/Or8jQek4UQSiJRdK0dt7RK/img.png)
하지만, 매개변수 W, b를 그냥 써서 계산한다면 계산이 되지 않을 겁니다.
차원 벡터 w을 전치 (행렬에서 세로와 가로를 바꾸는 것 -> 벡터를 행 벡터로 보기 때문에 가능) 시켜서,
마치 선형 함수의 한 종류인 것처럼,
(W.t*X+B)로 바꾸어 계산해야 합니다. --> 차원 벡터 w를 전치시킴으로써, 열 행렬의 형태로 만들어야 합니다.
이건 선형 회귀 방식에서 자주 사용하는 방식입니다.
![](https://blog.kakaocdn.net/dn/bK1sUF/btrARFnhJfv/pTKgiXouQQJRkKARzC5yeK/img.png)
Y-hat이 확률 값이기 때문에,
로지스틱 회귀가 이진 분류 문제에( 0 과 1 ) 아주 적합한 알고리즘은 아닙니다.
왜냐하면 Y-hat은 0~1의 값이어야 하는데,
(W.t*X+B)은 음수도 나오고 아주 큰 숫자도 나올 수 있기 때문에 0~1 값이 나오도록 맞춰주기가 어렵기 때문입니다.
0~1의 값이 나오도록 하기 위해,
저희는 로지스틱 회귀에 사용되는 함수로 시그모이드 함수(sigmoid function)를 쓸 것입니다.
![](https://blog.kakaocdn.net/dn/FbTDG/btrAVt1NwCw/FydaA1QFlkUjVNjZg0Kkyk/img.png)
시그모이드 함수(sigmoid function)에서
y 값의 범위는 무조건 0~1 사이이며, 아주 큰 양수는 1에 가깝고, 아주 작은 음수는 0에 가까워집니다.
또한, y 축에 가로선을 그어서
0.5를 기준으로 이보다 작으면 0(고양이 사진이다), 크면 1(고양이 사진이다)로 판별할 것입니다.
결론)
로지스틱 회귀(logistic Regression)를 구현할 때 해야 할 일은 매개변수 W와 b를 변경해 나아가며,
Y-hat (추정치)이 Y를 가장 정확하게 예측하는 최적의 W, b 값을 찾는 것이며,
최적의 W , b 값을 찾기 위해서는 매개 변수에 따라 달라지는 Y -hat의 정확도를 측정해야 해야 합니다.
다음 시간에는 y와 y-hat의 차이를 통해서 , 정확도를 측정하는
로지스틱 비용 함수(logistic Regression cost function)에 대해 알아봅시다.
이 내용들은 모두 coursera에서 앤드루 응 교수님의 강의를 요약정리 및 쉽게 재 풀이하여 적은 글이며,
내용에는 생략되거나 변형된 부분이 많으니 직접 강의를 들어보시는 걸 추천드립니다!
이 글은 상업적 목적이 아닌, 한국에서 인공지능을 배우고 싶은 분들을 위해 적은 교육적 목적에서 작성하였습니다.
'코세라 앤드류 응 AI 강의 리뷰' 카테고리의 다른 글
[인공지능 강의 리뷰] 7 - 도함수(Derivative)와 계산 그래프 (Computation Gragh) (0) | 2022.05.09 |
---|---|
[인공지능 강의 리뷰] 6 - 경사 하강법(Gradient Descent) (0) | 2022.05.09 |
[인공지능 강의 리뷰] 5 - 로지스틱 비용 함수(Logistic Regression Cost function) (0) | 2022.05.02 |
[인공지능 강의 리뷰] 3 - 이진 분류(Binary Classification) 와 로지스틱 회귀(Logistic Regression) (0) | 2022.05.02 |
[인공지능 강의 리뷰] 2 - 지도 학습(Supervised Learning with Neural Network) (0) | 2022.04.19 |
[인공지능 강의 리뷰] 1 - 신경망(Neural Network) (0) | 2022.04.19 |
kmooc & coursera - 앤드류 응 교수님의 인공지능 강의 무료 수강 (0) | 2022.04.19 |