본문 바로가기

Life

Tensorflow 사용해서 선형회귀(Linear Regression)분석 구현


이번에 선형회귀 관련 과제가 생겨서 조금 공부해 보았던 Tensorflow 썩히기 아까워서
일부러라도 써서 과제를 해 봤습니다 ㅎㅎ
학습할 데이터가 필요했는데 어디 데이터 모아놓은 곳도 없고 해서 직접 1000개 정도 생성해 놓고 해 봤습니다.
1
2
3
4
5
6
vectors_set = []
def gen_training_data(num, W_, b_):
    for i in xrange(num):
        x1 = np.random.normal(01)
        y1 = x1 * W_ + b_ + np.random.normal(00.05)
        vectors_set.append([x1, y1])
cs

1
W_, b_ = 0.30.2
cs

y = 0.3x + 0.2 를 기준으로 데이터를 생성!


아래는 돌린 결과입니당

GradientDescentOptimizer 값을 0.5 로 주고 학습 수도 많지 않아서 오차를 더 줄이지는 못한거 같네요 ㅠㅠ


[+] 추가

학습 알고리즘하고 멀티쓰레딩을 하니까 엄청 빨려졌네요

샘플 갯수는 10000개로 늘리고

1
2
# the number of samples
samples = 10000
cs

멀티스레딩도 하고 스레드 갯수는 8개로(제 환경에선 8개가 max)

1
2
# Start InteractiveSession with 8 threads
= tf.InteractiveSession(config=tf.ConfigProto(intra_op_parallelism_threads=8))
cs



[+] 또 수정 ㅋㅋㅋ, Accuracy 가 잘못 측정되서 고침