-
Notifications
You must be signed in to change notification settings - Fork 1
1 Week
GiHyeun edited this page Apr 3, 2018
·
17 revisions
'모두를 위한 딥러닝' 1~7강 학습
Field of study that gives computer the ability to learn without being explicity programmed - Arthur Samuel (1959)

Supervised learning: learning with labeled examples.
Unsupervised learning: learning with un-labeled data.
Regression : In statistical modeling, regression analysis is a set of statistical processes for estimating the relationships among variables. training data
num_points = 1000
vectors_set = []
for i in range(num_points):
x1 = np.random.normal(0.0, 0.55)
y1 = x1*0.1+0.3 + np.random.normal(0.0, 0.03)
vectors_set.append([x1, y1])시각화
plt.plot(x_data, y_data, 'ro')
plt.plot(x_data, sess.run(W) * x_data + sess.run(b))
plt.legend()
plt.xlabel('x')
plt.ylabel('y')
plt.show()














training data
num_points = 2000
vectors_set = []
for i in range(num_points):
if np.random.random() > 0.5:
vectors_set.append([np.random.normal(0.0, 0.9), np.random.normal(0.0, 0.9)])
else:
vectors_set.append([np.random.normal(3.0, 0.5), np.random.normal(1.0, 0.5)])
df = pd.DataFrame({"x":[v[0] for v in vectors_set], "y":[v[1] for v in vectors_set]})
sns.lmplot("x", "y", data=df, fit_reg=False, size=6)
plt.show()










training data
num_points = 2000
vectors_set = []
for i in range(num_points):
if np.random.random() > 0.5:
vectors_set.append([np.random.normal(0.0, 0.9), np.random.normal(0.0, 0.9)])
else:
vectors_set.append([np.random.normal(3.0, 0.5), np.random.normal(1.0, 0.5)])
df = pd.DataFrame({"x":[v[0] for v in vectors_set], "y":[v[1] for v in vectors_set]})
sns.lmplot("x", "y", data=df, fit_reg=False, size=6)
plt.show()k개 랜덤 선택
centroides = tf.Variable(tf.slice(tf.random_shuffle(vectors), [0, 0], [k, -1]))군집화
assignments = tf.argmin(tf.reduce_sum(tf.square(tf.subtract(expanded_vectors, expanded_centroides)), 2), 0)군집의 중심점
means = tf.concat([tf.reduce_mean(tf.gather(vectors, tf.reshape(tf.where(tf.equal(assignments, c)), [1, -1])), reduction_indices=[1]) for c in range(k)], 0)
update_centroides = tf.assign(centroides, means)시각화
data = {"x":[], "y":[], "cluster":[]}
for i in range(#point date):
data["x"].append(#x of point)
data["y"].append(#y of point)
data["cluster"].append(#predict cluster)
df = pd.DataFrame(data)
sns.lmplot("x", "y", data=df, fit_reg=False, size=6, hue="cluster", legend=False)
plt.show()시각화
data = {"x":[], "y":[], "cluster":[]}
for i in range(#point date):
data["x"].append(#x of point)
data["y"].append(#y of point)
data["cluster"].append(#predict cluster)
df = pd.DataFrame(data)
sns.lmplot("x", "y", data=df, fit_reg=False, size=6, hue="cluster", legend=False)
plt.show()










Image data to MNIST data
def rgb2gray(rgb):
return np.dot(rgb[...,:3], [0.299, 0.587, 0.114])
image_paths = ['TestImage/3.jpg', 'TestImage/4.jpg', 'TestImage/5.jpg']
my_X = [];
for path in image_paths:
img = misc.imread(path)
gray = rgb2gray(img)
gray = gray.reshape(-1)
gray = [(255.0-x) / 255.0 for x in gray]
my_X.append(gray)