본문 바로가기

Linear

퍼셉트론이 마주친 장벽 【1】Deep Learning 시작하기_딥러닝이 알고 싶다! 퍼셉트론이 마주친 장벽 퍼셉트론은 출력 값이 1 또는 0이므로 선형 분류(linear classifier) 모델이라고 볼 수 있다. 선형 분류는 평면 상에 선을 긋고 그 선을 기준으로 A와 B로 분류하는 것을 말한다. 위의 그림에서 보다시피 2차원 ○과 □를 선으로 분류할 수 있는 문제를 선형 문제라고 한다. 그렇다면 다음 문제를 함께 생각해보자. 위 그림처럼 종이 위에 검은 점과 흰 점이 놓여 있다면 선 하나만을 이용해서 두 종류의 점을 분류할 수 있을까? 아무리 선을 그려보아도 선 하나만으로는 검은 점과 흰 점을 분류할 수 없을 것이다. 이것이 퍼셉트론의 한계로 많이 등장하는 XOR(exclusive OR) 문제다. XOR문제는 논리회로에 .. 더보기
[머신러닝] 은닉층(Hidden Layer)에서 활성화 함수를 선형 함수(Linear function)로 사용하지 않는 이유 - 은닉층에 활성화 함수를 선형 함수로 사용해도 될까? 학습시킬 neural network의 은닉층(Hidden layer)에서 활성화 함수(activation function)를 선형 함수로 사용해도 되는지, 사용하면 안 되는지 궁금하실 수 있는데요, 바로 말씀드리자면, 선형 함수(linear function)를 사용하면 은닉층의 의미가 사라지게 됩니다. 왜냐하면, 은닉층에서 선형 함수를 활성화 함수로 사용해서 학습시키는 구조를 은닉층이 없는 Input layer, Ouput layer로만 똑같이 구현시킬 수 있기 때문입니다. 즉, 은닉층 없이도 동일한 학습을 시킬 수 있다는 것입니다. 따라서 이러한 경우 오히려 은닉층을 없애고 모델을 간단하게 만들어 학습시키는게 더 효율적일 수 있습니다. 따라서 은닉.. 더보기
[머신러닝] 사이킷런(Scikit-learn) : 간단한 선형모델 만들기 & 가중치, 절편 구하기 사이킷런(Scikit-learn) 라이브러리를 이용하여 간단한 선형모델을 만들어 볼 수 있는데요, 아래 코드를 보면서 차근차근 살펴보도록 하겠습니다. 1. 필요한 라이브러리 설치 먼저, 선형모델을 만들기 위한 라이브러리와 데이터에 사용할 난수를 발생시킬 라이브러리를 설치해줍니다. import mglearn from sklearn.linear_model import LinearRegression from sklearn.model_selection import train_test_split 2. 학습시킬 sample data 만들기 그다음, 학습시킬 sample data를 만들어주어야 하는데요, 위에서 import 한 mglearn 라이브러리를 이용하여 sample data를 만들어주겠습니다. X, y = .. 더보기