전체 글 38

[인공지능 강의 리뷰] 14 - 프로그래밍 과제 . 신경망 사고방식을 이용한 로지스틱 회귀 모델 만들기3 (고양이 사진 분류기)

Exercise 7 - predict 이전의 구현했던 함수 , optimize()는 학습된 w 및 b를 출력합니다. 학습된 w와 b를 사용하여 데이터 세트 X에 대한 예측치를 예측할 수 있습니다. predict() 함수를 구현해겠습니다, predict() 함수를 구현하는데는 아래의 두 가지 단계가 있습니다. 1번째 단계 --> 𝑌̂-hat =𝐴=𝜎(𝑤𝑇𝑋+𝑏) 예측치 계산하기 2번째 단계 --> A(Y-hat)의 값을 0(A 0.5인 경우)로 변환하고, 예측을 벡터 Y_prediction에 저장합니다. 원하는 경우 for 루프에서 if/else 문을 사용할 수 있습니다. A는 시그모이드 함수(sigmoid function)의 값이기 때문에 , 저번에 구현해준 sigmoid() 함수를 불러와 정의해 주면 ..

[인공지능 강의 리뷰] 13 - 프로그래밍 과제 . 신경망 사고방식을 이용한 로지스틱 회귀 모델 만들기2 (고양이 사진 분류기)

3 - General Architecture of the learning algorithm 각각의 픽셀의 값들은 (RGB 색깔의 세기 값을 나타내는) 0~255 값이 적혀있습니다. 기계 학습의 일반적인 전처리 단계 중 하나는, 데이터 세트를 중앙에 배치하고 표준화하는 것입니다. 원래는 각 예제에서 전체 행렬(배열)의 평균을 뺀 다음 각 예제를 전체 행렬(배열)의 표준 편차로 나눕니다. 하지만 저희가 훈련하는 사진 데이터 세트의 경우, 데이터 세트의 모든 행을 255(픽셀 채널의 최댓값)로 나누는 것이 더 간단하고 편리하며 거의 잘 작동합니다. 기억해야 할 점 : 새 데이터 세트를 사전 처리하는 일반적인 단계는 다음과 같습니다. -문제의 크기와 모양을 파악합니다(m_train, m_test, num_px,..

[인공지능 강의 리뷰] 12 - 프로그래밍 과제 . 신경망 사고방식을 이용한 로지스틱 회귀 모델 만들기 (고양이 사진 분류기)

*** 교수님의 주의사항 * 만약 coursera 수강생이라면, 프로그래밍 과제는 최대한 스스로의 힘으로 해보고 도저히 막히는 부분이나 이해가 가지 않은 부분만을 남의 도움을 받기를 추천한다고 합니다. 이번 시간에는, 2주 차 때 배운 내용을 총동원하여 고양이 사진 분류기를 만드는 과제를 수행해 봅시다. 모델은 jupyter notebook이라는 인공지능을 위한 파이썬 계발 툴을 활용하여 만듭니다. 바로 시작해 봅시다. 신경망 사고방식을 이용한 로지스틱 회귀 모델(고양이 사진 분류기)을 만들어 보는 과제이며, 이 과제를 통해서, 딥러닝(Deep learning)에 대한 직관력(intuitions)과 신경망 사고방식(Neural Network mindset)을 구현하는 방법을 알 수 있다고 합니다. * 주..

[인공지능 강의 리뷰] 11 - 신경망 기초 테스트 (Neural Network Basic Quiz)

이번 시간에는 2주 차 때 배운 내용을 총정리하는 신경망 기초 퀴즈를 풀어봅시다 문제는 1 ~ 10번으로 이루어져 있습니다. 1번부터 하나하나 풀어가며, 그동안 배운 지식을 테스트해 봅시다. --> 저와 같이 풀어보시면서, 신경망 기초 지식을 테스트해 보세요! 1번 문제 : 1번 정답 : 로지스틱 회귀(Logistic Regression)를 하며 수도 없이 반복한 내용입니다. 선형 함수 계산 후, 활성화 함수에 대입하기에 답은 " 3 " 번입니다 --> 정답 스포 방지를 위해, 글자색을 하얀색으로 설정하였습니다. 더블 클릭이나 클릭을 해서 정답을 확인하세요 2번 문제 : 2번 정답: 손실 함수(loss function)에 대한 문제입니다. (손실 함수의 값을 시그 로이드 함수에 대입하는 과정) log의 ..

[인공지능 강의 리뷰] 10 - 브로드캐스팅(Broadcating in Python)

브로드캐스팅(Broadcasting)은 파이썬 라이브러리 NumPy가 산술 연산 중에 다른 모양의 배열을 처리하는 방법입니다. 만약, 배열 a(3)와 b(1)를 곱한다고 생각해 봅시다. 배열의 개수가 다르기에, 원래라면 연산할 수 없습니다. 하지만 브로드캐스팅(BroadCasting)을 통하여, 2가 복사되어 곱해져 result가 계산되었습니다. (실제로는 복사되지 않았습니다. 계산상으로만 복사된 것입니다.) 브로드 캐스팅(BroadCasting)을 사용한 아래와 그러지 않은 위를 비교해 보면, 아래쪽이 훨씬 더 효율적인 메모리 사용이 가능합니다. 위와 같이, 행이 아닌 열에도 브로드캐스팅(BroadCasting)은 활용됩니다. 하지만, 파이썬에서 배열(행렬)을 계산할 때 브로드 캐스팅(BoardCast..

[인공지능 강의 리뷰] 9 - 벡터화(Vectorization)

​이번 시간에는 프로그래밍할 때, 알고리즘 성능을 저하시키는 for 구문을 대체하는 벡터화(Vectorization)에 대해 알아봅시다. 그림을 참고해 주세요! 만약 벡터화(Vectorizing)를 사용하지 않고, 프로그래밍해야 한다면 (파이썬 기준) for 반복문을 통해서, 총합을 구해야 합니다 하지만, 벡터화(Vectorizing)를 통해서, 마치 벡터의 형태로 연산한다면, for 구문을 쓰지 않고도 총합을 계산할 수 있습니다. --> ( for 구문은 불필요한 연산과정이 많이 들어가기에 , 알고리즘의 성능을 저하시킵니다.) 여기서 np.dot은 numpy라는 파이썬 라이브러리를 통한 내장 함수로써, w , x를 벡터화 해주는 역할을 수행합니다. 이렇게 벡터의 형태로 계산하게 되면, 병렬적 연산을 하..

[인공지능 강의 리뷰] 8 - 로지스틱 회귀 경사 하강법(Logistic Regression Gradient Descent)

Welcome back. In this video, we'll talk about how to compute derivatives for you to implement gradient descent for logistic regression 이번 시간에는, 로지스틱 회귀(Logistic regression)에서 경사 하강법(Gradient descent)을 적용시키기 위해 도함수(Derivates)를 계산하는 방법에 대해 이야기해 봅시다. That is, the key equations you need in order to implement gradient descent for logistic regression. 도함수는 로지스틱 회귀(Logistic Regression)에서 경사 하강법을 (Gradi..