분류 전체보기 썸네일형 리스트형 [#E14] 머신러닝 팁과 용어 해석 해당 포스트에 나온 모든 상세한 내용은 여기를 참고하세요. 1.reduce_mean reduce_mean 함수는 주어진 데이터의 함수를 도출합니다. 자료형에 영향을 받으므로 주의해야합니다. 1234567891011tf.reduce_mean([1, 2], axis=0).eval() //output1 tf.reduce_mean([1., 2.], axis=0).eval() //output1.5 //t.eval() -> tf.get_default_session().run(t)cs 위의 코드에서 int 형의 평균은 소수점이 누락되는데 비해 float 형의 평균은 소수점이 포함됩니다. eval()은 작업(세션)을 실행시키는 함수입니다. 1.Axis axis는 축을 의미합니다. 이는 아래의 이미지를 참고하세요.red.. [#E13] DROP OUT 이란? DROP OUT은 데이터 전처리 방법 [#E9 : 학습 데이터 전처리(PreProcessing)] 과 비슷하게 학습이 잘 작동하도록 도와주는 모델입니다. 이것은 다음 사진과 같이 작동합니다. 레이어를 깊게 쌓으면 그림 (a)와 같이 NN (Neural Network)는 복잡한 뉴런을 가지게 됩니다. DROP OUT은 고의로 랜덤한 뉴런을 누락시킨 후 학습을 시작합니다. 일단 학습이 끝나면 다시 (a) 그대로 학습하여 효율성 및 정확도를 높여줄 수 있습니다. DROP OUT은 다음과 같이 구현합니다. 12345678910111213141516171819202122dropout_rate = tf.placeholder("float") W1 = tf.get_variable("W1", shape=[784, 512.. [#E12] W 변수 (Weights) 초기화 방법 지금까지 사용한 Weight 초기화 방법은 다음과 같습니다. 1234567//1W = tf.Variable(tf.random_normal([y_output]), name="weight") //2W = tf.Variable(tf.random_normal([x_input, y_output]), name='weight') ...Colored by Color Scriptercs 더욱 좋은 성능을 내기 위해 다음과 같은 초기화 방법을 사용할 수 있습니다. 1. Xavier Initializer 12345//import numpy as np//W = np.random.randn(x_input, y_output)/np.sqrt(x_input) W = tf.get_variable("W", shape=[x_input, .. [#E11] Vanishing Gradient와 ReLU 학습에서 레이어를 아주 깊게 쌓은 경우, 다음과 같이 Vanishing Gradient 문제가 나타날 수 있습니다. 이것은 Sigmoid 함수의 특성으로 일어나는 문제입니다. Sigmoid는 항상 1 이하의 값을 가지고 있으므로, 다음과 같이 레이어들을 쌓으면서 값이 계속해서 작아지게 됩니다. 123456layer1 = tf.sigmoid(tf.matmul(X, W1) + b1)layer2 = tf.sigmoid(tf.matmul(layer1, W2) + b2)layer3 = tf.sigmoid(tf.matmul(layer2, W3) + b3)layer4 = tf.sigmoid(tf.matmul(layer3, W4) + b4)layer5 = tf.sigmoid(tf.matmul(layer4, W5) + .. [#E10] 딥러닝의 기초 XOR 문제란? DEEP LEARNING은 기본적으로 NEURAL NETWORK(NN)를 기반으로 하며, 머신러닝을 더욱 완전하게 만드는 방법으로 볼 수 있습니다. 아래의 그림은 x1과 x2 값에 따른 y의 값을 유동적으로 나타내고 있습니다. 그림과 같이 OR, AND 그래프에서는 데이터를 분류할 수 있는 Linear 라인을 정의할 수 있습니다. 그러나 XOR 그래프에서는 불가능합니다. 이러한 XOR 문제를 해결하기 위한 방법이 바로 딥러닝이며, BackPropagation 알고리즘을 사용합니다. BackPropagation (역전파) 자세한 강의는 링크를 참고하세요. Deep Learning은 기본적으로 여러개의 Layer를 쌓은 후 학습하여, 실제 Y값과 예측 Y값의 차이 ( Cost )를 구하고 다시 처음 과정으로.. [#E9] 학습 데이터 전처리 (PreProcessing) 학습 데이터를 다루다보면 원하는 결과가 아닌 NAN이 출력되는 경우가 있습니다. 이것의 원인은 다양한데, 일반적으로 세 가지가 있습니다. 1. Learning Rate가 너무 크거나 작게 설정된 경우 1optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.01)cs Solution : 특별한 방법 없이 다양한 Rate 값을 시도해야 합니다. 2. Over Fitting Solution : 데이터 Regularization, 더 많은 데이터, 특징이 되는 값 제거 Regularization의 경우 Cost 함수 + Term으로 구성됩니다. Term은 다음과 같습니다. 1234567891011//TERM = REGULARIZATION STRENGTH .. [#B7 DEPRECATED] TouchImageView.java TouchImageView.java는 표시된 이미지에 핀치줌 기능을 추가합니다. 이는 레이아웃에서 이미지뷰 대신 사용합니다. SOURCE CODE 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411.. [#C3 SWIFT3] SNS 같은 FEED를 만드는 방법 IOS에서 FEED 스크린을 구현하기 위해 CollectionView 컴포넌트를 이용할 수 있습니다. 우선, Main.storyboard에 CollectionView 컴포넌트를 추가합니다. 추가된 CollectionView의 하위 객체 CustomCell에 Custom Class를 지정한 후, 라벨을 추가하고 이를 Outlet 연결합니다. ( CustomCell 객체 = Feed 객체 ) CustomCell.swift 123456class CustomCell:UICollectionViewCell{ @IBOutlet weak var nameText: UILabel! } Colored by Color Scriptercs 이제 ViewController에서 CollectionView를 Outlet 연결하고, .. 이전 1 2 3 4 5 다음