jc.jang

머신러닝 도입 본문

카테고리 없음

머신러닝 도입

jangstory 2018. 3. 15. 18:48

Machine Learning is kind of software. there are many explicit programming. for example, calculator. But there are limitations of explicit programming if you program spam filter or automatic driving, there are many rules. So That's very difficult.


learning needs data and there are two kinds of learning

one is supervised learning. the other is unsupervised learning. supervised learning is learning with labeled data. ex) dog-cat image data.

unsupervised learning is learning with unlabeled data. ex)google news grouping, word clustering.


Types of supervised learning

Regression - Predicting final exam score(0~100) based on spending time.

Binary classification - Pass/Fail exam

multi-label classification - Letter grade(A/B/C/D)


Why use Tensorflow?

Tensorflow is the most popular library.

Tensorflow is an open source software library for numerical computation using data flow graphs.


There are two concepts.

one is Node. Nodes in the graph represent. : mathematical operations.

the other is Edges. Edges represent the multidimensional

data arrays(tensors) communicated between them


Rank is a dimension.

0    Scalar    s=483

1    Vector    v=[1.1 , 2.2]

2    Matrix    m=[[1,2,3], [4,5,6]]

3    3-tensor

n    n-tensor


shape                        dimension number

[]                                0-d

[d0]                            1-d

[d0 d1]                       2-d

[d0 d1 d2]                  3-d

[d0 d1 d2 ... dn-1]      n-d



programming

1. Build graph using Tensorflow operations

2. Feed data and run graph(operation) sess.run(op)

3. Update variables in the graph(and return values)



Linear Regression

Guess Hypothesis

H(x) = wx+b

There will be many H(x).

Which Hypothesis is better?

How many fit the line to our(training) data.

So introduce cost function(lost function).



The professor emphasized the following :

Tensorflow programming order - 

1. Build graph using Tensorflow operations

2. Feed data and run graph(operation) sess.run(op)

#Node is operation. Edge is a data flow

3. Update variables in the graph(and return values)



Tensorflow output result 'b' means that data type byte.


'Hello world' is not a string but byte.


byte contain only ASCII but string contain the other


'A' == '\41'

>>true

'A' == b'A'

>>false

b'A' == b'\x41'

>>true

a character is not a byte.


https://stackoverflow.com/questions/6269765/what-does-the-b-character-do-in-front-of-a-string-literal

Comments