ML
-
[NLP] 신경망의 활성화 함수들 (Activation Functions of Neural Network) - 2ML/NLP 2020. 3. 13. 23:53
신경망을 구현하려면 먼저 행렬곱을 알고 지나가야 한다. 행렬곱부터 보고 신경망을 직접 구현해보자! 신경망에서의 행렬 곱 먼저 행렬곱 예제를 보자. A = np.array([1,2]) print(A.shape) W = np.array([[1,3,5], [2,4,6]]) print(W.shape) Y = np.dot(A, W) print(Y.shape) Out: (2,) (2, 3) (3,) 다차원 배열의 스칼라곱을 구해주는 np.dot 함수를 사용하면 단번에 결과 Y를 계산할 수 있다. 만약 np.dot 함수를 사용하지 않으면 Y의 원소를 하나씩 따져봐야 한다.(정말 귀찮을 것) 그래서 행렬의 곱으로 한꺼번에 계산해주는 기능은 신경망을 구현할 때 매우 중요하다. 3층 신경망 구현하기 3층 신경망에서 수행되..
-
[NLP] 신경망의 활성화 함수들 (Activation Functions of Neural Network)ML/NLP 2020. 3. 13. 00:19
퍼셉트론의 장단점 퍼셉트론은 장단점이 있다. 퍼셉트론? 관련 게시물> https://dokylee.tistory.com/23?category=379193 장점은 퍼셉트론으로 복잡한 함수도 표현할 수 있다는 것 단점은 가중치를 설정하는 작업은 여전히 사람이 수동으로 한다는 것 신경망은 퍼셉트론의 단점을 해결해준다. 가중치 매개변수의 적절한 값을 데이터로부터 자동으로 학습하는 능력이 신경망의 중요한 성질이다. 퍼셉트론에서 신경망으로 이렇게 생긴 것이 신경망이다. 퍼셉트론이랑 별 차이 없어 보이는데 맞다 차이가 없다고 한다. 근데 개념이 하나 더 추가되긴 한다. 살펴보자. 퍼셉트론 복습을 잠깐 하자면, 퍼셉트론을 수식으로 나타내면 위와 같다고 했다. (이전 포스팅에서) [figure 1]을 더 간결한 형태로 ..
-
[Recommendation] 유사도와 KNN을 활용한 예측값 계산 및 추천 목록 생성ML/Recommendation 2020. 3. 6. 18:46
유사도를 구하는 것까지 구현을 해봤으니, 이제 추천 목록을 생성해보자! 유사도 구현? 관련 포스팅> 유클리디안 ① https://dokylee.tistory.com/26 // MSD, Cosine, Pearson ② https://dokylee.tistory.com/27 유사도와 KNN을 활용한 예측값 계산 및 추천 목록 생성 기법 - 사용자들 간의 유사도를 이용하여 모든 아이템에 대한 예측 평점을 계산하고, 높은 값을 갖는 상위 N개의 추천 목록 생성 - Nearest Neighbors(KNN) 가중치 예측 기법 사용자(또는 아이템)와 유사도가 큰 k개의 사용자(또는 아이템) 벡터를 사용해 가중 평균을 구해서 가중치를 예측 KNN Basic 평점들을 단순히 가중 평균Nk는 유사도가 큰 벡터 상위 k개의..
-
[Recommendation] Collaborative Filtering : MSD, Cosine, Pearson 유사도ML/Recommendation 2020. 3. 6. 18:16
이전 포스팅에서 구현에 사용했던 유클리디안 유사도 이외의 다른 유사도(Similarity)들을 알아보자. 1. 평균제곱차이 유사도 (Mean Squared Difference Similarity) User-based Collaborative Filter - Iuv는 사용자 u와 사용자 v 모두에 의해 평가된 상품의 집합 - |Iuv|는 사용자 u와 사용자 v 모두에 의해 평가된 상품의 수 - 동일한 item에 대해 점수를 매긴 user 사이의 유사도 Item-based Collaborative Filter - Uij는 상품 i와 상품 j 모두를 평가한 사용자의 집합이고 |Uij|는 상품 i와 상품 j 모두를 평가한 사용자의 수 - 동일한 user에 대해 점수가 매겨진 item 사이의 유사도 Mean Sq..
-
[Recommendation] 추천 알고리즘 Python 구현 : Collaborative Filtering w/ 유클리디안 유사도ML/Recommendation 2020. 3. 6. 13:14
넷플릭스를 한창 보는 중인데, 도대체 넷플릭스는 어떤 방식으로 나한테 추천을 해주는 건지가 궁금해졌다. 추천 알고리즘을 좀 알아봐야겠다! 먼저 제일 기초적인 [1. 사용자 간의 유사도를 구하는 방식 + 2. 그 유사도로 추천하는 기본 방식]을 알아보고, 넷플릭스는 그걸 어떻게 사용하는지 알아보자. Popularity, High Rated Based 가장 단순한 방법 → 평점이 높은 것을 추천 모두에게 같은 item 추천하게 됨. ratings = { 'doky':{'Anne_with_an_E':5,'Strange_Things':3,'The_Escape':3}, 'steve':{'Anne_with_an_E':5,'Strange_Things':1,'The_Escape':4}, 'jamie':{'Anne_wi..
-
[NLP] 딥러닝의 기원이 되는 알고리즘 : 퍼셉트론 PerceptronML/NLP 2020. 3. 3. 04:21
퍼셉트론이 뭔데? 퍼셉트론은 딥러닝의 기원이 되는 알고리즘이라고 한다! 그러면 그게 뭘까? 퍼셉트론은 여러 신호를 입력으로 받아 하나의 신호를 출력하는 것을 의미한다. 즉, 입력이 여러 개가 들어가면 퍼셉트론 안에서 쭉쭉 흘러가다가 하나의 출력이 띡! 하고 나오는 거다. 그리고 나오는 출력은 0 (못 흘러간다!) 아니면 1 (잘 흘러간다~) 두 가지로 나뉜다. 퍼셉트론 = " 인풋 여러 개 -> 아웃풋 한 개 " 그래서 그 퍼셉트론이 어떻게 생긴 건데! 퍼셉트론을 눈으로 보자. [Figure 1]은 입력 2개, 출력 1개의 퍼셉트론이다. x1, x2, y 가 입출력 값이라는 건 알겠다. 하지만 w1, w2는 처음 볼 것이다. 이건 바로 가중치라는 거다~! 그림의 원을 뉴런 혹은 노드라고 부르는데, 입력 ..
-
[NLP] Numpy와 Matplotlib 라이브러리 jupyter로 스터디↗ML/NLP 2020. 2. 28. 18:46
티스토리에 직접 포스팅하는 것보다 jupyter로 보는게 더 심플해서 github주소로 포스팅~ URL 누르면 넘어간다 :) Category URL 1.5 Numpy https://github.com/dokylee54/python-NLP-Study/blob/master/1.5%20Numpy.ipynb 1.6 Matplotlib https://github.com/dokylee54/python-NLP-Study/blob/master/1.6%20Matplotlib.ipynb source: 밑바닥부터 시작하는 딥러닝 1 국내도서 저자 : 사이토 고키 / 이복연(개앞맵시)역 출판 : 한빛미디어 2017.01.03 상세보기