본문 바로가기

분류 전체보기

(174)
건강기능식품 해외구매대행 상품등록에 대해 01. Thanks Seller 본 내용은 아래의 싸이트로 이동합니다. 해외구매대행 상품 등록 프로그램, 아마존 오플 아이허브 쿠팡직구 상품 스마트스토어, 쿠팡윙 해외구매대행 상품 등록 프로그램, 아마존 오플 아이허브 쿠팡직구 상품 스마트스토어, 쿠팡윙 등록을 편하게해요. decadepivot.com 본 서비스는 건강기능식품 해외구매대행 상품등록 서비스를 제공받으시는 분들을 위한 내용입니다. 유튜브를 보면 너무 쉽게 천만원, 일억 달성했다는 내용으로 온라인 비즈니스를 소개하고 있습니다. 저도 그렇게 입문을 했지만요. 이 글을 보시고 계신 대표님들도 비슷할 것으로 생각이 드네요. 아시듯, 생각처럼 쉽게 되지 않는게 현실입니다. 특히나 고환율 시점에는 해외구매대행은 더욱 어렵게 됩니다. 그럼에도 해외구매대행..
1. 텐서플로 2.x의 이해 텐서플로 2.x는 tf.keras와 같은 하이레벨 API를 사용할 것을 권장하지만 내부의 세부 정보를 더 많이 제어해야 하는 경우 텐서플로 1.x의 일반적인 로우레벨 API를 그대로 유지한다. tf.keras와 텐서플로 2.x에는 몇 가지 큰 차이점이 있다. tf.keras는 순차적 API (Sequential), 함수적 API (Functional), 모델 서브클래싱(Model Subclassing)의 세 가지 프로그래밍 모델과 함께 더 하이레벨 API를 제공한다. 특정 keras.layer를 레고 블록 하나에 비유한다면 학습 모델은 '레고 블록을 쌓는 것'처럼 간단히 생성할 수 있다. 순차적 API 하기에서 보인 Mnis코드를 살펴볼 때 순차적 API를 사용하는 예를 다뤘으므로 다음과 같이 블록을 만..
04. 실습: IMDB를 이용한 감정분석과 초매개변수 튜닝과 AutoML, 출력 예측, 역전파에 대한 실용적 개괄에 대해 영화 리뷰를 이용하여 실습을 진행해 보겠습니다. 간단합니다. 01. 데이타로드 import tensorflow as tf from tensorflow.keras import datasets, layers, models, preprocessing import tensorflow_datasets as tfds max_len = 200 n_words = 10000 dim_embedding = 256 EPOCHS = 20 BATCH_SIZE =500 def load_data(): #load data (X_train, y_train), (X_test, y_test) = datasets.imdb.load_data(num_words=n_words) # Pad sequences with max_len X_train =..
03.텐서플로 2.0에서 Accuracy Rate 올릴 수 있는 방법, 정규화와 배치정규화 비유를 통해 신경망을 훈련하는 방법의 직관을 가져보자. 그래디언트 하강(GD)이라고 알려진 유명한 훈련 기법에 중점을 두자. 그래디언트 하강은 가파른 경사면을 따라 내려가며 도랑을 찾는 것을 목표로 하는 등산객에 비유할 수 있다. 텐서플로는 이런 그래디언트 하강에 대해 계산해 주므로 계산이나 구현을 걱정할 필요가 없다. 신경망은 본질적으로 수천 개 때로는 수백만 개의 매개변수를 가진 여러 미분 가능 함수의 복합체로 구성된다. 각 신경망 계층은 학습 단계에서 관찰된 정확도를 향상하고자 오차를 최소화하는 함수를 계산한다. 뒤에서 역전파를 알아볼 때 최소화라는 것이 여기 있는 간단한 예제보다는 더 복잡하다는 것을 알게 될 것이다. 그러나 여전히 도랑에 도달하려면 경사를 내려간다는 직관은 동일하다. 텐서플로는 ..
02. 딥러닝의 작동원리필기체 숫자 인식 딥러닝의 작동 원리 층에서 입력 데이터가 처리되는 상세 내용은 일련의 숫자로 이루어진 층의 가중치(weight)에 저장되어 있습니다. 기술적으로 말하면 어떤 층에서 일어나는 변환은 그 층의 가중치를 파라미터(parameter)로 가지는 함수로 표현됩니다. 이런 맥락으로 보면 학습은 주어진 입력을 정확한 타깃에 매핑하기 위해 신경망의 모든 층에 있는 가중치 값을 찾는 것을 의미합니다. 하지만 어떤 심층 신경망은 수천만 개의 파라미터를 가지기도 합니다. 이런 경우에 모든 파라미터의 정확한 값을 찾는 것은 어려운 일로 보입니다. 파라미터 하나의 값을 바꾸면 다른 모든 파라미터에 영향을 끼치기 때문입니다. 신경망의 출력을 제어하려면 출력이 기대하는 것보다 얼마나 벗어났는지를 측정해야 합니다. 이는 신경망의 손실..
01. 퍼셉트론에 대한 이해와 활성화 함수 퍼셉트론 퍼셉트론은 입력 특징 또는 간단히 특징이라 불리는 n개의 크기를 갖는 입력 벡터(x1, x2,... xn)가 주어지면 1(예) 또는 0(아니오)을 출력하는 간단한 알고리즘이다. 퍼셉트론은 '아마도'라는 결과를 표현할 수 없다는 점에 유의하자, w와 b를 정의하는 방법을 알고 있다면 '예(1)'또는 '아니오(0)'로 대답할 수 있다. 텐서플로 2.0으로 구현한 퍼셉트론 Sequential() 모델은 신경망 계층의 선형 파이프라인 (스택)이다. 아래의 코드는 784개의 입력 변수(특징이라고도 함)를 취하는 10개의 인공 뉴런을 가진 단일 계층을 정의한다. 망이 '밀집(denes)'돼 싸는 것은 각 계층의 뉴런이 이전 계층에 위치한 모든 뉴런과 완전 연결돼 있고 그다음 계층에 있는 모든 뉴런과도 완전..
01. 심층 컨블루션 신경망(DCNN) 심층 컨볼루션 신경망(DCNN)은 여러 신경망 계층으로 구성합니다. 일반적으로 컨볼루션과 폴링(Pooling)이라는 두 유형의 계층이 번갈아 가며 사용됩니다. 각 필터의 깊이는 왼쪽에서 오른쪽으로 갈수록 깊어진다. 마지막 단계는 일반적으로 하나 이상의 완전 연결 계층으로 구성된다. 컨볼루션 개념에는 3가지 핵심 키워드로 로컬 수용 필요(Receptive Field), 가중치 공유, 풀링(Pooling)이 있다. 완전연결 계층의 문제점과 합성곱층(Convolutional Layer)의 발전 완전연결 계층(fully Connected Layer)을 이용해 MNIST데이터셋을 분류하는 모델을 만들 때, 3차원(세로, 가로, 채널)인 MNIST 데이터(28, 28, 1)를 입력층(Input Layer)에 넣어주..
머신러닝 강좌 #36] 군집화 - GMM(Gaussian Mixture Model) 소개 GMM 군집화는 군집화를 적용하고자 하는 데이터가 여러 개의 가우시안 분포(Gaussian Distribution)를 가진 데이터 집합들이 섞여서 생성된 것이라는 가정하에 군집화를 수행하는 방식입니다. [GMM] Gaussian Mixture Model 개요에 대해 GMM들어가기전! 가우시안 분포란? 도수 분포 곡선이 평균값을 중심으로 좌우 대칭을 이루는 것이다. 모든 측정에서 중복으로 실험했을 경우 결과 값이 완전 똑같이 이루어지는 경 nicola-ml.tistory.com
머신러닝 강좌 #35] 군집화 - K평균 알고리즘과 실루엣 분석 K-평균은 군집화(Clustering)에서 가장 일반적으로 사용되는 알고리즘입니다. K-평균은 군집 중심점(centroid)이라는 특정한 임의의 지점을 선택해 해당 중심에 가장 가까운 포인트들을 선택하는 군집화 기법입니다. 군집 중심점은 선택된 포인트의 평균 지점으로 이동하고 이동된 중심점에서 다시 가까운 포인트를 선택, 다시 중심점을 평균 지점으로 이동하는 프로세스를 반복적으로 수행합니다. 모든 데이터 포인트에서 더이상 중심점의 이동이 없을 경우에 반복을 멈추고 해당 중심점에 속하는 데이터 포인트들을 군집화하는 기법입니다. [K-Means] K-평균 Clustering 알고리즘 이해 K-평균은 군집화(Clustering)에서 가장 일반적으로 사용되는 알고리즘입니다. K-평균은 군집 중심점(centroi..
5. 컨브넷의 학습 시각화하기 딥러닝 모델을 '블랙 박스' 같다고 자주 이야기합니다. 학습된 표현에서 사람이 이해하기 쉬운 형태를 뽑아내거나 제시하기 어렵기 때문입니다. 일부 딥러닝 모델에서는 이 말이 어느정도 맞지만 컨브넷에서는 전혀 아닙니다. 컨브넷의 표현은 시각적인 개념을 학습한 것이기 때문에 시각화하기 아주 좋습니다. 2013년부터 이런 표현들을 시각화하고 해석하는 다양한 기법들이 개발되었습니다. 여기서 모두를 다룰 수는 없지만 가장 사용이 편하고 유용한 세 가지 기법을 다루겠습니다. 컨브넷 중간 층의 출력(중간 층에 있는 활성화)을 시각화하기 : 연속된 컨브넷층이 입력을 어떻게 변형시키는지 이해하고 개별적인 컨브넷 필터의 의미를 파악하는 데 도움이 됩니다. 컨브넷 필터를 시각화하기 : 컨브넷의 필터가 찾으려는 시각적인 패턴과..
4.사전 훈련된 컨브넷 사용하기 작은 이미지 데이터셋에 딥러닝을 적용하는 일반적이고 매우 효과적인 방법은 사전 훈련된 네트워크를 사용하는 것입니다. 사전 훈련된 네트워크는 일반적으로 대규모 이미지 분류 문제를 위해 대량의 데이터셋에서 미리 훈련되어 저장된 네트워크입니다. 원본 데이터셋이 충분히 크고 일반적이라면 사전 훈련된 네트워크에 의해 학습된 특성의 계층 구조는 실제 세상에 대한 일반적인 모델로 효율적인 역할을 할 수 있습니다. 새로운 문제가 원래 작업과 완전히 다른 클래스에 대한 것이더라도 이런 특성은 많은 컴퓨터 비전 문제에 유용합니다. 예를 들어 (대부분 동물이나 생활 용품으로 이루어진) ImageNet 데이터셋에 네트워크를 훈련합니다. 그다음 이 네트워크를 이미지에서 가구 아이템을 식별하는 것 같은 다른 용도로 사용할 수 있..
3. 신경망의 엔진 : 확율적 경사 하강법 미분 가능한 함수가 주어지면 이론적으로 이 함수의 최솟값을 해석적으로 구할 수 있습니다. 함수의 최솟값은 변화율이 0인 지점입니다. 신경망에 적용하면 가장 작은 손실 함수의 값을 만드는 가중치의 조합을 해석적으로 찾는 것을 의미합니다. [생략] 앞의 알고리즘 네 단계를 응용하여 랜덤한 배치 데이터에서 현재 손실 값을 토대로 하여 조금씩 파라미터를 수정하는 방법이 있습니다. 미분 가능한 함수를 가지고 있으므로 그래디언트를 계산하여 단계 4를 효율적으로 구현할 수 있습니다. 그래디언트의 반대 방향으로 가중치를 업데이트하면 손실이 매번 조금씩 감소할 수 있습니다. 1. 훈련 샘플 x와 이에 상응하는 타깃 y의 배치를 추출합니다. 2. x를 사용하여 네트워크를 실행하고(정방향 패스(forward pass) 단계..
2. 신경망의 엔진 : 그래디언트 기반 최적화 MNIST예제에서 신경망의 각 층은 입력 데이터를 다음과 같이 변환합니다. output = relu(dot(W, input)+b) 이 식에서 텐서 W와 b는 층의 속성처럼 볼 수 있습니다. 가중치(weight)또는 훈련되는 파라미터라고 부릅니다. 이런 가중치에는 훈련 데이터를 신경망에 노출시켜서 학습된 정보가 담겨 있습니다. 초기에는 가중치 행렬이 작은 난수로 채워져 있습니다(무작위 초기화(random initialiaztion)단계라고 부릅니다.) 물론 W와 b가 난수일 떄 relu(dot(W, input)+b)가 유용한 어떤 표현을 만들 것이라고 기대할 수는 없습니다. 즉 의미 없는 표현이 만들어집니다. 하지만 다음단계에서부터는 피드백 신호에 기초하여 가중치가 점진적으로 조정될 섯입니다. 이런 점진적..
Tensorflow 2.x : 최고의 강의 1. Constant and Variable Tensors [바로가기] 2. Making Tensors with APIs [바로가기] 3. Tensor Operations [바로가기]
머신러닝 강좌 #34] 차원 축소 : SVD(Singular Value Decomposition), NMF(Non-Negative Matrix Factorization) SVD SVD역시 PCA와 유사한 행렬 분해 기법을 이용합니다. PCA의 경우 정방행렬(즉, 열의 크기가 같은 행렬)만을 고유벡터로 분해할 수 있지만, SVD는 정방행렬뿐만 아니라 행과 열의 크기가 다른 행렬에도 적용할 수 있습니다. 사이킷런의 TruncatedSVD 클래스는 사이파이의 svds와 같이 Truncated SVD연산을 수행해 원본 행렬을 분해한 U, sigma, Vt행렬을 반환하지는 않습니다. 사이킷런의 TruncatedSVD 클래스는 PCA 클래스와 유사하게 fit()와 transform()을 호출해 원본 데이터를 몇 개의 주요 컴포넌트로 차원을 축소해 변환합니다. from sklearn.decomposition import TruncatedSVD, PCA from sklearn.data..
머신러닝 강좌 #33] 차원 축소 : LDA(Linear Discriminant Analysis) LDA는 선형 판별 분석법으로 불리며, PCA와 매우 유사합니다. 특징은 LDA는 지도학습의 분류(Classification)에서 사용하기 쉽도록 개별 클래스를 분별할 수 있는 기준을 최대한 유지하면서 차원을 축소합니다. PCA는 입력 데이터의 변동성의 가장 큰 축을 찾았지만, LDA는 입력 데이터의 결정 값 클래스를 최대한으로 분리할 수 있는 축을 찾습니다. LDA는 특정 공간상에서 클래스 분리를 최대화하는 축을 찾기 위해 클래스 간 분산과 클래스 내부 분산의 비율을 최대화하는 방식으로 차원을 축소합니다. 즉, 클래스 간 분산은 최대한 크게 가져가고, 클래스 내부의 분산을 최대한 작게 가져가는 방식입니다. IRIS 데이터를 이용하여 LDA를 수행해보겠습니다. from sklearn.discriminan..