android animation의 종류로는 기본적으로 3가지가 있다.

1. frame animation

2. tween animation (view animation)

3. property animation

.

.

.

.

.

.

.

.

frame animation

frame animation은 xml화일에 <animation-list> 와 <item>을 이용하여 만든다. 이를 ImageView에 src에 연결한다. 코드상에서는 ImageView를 통해서 AnimationDrawable obj형태로 받아오게된다.

res/drawable에 xml 형태로 저장된다.

참조) android docs AnimationDrawable https://developer.android.com/reference/android/graphics/drawable/AnimationDrawable

예시코드)

<!-- Animation frames are wheel0.png through wheel5.png
     files inside the res/drawable/ folder -->
 <animation-list android:id="@+id/selected" android:oneshot="false">
    <item android:drawable="@drawable/wheel0" android:duration="50" />
    <item android:drawable="@drawable/wheel1" android:duration="50" />
    <item android:drawable="@drawable/wheel2" android:duration="50" />
    <item android:drawable="@drawable/wheel3" android:duration="50" />
    <item android:drawable="@drawable/wheel4" android:duration="50" />
    <item android:drawable="@drawable/wheel5" android:duration="50" />
 </animation-list>
// Load the ImageView that will host the animation and
 // set its background to our AnimationDrawable XML resource.
 ImageView img = (ImageView)findViewById(R.id.spinning_wheel_image);
 img.setBackgroundResource(R.drawable.spin_animation);

 // Get the background, which has been compiled to an AnimationDrawable object.
 AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();

 // Start the animation (looped playback by default).
 frameAnimation.start();

.

.

.

.

.

.

.

.

tween animation (view animation)

  • view의 display형태만 바꾸는 방법이며 실제로 view의 위치는 바뀌지 않는다. 사용자가 이동된 위치에서 터치를 해도 반응하지 않는다. 
  • animation은 translate, scale, rotate, alpha 4가지가 있다.
  • xml 형태로 만든 animation은 res/anim 폴더안에 넣는다.
  • tween animation은 view, drawable (ShapeDrawable, BitmapDrawable), layout에 적용가능하다.
  • tween animation은 내부적으로 Matrix, Transformation class를 사용한다. 
  • AnimationUtils의 loadAnimation()를 이용해서 xml형태의 Animation을 가져온다.

tween animation에서 만들때 사용가능한 animation tag들은 아래와 같다.

image
image

.

.

image
image
image
image

.

.

<set>을 이용하여 여러가지 animation을 동시에 구현할수 있다.

image
image
image
image

.

.

일반적으로 사용되는 위의 4가지 animation이 아닌 다른 움직임을 구현하기 위해서는 custom animation을 이용한다. 이는 Animation을 extends하고 필요한 method를 override해서 구현한다.

image

.

.

xml형태로 만들어진 tween animation은 layoutAnimation에 적용가능하다. layoutAnimation을 이용하면 layout내의 view들이 처음 등장할때 animation대로 등장하게된다.

https://youtu.be/qMQar9UNqjU?t=2311

image

.

.

activity간 전환에 적용되는 animation도 tween animation (view animation) 이다.

app 내에서 모든 window의 생성, 사라짐에 사용되는 animation를 지정할때는 theme에서 사용될 view animation을 지정해 주면된다.

image
image

단하나 주의점은 animation의 작동시간을 지정해도 0.25초안에 마무리 되게 된다. 

image
image

.

.

fragment 전환간 animation에도 tween animation (view animation)이 사용된다.

image
image

.

.

추가적으로 ViewSwitcher (TextSwitcher, ImageSwitcher), ViewFlipper는 tween animation (view animation)을 이용한다. 맨 아래부분 참조

.

.

.

.

.

.

.

.

property animation

ValueAnimator, ObjectAnimator를 이용하는 방법이 있다. 기본적으로 ObjectAnimator는 ValueAnimator를 기반으로 extends 해서 만들어졌다.

ValueAnimator는 특정범위에안에서 변화된 값을 만들어낸다. 이때 addUpdateListener를 통해 연결된 listener에서 onAnimationUpdate() 안에서 변화되는 값에 접근할수 있다.

Animator, ObjectAnimator를 xml로 만드는 경우에는 res/animator에 만든다.

아래는 code에서 ValueAnimator를 이용한 경우

image

.

아래는 xml를 이용한 ValueAnimator 경우

image
image

.

ObjectAnimator를 code에서 이용하는 법과 xml을 통해 이용하는 방법을 보여주고 있다.

image
image

.

.

animator 를 이용한 animation을 AnimatorSet으로 묶어서 순서를 가지고 수행하거나 동시에 수행하는 방법을 설명하고 있다.

image
image

.

.

Animator를 이용해서 layout내의 view가 등장하거나 사라지거나 다른 view가 등장 사라짐에따라 위치가 변경되는 경우에 사용되는 animation을 만들수 있으며 이를 LayoutTransition이라고 한다.

image

.

.

Animator를 이용한 animation인데 기존의 경우 ValueAnimator가 특정범위에안에서 변화된 값을 만들어내고 addUpdateListener를 통해 연결된 listener에서 onAnimationUpdate() 안에서 변화되는 값을 통해 view의 속성값을 변화시켰다. 아래의 경우도 같은 효과를 가진다. 다만 ViewPropertyAnimator (support library를 사용한겨우 ViewPropertyAnimatorCompat)를 생성하기위해 View.animate (또는 support 라이브러리의 경우 ViewCompat.animate) 에 속성값을 animate할 view를 arg로 받게 된다.

image
image

.

.

RecyclerView내의 item이 생성되거나 사라질때 애니메이션을 이용할수 있는데 이때에도 Animator를 기반으로한 property animation을 사용한다. 

참조 영상 ) RecyclerView 내의 item 생성소멸시 animation 사용예 https://youtu.be/8sQmuafiaAQ?t=220  

image
image

.

.

AdapterViewAnimator, AdapterViewFlipper, StackView는 property animator를 기반으로 하고 있다.

.

.

.

.

.

이름이 ViewAnimator이지만 기본적으로 ViewSwitcher (TextSwitcher, ImageSwitcher), ViewFlipper는 tween animation (view animation)을 이용한다.

AdapterViewAnimator, AdapterViewFlipper, StackView는 property animator를 기반으로 하고 있다.

실제 사용 예시)

https://www.coursera.org/learn/machine-learning/lecture/X8JoQ/reconstruction-from-compressed-representationhttps://www.coursera.org/learn/machine-learning/lecture/czmip/unsupervised-learning-introduction

Unsupervised Learning: Introduction

image

unsupervised learning은 labeled된 데이터가 없으므로 그냥 x 값만 있다. 


https://www.coursera.org/learn/machine-learning/lecture/93VPG/k-means-algorithm

K-Means Algorithm

image
image

k mean algorithm에서 k는 총그룹 갯수이다. 뮤 는 centroid를 말한다. x 에 가장 가가운 centroid index를 c라고 한다. 즉 x i 는 i 번째 데이터를 말하며 이에 가장 가까운 centroid index를 c i 라고 한다. 위 알고리즘의 과정을 설명하면 우선 m개의 data set에서 요소 하나씩 가져온다 이는 x i 이며 이 요소에 가장 가까운 cluster centroid index를 c i 에 저장한다. 그다음 단계는 총 갯수 k 인  mu 를 처음부터 순환하며 본인의 index와 같은 x 들의 평균값을 구하고 이를 새로운 mu 값으로 갱신한다. 즉 cluster centroid 위치를 갱신하는 것이다.


https://www.coursera.org/learn/machine-learning/lecture/G6QWt/optimization-objective

K-Means Optimization Objective

image
image


https://www.coursera.org/learn/machine-learning/lecture/drcBh/random-initialization

K-Means Random Initialization

image

k means 알고리즘을 사용하는데에는 최초 시작 centroids를 지정해 주어야 하는데 training set에서 무작위로 k 숫자 만큼 선택하는 것을 추천한다.

image


https://www.coursera.org/learn/machine-learning/lecture/Ks0E9/choosing-the-number-of-clusters

K-Means Choosing the Number of Clusters

사실 cluster ( 그룹 )의 숫자는 개발자가 지정해 주어야 한다. 자동으로 지정할수 있는 방법은 없다.

image

cluster의 숫자에 따른 cost 값을 볼때 왼쪽 그래프와 같이 급격한 변화가 있다면 그 지점의 값만큼의 cluster 를 만든다. 오른쪽과 그래프와 같이 특별한 변화가 없는경우 개발자가 적당히 선택해야 한다. 


https://www.coursera.org/learn/machine-learning/lecture/0EJ6A/motivation-i-data-compression

Motivation I: Data Compression

image

2d dimensions의 data를 1d 바꾸어서 단순화하는 작업이다. 녹색선을 z1이라고 보고 이에 대응하는 각 데이터를 이용한다.

image

3차원의 데이터를 2차원에 project해서 새로운 데이터를 만들고 이를 이용한다. 3차원의 데이터를 z1, z2 벡터로 이루어진 평면에 project해서 얻은 데이터를 이용한다는 의미이다.


https://www.coursera.org/learn/machine-learning/lecture/t6pYD/motivation-ii-visualization

Motivation II: Visualization

image

예를 들어 위와 같은 데이터가 있다고 했을 때 이를 한번에 알아 보기가 힘들가 그래서 여러차원의 데이터를 dimensionality reduction작업을 통해 2차원, 3차원의 데이터로 바꾸고 이를 시각화 하는 것을 Visualization 한다고 한다.

image
image

2차원으로 줄여서 시각화 한 예를 보여준다.


https://www.coursera.org/learn/machine-learning/lecture/GBFTt/principal-component-analysis-problem-formulation

Principal Component Analysis Problem Formulation

image

pca 는 어떤 형태가 되는 지 보여준다. 위의경우는 2d를 1d로 바꿔주는 과정이다.

image
image

위의 그림은 linear regression과 pca와의 차이를 보여주고 있다.


https://www.coursera.org/learn/machine-learning/lecture/ZYIPa/principal-component-analysis-algorithm

Principal Component Analysis Algorithm

image

pca 작업을 하기 전에 사전작업이 필요하다. 일단 mean normalization 작업을 통해서 각 데이터의 위치를 조정해서 전체 평균점이 0이 되게 한다. 위의 그림에서 첫번째 [ 안의 내용이 이에 해당한다.두번째 [ 의 작업은 feature scaling 작업에 대한 설명이다. 

image

위의 그림에서  u 는 벡터이고 z i 는 각각 새로 만들어진 축상의 값이다. 각각 2차원에서 1차원으로 3차원에서 2차원으로 차원이 낮아( dimension reduction ) 지는 것을 알수 있다.

image

pca 알고리즘은 두단계로 이루어져 있다. 1. covariance matrix를 구한다. x 한행과 x 한행의 transepose의 곱들을 다 더해서 행의 총갯수 m으로 나눈다. 

2. 1번에서 구해진 값을 sigma 변수에 넣고 이를 svd( singular value decomposition ) 또는 eig 함수에 넣어서 eigenvectors값을 구한다. 

위 그림에서 u1, u2 등등은 차원을 낮추면서 새로 생기게 되는 vector들이다. 위위그림에서 u1을 확인해볼것

image
image


https://www.coursera.org/learn/machine-learning/lecture/X8JoQ/reconstruction-from-compressed-representation

Reconstruction from Compressed Representation

image

왼쪽그림은 dimension reduction은 보여주고 오른쪽 그림은 reconstruction을 보여준다.


https://www.coursera.org/learn/machine-learning/lecture/S1bq1/choosing-the-number-of-principal-components

Choosing the Number of Principal Components

image

principal components의 숫자를 정한다는 이야기는 몇차원의 맞출것인가 하는 말과 같다.

우선 이를 결정하는 데 중요한 요소는 차원을 줄임에도 불구하고 데이터가 본래 가지고 있는 분별력을 유지해야 한다는 점이다. 즉 전체 분별정도 (전체 분산)과 projection error squares의 총합의 관계을 확인하면 되는데 여기서 한단계 더 나아가 평균값을 비교한다. 위의 그림에서 보듯이 m으로 나누어준다. 위의 예시를 보면 99% 분산 정도가 유지 되었다. 이렇게 볼수 있다. 보통 90% 이상이 유지 되는 것을 추천한다.

분산개념 이해를 위한 참고 자료) https://needjarvis.tistory.com/43

image

왼쪽의 방법을 통해 k = 1부터 원하는 값이 나올때까지 k값을 늘려가며 확인할수도 있다. 

또는 좀더 쉽게 오른쪽 처럼 svd 함수의 결과로 나오는 S matrix를 이용할수 도 있다.

S matrix 는 대각선만 값이 있고 나머지는 다 0을 요소로 갖는 특성을 가진다. 위 그림과 같이 s k까지 요소를 더한 값을 전체 s 요소들을 더한 값으로 나누고 결과값이 0.99 ( 또는 원하는 수치 ) 이상이 되는지 확인한다.

image


https://www.coursera.org/learn/machine-learning/lecture/RBqQl/advice-for-applying-pca

Advice for Applying PCA

overfitting을 보완하기 위해 pca를 쓰는 것은 좋지 못하다는 이야기이다. 그대신 regularization을 사용하기를 추천한다.

pca를 통해 약간 변화된 데이터를 이용하기 보다 본래 데이터를 이용해 우선 작업 시도하는 것을 추천한다.

https://www.coursera.org/learn/machine-learning/lecture/X8JoQ/reconstruction-from-compressed-representationhttps://www.coursera.org/learn/machine-learning/lecture/czmip/unsupervised-learning-introduction

Unsupervised Learning: Introduction

image

unsupervised learning은 labeled된 데이터가 없으므로 그냥 x 값만 있다. 


https://www.coursera.org/learn/machine-learning/lecture/93VPG/k-means-algorithm

K-Means Algorithm

image
image

k mean algorithm에서 k는 총그룹 갯수이다. 뮤 는 centroid를 말한다. x 에 가장 가가운 centroid index를 c라고 한다. 즉 x i 는 i 번째 데이터를 말하며 이에 가장 가까운 centroid index를 c i 라고 한다. 위 알고리즘의 과정을 설명하면 우선 m개의 data set에서 요소 하나씩 가져온다 이는 x i 이며 이 요소에 가장 가까운 cluster centroid index를 c i 에 저장한다. 그다음 단계는 총 갯수 k 인  mu 를 처음부터 순환하며 본인의 index와 같은 x 들의 평균값을 구하고 이를 새로운 mu 값으로 갱신한다. 즉 cluster centroid 위치를 갱신하는 것이다.


https://www.coursera.org/learn/machine-learning/lecture/G6QWt/optimization-objective

K-Means Optimization Objective

image
image


https://www.coursera.org/learn/machine-learning/lecture/drcBh/random-initialization

K-Means Random Initialization

image

k means 알고리즘을 사용하는데에는 최초 시작 centroids를 지정해 주어야 하는데 training set에서 무작위로 k 숫자 만큼 선택하는 것을 추천한다.

image


https://www.coursera.org/learn/machine-learning/lecture/Ks0E9/choosing-the-number-of-clusters

K-Means Choosing the Number of Clusters

사실 cluster ( 그룹 )의 숫자는 개발자가 지정해 주어야 한다. 자동으로 지정할수 있는 방법은 없다.

image

cluster의 숫자에 따른 cost 값을 볼때 왼쪽 그래프와 같이 급격한 변화가 있다면 그 지점의 값만큼의 cluster 를 만든다. 오른쪽과 그래프와 같이 특별한 변화가 없는경우 개발자가 적당히 선택해야 한다. 


https://www.coursera.org/learn/machine-learning/lecture/0EJ6A/motivation-i-data-compression

Motivation I: Data Compression

image

2d dimensions의 data를 1d 바꾸어서 단순화하는 작업이다. 녹색선을 z1이라고 보고 이에 대응하는 각 데이터를 이용한다.

image

3차원의 데이터를 2차원에 project해서 새로운 데이터를 만들고 이를 이용한다. 3차원의 데이터를 z1, z2 벡터로 이루어진 평면에 project해서 얻은 데이터를 이용한다는 의미이다.


https://www.coursera.org/learn/machine-learning/lecture/t6pYD/motivation-ii-visualization

Motivation II: Visualization

image

예를 들어 위와 같은 데이터가 있다고 했을 때 이를 한번에 알아 보기가 힘들가 그래서 여러차원의 데이터를 dimensionality reduction작업을 통해 2차원, 3차원의 데이터로 바꾸고 이를 시각화 하는 것을 Visualization 한다고 한다.

image
image

2차원으로 줄여서 시각화 한 예를 보여준다.


https://www.coursera.org/learn/machine-learning/lecture/GBFTt/principal-component-analysis-problem-formulation

Principal Component Analysis Problem Formulation

image

pca 는 어떤 형태가 되는 지 보여준다. 위의경우는 2d를 1d로 바꿔주는 과정이다.

image
image

위의 그림은 linear regression과 pca와의 차이를 보여주고 있다.


https://www.coursera.org/learn/machine-learning/lecture/ZYIPa/principal-component-analysis-algorithm

Principal Component Analysis Algorithm

image

pca 작업을 하기 전에 사전작업이 필요하다. 일단 mean normalization 작업을 통해서 각 데이터의 위치를 조정해서 전체 평균점이 0이 되게 한다. 위의 그림에서 첫번째 [ 안의 내용이 이에 해당한다.두번째 [ 의 작업은 feature scaling 작업에 대한 설명이다. 

image

위의 그림에서  u 는 벡터이고 z i 는 각각 새로 만들어진 축상의 값이다. 각각 2차원에서 1차원으로 3차원에서 2차원으로 차원이 낮아( dimension reduction ) 지는 것을 알수 있다.

image

pca 알고리즘은 두단계로 이루어져 있다. 1. covariance matrix를 구한다. x 한행과 x 한행의 transepose의 곱들을 다 더해서 행의 총갯수 m으로 나눈다. 

2. 1번에서 구해진 값을 sigma 변수에 넣고 이를 svd( singular value decomposition ) 또는 eig 함수에 넣어서 eigenvectors값을 구한다. 

위 그림에서 u1, u2 등등은 차원을 낮추면서 새로 생기게 되는 vector들이다. 위위그림에서 u1을 확인해볼것

image
image


https://www.coursera.org/learn/machine-learning/lecture/X8JoQ/reconstruction-from-compressed-representation

Reconstruction from Compressed Representation

image

왼쪽그림은 dimension reduction은 보여주고 오른쪽 그림은 reconstruction을 보여준다.


https://www.coursera.org/learn/machine-learning/lecture/S1bq1/choosing-the-number-of-principal-components

Choosing the Number of Principal Components

image

principal components의 숫자를 정한다는 이야기는 몇차원의 맞출것인가 하는 말과 같다.

우선 이를 결정하는 데 중요한 요소는 차원을 줄임에도 불구하고 데이터가 본래 가지고 있는 분별력을 유지해야 한다는 점이다. 즉 전체 분별정도 (전체 분산)과 projection error squares의 총합의 관계을 확인하면 되는데 여기서 한단계 더 나아가 평균값을 비교한다. 위의 그림에서 보듯이 m으로 나누어준다. 위의 예시를 보면 99% 분산 정도가 유지 되었다. 이렇게 볼수 있다. 보통 90% 이상이 유지 되는 것을 추천한다.

분산개념 이해를 위한 참고 자료) https://needjarvis.tistory.com/43

image

왼쪽의 방법을 통해 k = 1부터 원하는 값이 나올때까지 k값을 늘려가며 확인할수도 있다. 

또는 좀더 쉽게 오른쪽 처럼 svd 함수의 결과로 나오는 S matrix를 이용할수 도 있다.

S matrix 는 대각선만 값이 있고 나머지는 다 0을 요소로 갖는 특성을 가진다. 위 그림과 같이 s k까지 요소를 더한 값을 전체 s 요소들을 더한 값으로 나누고 결과값이 0.99 ( 또는 원하는 수치 ) 이상이 되는지 확인한다.

image


https://www.coursera.org/learn/machine-learning/lecture/RBqQl/advice-for-applying-pca

Advice for Applying PCA

overfitting을 보완하기 위해 pca를 쓰는 것은 좋지 못하다는 이야기이다. 그대신 regularization을 사용하기를 추천한다.

pca를 통해 약간 변화된 데이터를 이용하기 보다 본래 데이터를 이용해 우선 작업 시도하는 것을 추천한다.

https://www.coursera.org/learn/machine-learning/lecture/gFpiW/multiclass-classificationhttps://www.coursera.org/learn/machine-learning/lecture/OAOhO/non-linear-hypotheses

Non-linear Hypotheses

https://www.coursera.org/learn/machine-learning/lecture/ka3jK/model-representation-i

neural networks Model Representation I

image
image

3층구조로 되어있다. 첫번째는 input layer, 두번째는 hidden layer, 마지막은 output layer가 된다. 

image

우측 상단 내용은 superscript는 몇번째 layer인지를 알려준다. subscript는 몇번째 unit인지 알려준다는 이야기이다.

그림 하단의 내용은 현layer의 unit 수 * (전단계unit수+1) 의 dimension의 matrix가 된다는 이야기이다. 

https://www.coursera.org/learn/machine-learning/supplement/Bln5m/model-representation-i

Model Representation I

image
image


https://www.coursera.org/learn/machine-learning/lecture/Hw3VK/model-representation-ii

neural networks  Model Representation II

image

위의 그림은 복잡한 수식을 좀 정리해서 보여준다.

a의 경우는 g(z()) 이라고 축약해서 보여준다. 즉 features x값과 쎄타값을 곱한 결과를 g()에 넣어 계산해서 나온 결과를 a 2라고 한다. 다시 이 a 2를 쎄타2와 곱한다. 곱해서 얻을 결과를 g()에 넣어 나온결과를 a 3라고 한다.  위의 그림에서 a 3는 최종결과이며 h쎄타() 이다. 

image

neural networks 에서 마지막 부분만을 잘라서 본다면 이는 logistic regression 과 동일하다, 위의 그림 참조

image

여러겹의 hidden layer가 추가된 예시를 보여준다.

https://www.coursera.org/learn/machine-learning/supplement/YlEVx/model-representation-ii

neural networks Model Representation II

image
image


https://www.coursera.org/learn/machine-learning/lecture/rBZmG/examples-and-intuitions-i

neural networks Examples and Intuitions I

인공신경망으로 xor 논리 연산을 구현 하는 방법

image
image

g() 는 sigmoid funciton이고 공식은 아래와 같다

image

e -4 거듭 제곱의 값은 0.01832 이고 1/1+0.01832 은 0.99 이다. 결론적으로 z 가 4인 경우 0.99 가 된다는 의미이다. 위위그림의 4.0를 기준점으로 정한이유.

or 논리연산을 인공신경망으로 구현한 예시는 아래와 같다.

image

https://www.coursera.org/learn/machine-learning/supplement/kivO9/examples-and-intuitions-i

neural networks Examples and Intuitions I

image


https://www.coursera.org/learn/machine-learning/lecture/solUx/examples-and-intuitions-ii

neural networks Examples and Intuitions II

image

위 그림은 이미 공부한 두개의 unit을 하나로 합쳐서 좀더 복잡한 논리 연산을 구현한 것을 보여준다. 

https://www.coursera.org/learn/machine-learning/supplement/5iqtV/examples-and-intuitions-ii

neural networks  Examples and Intuitions II

image


https://www.coursera.org/learn/machine-learning/lecture/gFpiW/multiclass-classification

Multiclass Classification

https://www.coursera.org/learn/machine-learning/supplement/xSUml/multiclass-classification

Multiclass Classification

image
image

https://www.coursera.org/learn/machine-learning/lecture/gFpiW/multiclass-classificationhttps://www.coursera.org/learn/machine-learning/lecture/OAOhO/non-linear-hypotheses

Non-linear Hypotheses

https://www.coursera.org/learn/machine-learning/lecture/ka3jK/model-representation-i

neural networks Model Representation I

image
image

3층구조로 되어있다. 첫번째는 input layer, 두번째는 hidden layer, 마지막은 output layer가 된다. 

image

우측 상단 내용은 superscript는 몇번째 layer인지를 알려준다. subscript는 몇번째 unit인지 알려준다는 이야기이다.

그림 하단의 내용은 현layer의 unit 수 * (전단계unit수+1) 의 dimension의 matrix가 된다는 이야기이다. 

https://www.coursera.org/learn/machine-learning/supplement/Bln5m/model-representation-i

Model Representation I

image
image


https://www.coursera.org/learn/machine-learning/lecture/Hw3VK/model-representation-ii

neural networks  Model Representation II

image

위의 그림은 복잡한 수식을 좀 정리해서 보여준다.

a의 경우는 g(z()) 이라고 축약해서 보여준다. 즉 features x값과 쎄타값을 곱한 결과를 g()에 넣어 계산해서 나온 결과를 a 2라고 한다. 다시 이 a 2를 쎄타2와 곱한다. 곱해서 얻을 결과를 g()에 넣어 나온결과를 a 3라고 한다.  위의 그림에서 a 3는 최종결과이며 h쎄타() 이다. 

image

neural networks 에서 마지막 부분만을 잘라서 본다면 이는 logistic regression 과 동일하다, 위의 그림 참조

image

여러겹의 hidden layer가 추가된 예시를 보여준다.

https://www.coursera.org/learn/machine-learning/supplement/YlEVx/model-representation-ii

neural networks Model Representation II

image
image


https://www.coursera.org/learn/machine-learning/lecture/rBZmG/examples-and-intuitions-i

neural networks Examples and Intuitions I

인공신경망으로 xor 논리 연산을 구현 하는 방법

image
image

g() 는 sigmoid funciton이고 공식은 아래와 같다

image

e -4 거듭 제곱의 값은 0.01832 이고 1/1+0.01832 은 0.99 이다. 결론적으로 z 가 4인 경우 0.99 가 된다는 의미이다. 위위그림의 4.0를 기준점으로 정한이유.

or 논리연산을 인공신경망으로 구현한 예시는 아래와 같다.

image

https://www.coursera.org/learn/machine-learning/supplement/kivO9/examples-and-intuitions-i

neural networks Examples and Intuitions I

image


https://www.coursera.org/learn/machine-learning/lecture/solUx/examples-and-intuitions-ii

neural networks Examples and Intuitions II

image

위 그림은 이미 공부한 두개의 unit을 하나로 합쳐서 좀더 복잡한 논리 연산을 구현한 것을 보여준다. 

https://www.coursera.org/learn/machine-learning/supplement/5iqtV/examples-and-intuitions-ii

neural networks  Examples and Intuitions II

image


https://www.coursera.org/learn/machine-learning/lecture/gFpiW/multiclass-classification

Multiclass Classification

https://www.coursera.org/learn/machine-learning/supplement/xSUml/multiclass-classification

Multiclass Classification

image
image