{"action":"created","comment":{"url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls/comments/89288994","pull_request_review_id":9834765,"id":89288994,"diff_hunk":"@@ -0,0 +1,1581 @@\n+\n+# coding: utf-8\n+\n+# # Задание 1\n+\n+# **Задание**\n+# \n+# 1. Сгенерируйте на плоскости 2 облака точек. Они должны слегка пересекаться, а точки внутри распределены нормально.\n+# 2. Обучите линейную модель, разделяющую два облака точек, используя формулу $w = (X^TX)^{-1}X^TY$.\n+# 3. Изобразите облака с помощью библиотеки matplotlib, воспользуйтесь функцией scatter, для удобства точки можно сделать прозрачными.\n+# 4. Постройте полученнную разделяющую прямую.\n+# 5. Оцените сложность алгоритма обучения.\n+\n+# ###### 0. Сделаем все необходимые приготовления для начала работы:\n+\n+# In[1]:\n+\n+import numpy as np\n+import matplotlib.pyplot as plt\n+import matplotlib\n+from mpl_toolkits.mplot3d import Axes3D\n+from matplotlib import cm\n+\n+\n+# ##### 1. Генерируем точки:\n+\n+# Сначала зададим наши два кластера; для этого создадим простой вспомогательный класс `Cluster`, имеющий три интересующие нас характеристики: координаты кластера и среднеквадратическое отклонение.\n+\n+# In[2]:\n+\n+# === Define clusters ===\n+class Cluster:\n+    def __init__(self, x, y, spread):\n+        self.x = x\n+        self.y = y\n+        self.spread = spread\n+\n+\n+# Теперь определим два наугад выбранных кластера (проверено, что они пересекаются)\n+\n+# In[3]:\n+\n+CLUSTER_SIZE = 500\n+clusters = [Cluster(0, 0, 1500), Cluster(70, 50, 900)]\n+\n+\n+# Теперь можно и сгенерировать точки. Будем хранить их в виде матрицы размера $\\text{CLUSTER_SIZE} \\times 3$, где первый столбец заполнен единицами, а второй и третий — $x$- и $y$-координатами соответствующих точек.\n+\n+# In[4]:\n+\n+NORM = 50                                     # NORM helps make all features ~same magnitude. Otherwise\n+                                              # there can be problems with gradient\n+\n+points_to_split = np.concatenate([            # Join the data matrices for all clusters\n+    np.hstack(                                # Create a matrix of size CLUSTER_SIZE x 3\n+        (                                     #\n+            NORM*np.ones((CLUSTER_SIZE, 1)),  # First column --- constant feature of ~same order of magnitude as others\n+            np.random.multivariate_normal(    # Second and third --- random numbers,\n+                [c.x, c.y],                   # centered on clusters (x, y) coordinates\n+                c.spread*np.identity(2),      # with cluster's spread.\n+                CLUSTER_SIZE                  # There will be CLUSTER_SIZE such points\n+            )\n+        )\n+    ) for c in clusters                       # Do for all (both) clusters\n+])\n+\n+\n+# Раз уж мы здесь, сгенерируем и эталонные результаты классификации. Тут всё тривиально — по `CLUSTER_SIZE` единиц и минус единиц.\n+\n+# In[5]:\n+\n+true_labels = np.vstack((\n+    1*np.ones((CLUSTER_SIZE, 1)),\n+    -1*np.ones((CLUSTER_SIZE, 1))\n+))\n+\n+\n+# ##### 2. Обучаем модель\n+\n+# Обучение тоже довольно прямолинейно: просто воспользуемся данной нам свыше формулой  $w = (X^TX)^{-1}X^TY$:\n+\n+# In[6]:\n+\n+split_vector_exact = np.linalg.inv(points_to_split.T.dot(points_to_split)).dot(points_to_split.T).dot(true_labels)\n+\n+\n+# Осталось понять, как трактовать этот вектор.\n+# \n+# Минутка теории; пусть $m-1$ --- число фич, $n$ --- число объектов. Тогда заметим, что `split_vector_exact` представляет собой $(M_{m\\times n} \\times M_{n\\times m})^{-1}\\times M_{m \\times n} \\times M_{n \\times 1} = M_{m\\times m}^{-1}\\times M_{m \\times 1} = M_{m\\times 1}$, то есть, в нашем случае, вектор размерности 3. Три его координаты задают плоскость в трёхмерном пространстве, а именно:\n+# \n+# $$\n+# z = w_0*\\mathrm{NORM} + w_1x + w_2y.\n+# $$\n+# \n+# Так как нас интересует прямая $z = 0$, легко решить уравнение и получить\n+# \n+# $$\n+# y = -\\frac{w_0*\\mathrm{NORM} + w_1x}{w_2}.\n+# $$\n+# \n+# Построим эту прямую:\n+\n+# In[7]:\n+\n+x_points = np.linspace(-200, 200, 2)\n+splitting_line_y = np.array((-split_vector_exact[0]*NORM - split_vector_exact[1]*x_points)/split_vector_exact[2])\n+\n+\n+# ##### 3 + 4. Построение:\n+\n+# Построение — не самая увлекательная часть работы, но самая зрелищная. Для начала сделаем несколько приготовлений и настроек:\n+\n+# In[8]:\n+\n+plt.switch_backend('nbAgg')                                  # Plot in Jupyter Notebook\n+cluster_split_figure = plt.figure(figsize=(12, 8))\n+split_plot = cluster_split_figure.add_subplot(111)\n+\n+split_plot.axis([-200, 200, -150, 200])                      # Set axis size\n+cluster_split_figure.gca().set_aspect('equal')               # and aspect ratio\n+\n+color_dict = {'red':   [(0.0, 0.0, 0.0),\n+                        (1.0, 1.0, 1.0)],\n+              'green': [(0.0, 0.0, 0.0),\n+                        (1.0, 0.0, 0.0)],\n+              'blue':  [(0.0, 1.0, 1.0),\n+                        (1.0, 0.0, 0.0)]}\n+\n+color_map = matplotlib.colors.LinearSegmentedColormap('Map', color_dict)  # Create color map for clusters\n+\n+\n+# А теперь построим наши точки и полученную разделяющую прямую:\n+\n+# In[9]:\n+\n+split_plot.scatter(\n+    points_to_split[:, 1],\n+    points_to_split[:, 2],\n+    marker='.',\n+    s=64,\n+    c=true_labels.T,\n+    cmap=color_map,\n+    edgecolors='none',\n+    alpha=0.2,\n+)\n+\n+split_plot.plot(x_points, splitting_line_y, color='black', linewidth=1)  # Plot the dividing line\n+\n+cluster_split_figure.show()\n+\n+\n+# И вправду похоже на хорошее разделение!\n+\n+# ##### 5. Оценка сложности\n+\n+# (здесь и далее `CLUSTER_SIZE` будет обозначен через $N$)\n+# \n+# Очевидно, что всё обучение заключено в этой строке:\n+# \n+# `split_vector_exact = np.linalg.inv(points_to_split.T.dot(points_to_split)).dot(points_to_split.T).dot(true_results)`.\n+# \n+# К сожалению, при существовании оптимизированных алгоритмов умножения квадратных матриц, умножение неквадратных матриц $M_{p\\times q} \\times M_{q\\times r}$ всё ещё занимает $\\mathcal{O}(pqr)$. Однако, это упрощает оценку сложности:\n+# \n+# Вспомним указанную выше \"формулу\": \n+# \n+# $$\n+#     w \\approx (M_{m\\times n} \\times M_{n\\times m})^{-1}\\times M_{m \\times N} \\times M_{N \\times 1}\n+# $$\n+# \n+# Распишем произведения и их сложности:\n+# \n+# $$\n+#     (\\underbrace{M_{m\\times n} \\times M_{n\\times m}}_{\\mathcal{O}(m\\cdot n \\cdot m) = \\mathcal{O}(m^2n)})^{-1}\\times \\underbrace{M_{m \\times n} \\times M_{n \\times 1}}_{\\mathcal{O}(m\\cdot n \\cdot 1) = \\mathcal{O}(mn)} \\to\n+#     \\underbrace{(M_{m\\times m})^{-1}}_{\\mathcal{O}(m^3)}\\times M_{m \\times 1} \\to\n+#     \\underbrace{M_{m\\times m}\\times M_{m \\times 1}}_{\\mathcal{O}(m^2)} \\to M_{3 \\times 1}\n+# $$\n+# \n+# Итого $\\mathcal{O}(m^2n+mn+m^3+m^2) = \\mathcal{O}\\left(m^2(n+m)\\right)$.\n+\n+# # Задание 2\n+\n+# **Задание**\n+# \n+# 1. Пусть $\\mathbb{P}\\{y=1|x\\} = \\sigma(wx+b)$, где $\\sigma(z) = \\frac{1}{1 + \\exp(-z)}$. Покажите, что задача\n+# $$ \\mathop{\\mathrm{argmin}}\\limits_{w, b} \\sum\\limits_{x, y} \\ln(1 + \\exp(-y(wx + b)))$$\n+# есть не что иное, как максимизация правдоподобия.\n+# 2. Отобразите все функционалы качества в осях $M \\times Q$ для одного элемента.\n+\n+# ##### 2. Сравнение функционалов качества\n+\n+# Для начала выразим $Q$ через $M$ для всех наших функционалов:\n+# \n+# 1. Квадратичная ошибка:\n+# \n+#     $$Q(w) = \\frac{1}{\\mathcal{l}} \\sum_{i=1}^{\\mathcal{l}}((wx_i+b) - y_i)^{2}$$\n+#     \n+#     Так как мы рассматриваем только один элемент, $l = 1$ и формула выглядит так:\n+#     \n+#     $$Q(w) = ((wx+b) - y)^{2} = \\left(\\frac{(wx+b)y}{y} - y\\right)^2 = \\left(\\frac{M}{y} - y\\right)^2$$\n+#     \n+#     Заметим, что при $y = \\pm 1$, выражение не меняется, т.к. $\\frac{M}{1} - 1 = -1\\cdot\\left(\\frac{M}{-1} + 1\\right)$, значит, модули и квадраты выражений совпадают. Тогда\n+#     \n+#     $$Q(M) = (M - 1)^2$$\n+# 2. SVM\n+# \n+#     $$Q(w) = \\frac{1}{\\mathcal{l}} \\sum_{i=1}^{\\mathcal{l}} \\max(0, 1 - y_i\\cdot(wx_i + b))$$\n+#     \n+#     Опять же, в нашем случае формула будет выглядеть так:\n+#     \n+#     $$Q(w) = \\max(0, 1 - y\\cdot(wx + b)) = \\max(0, 1 - M)$$\n+#     \n+# 3. Логистическая функция\n+# \n+#     $$ Q(w) = \\frac{1}{\\mathcal{l}} \\sum_{i=1}^{\\mathcal{l}} \\ln(1 + \\exp(-y_i\\cdot(wx_i + b)))$$\n+#     \n+#     В нашем случае:\n+#     \n+#     $$ Q(w) = \\ln(1 + \\exp(-y\\cdot(wx + b))) = \\ln(1 + \\exp(-M))$$\n+\n+# Теперь оформим их в виде функций:\n+\n+# In[10]:\n+\n+def loss_wrong(margin):\n+    return margin < 0\n+\n+def loss_square(margin):\n+    return (margin-1)**2\n+\n+def loss_svm (margin):\n+    return np.maximum(0, 1-margin)\n+\n+def loss_logistic(margin):\n+    return np.log(1+np.exp(-margin))\n+\n+\n+# И построим графики:\n+\n+# In[11]:\n+\n+loss_func_figure = plt.figure(figsize=(12, 8))\n+loss_func_plot = loss_func_figure.add_subplot(111)\n+\n+loss_func_plot.axis([-1, 3, -0.3, 2])\n+loss_func_plot.axhline(0, color='black')\n+loss_func_plot.axvline(0, color='black')\n+\n+t = np.arange(-3, 3, 0.01)\n+\n+loss_func_plot.plot(t, loss_wrong(t)   , c='Y', label='Wrong guesses')\n+loss_func_plot.plot(t, loss_square(t)  , c='r', label='MMSE')\n+loss_func_plot.plot(t, loss_svm(t)     , c='g', label='SVM')\n+loss_func_plot.plot(t, loss_logistic(t), c='b', label='Logistic')\n+\n+legend = plt.legend(loc='upper center', shadow=True)\n+loss_func_figure.show()\n+\n+\n+# # Задание 3\n+\n+# **Задание**\n+# 1. Предложите какую-нибудь квадратичную функцию с глобальным минимумом.\n+# 2. Найдите минимум методом градиентного спуска.\n+# 3. Отобразите на плоскости линии уровней функции, которую вы оптимизируете.\n+# 4. Покажите, какую траекторию проходит алгоритм градиентного спуска.\n+# 5. Как вы выбрали значение $\\eta$?\n+\n+# Выберем какую-нибудь простую функцию; например,\n+# \n+# $$f(x, y) = 2(x-5)^2 + (y+3)^2$$\n+# \n+# с градиентом\n+# \n+# $$\\begin{pmatrix}\n+#     4(x-5)\\\\\n+#     2(y+3)\n+# \\end{pmatrix}.$$\n+# \n+# В Python это будет выглядеть так:\n+\n+# In[12]:\n+\n+def func(x):\n+    return 2*(x[0]-5)**2 + (x[1]+3)**2\n+def func_grad(x):","path":"Labs/Lab 1/Lab 1.py","position":null,"original_position":285,"commit_id":"ce49e90148bad933318da7580862414b95886619","original_commit_id":"631b9b5167b95326cbf8b554431a1c5d25283ade","user":{"login":"Akiiino","id":13392695,"avatar_url":"https://avatars.githubusercontent.com/u/13392695?v=3","gravatar_id":"","url":"https://api.github.com/users/Akiiino","html_url":"https://github.com/Akiiino","followers_url":"https://api.github.com/users/Akiiino/followers","following_url":"https://api.github.com/users/Akiiino/following{/other_user}","gists_url":"https://api.github.com/users/Akiiino/gists{/gist_id}","starred_url":"https://api.github.com/users/Akiiino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akiiino/subscriptions","organizations_url":"https://api.github.com/users/Akiiino/orgs","repos_url":"https://api.github.com/users/Akiiino/repos","events_url":"https://api.github.com/users/Akiiino/events{/privacy}","received_events_url":"https://api.github.com/users/Akiiino/received_events","type":"User","site_admin":false},"body":"Fixed","created_at":"2016-11-23T10:30:53Z","updated_at":"2016-11-23T10:30:53Z","html_url":"https://github.com/Akiiino/Ask-Me-Anything/pull/1#discussion_r89288994","pull_request_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls/comments/89288994"},"html":{"href":"https://github.com/Akiiino/Ask-Me-Anything/pull/1#discussion_r89288994"},"pull_request":{"href":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls/1","id":94647181,"html_url":"https://github.com/Akiiino/Ask-Me-Anything/pull/1","diff_url":"https://github.com/Akiiino/Ask-Me-Anything/pull/1.diff","patch_url":"https://github.com/Akiiino/Ask-Me-Anything/pull/1.patch","issue_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/issues/1","number":1,"state":"open","locked":false,"title":"Merge 1st lab","user":{"login":"Akiiino","id":13392695,"avatar_url":"https://avatars.githubusercontent.com/u/13392695?v=3","gravatar_id":"","url":"https://api.github.com/users/Akiiino","html_url":"https://github.com/Akiiino","followers_url":"https://api.github.com/users/Akiiino/followers","following_url":"https://api.github.com/users/Akiiino/following{/other_user}","gists_url":"https://api.github.com/users/Akiiino/gists{/gist_id}","starred_url":"https://api.github.com/users/Akiiino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akiiino/subscriptions","organizations_url":"https://api.github.com/users/Akiiino/orgs","repos_url":"https://api.github.com/users/Akiiino/repos","events_url":"https://api.github.com/users/Akiiino/events{/privacy}","received_events_url":"https://api.github.com/users/Akiiino/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-11-21T16:20:56Z","updated_at":"2016-11-23T10:30:53Z","closed_at":null,"merged_at":null,"merge_commit_sha":"236629bacf1696ada2fa06b316283c6002bc82af","assignee":{"login":"Akiiino","id":13392695,"avatar_url":"https://avatars.githubusercontent.com/u/13392695?v=3","gravatar_id":"","url":"https://api.github.com/users/Akiiino","html_url":"https://github.com/Akiiino","followers_url":"https://api.github.com/users/Akiiino/followers","following_url":"https://api.github.com/users/Akiiino/following{/other_user}","gists_url":"https://api.github.com/users/Akiiino/gists{/gist_id}","starred_url":"https://api.github.com/users/Akiiino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akiiino/subscriptions","organizations_url":"https://api.github.com/users/Akiiino/orgs","repos_url":"https://api.github.com/users/Akiiino/repos","events_url":"https://api.github.com/users/Akiiino/events{/privacy}","received_events_url":"https://api.github.com/users/Akiiino/received_events","type":"User","site_admin":false},"assignees":[{"login":"Akiiino","id":13392695,"avatar_url":"https://avatars.githubusercontent.com/u/13392695?v=3","gravatar_id":"","url":"https://api.github.com/users/Akiiino","html_url":"https://github.com/Akiiino","followers_url":"https://api.github.com/users/Akiiino/followers","following_url":"https://api.github.com/users/Akiiino/following{/other_user}","gists_url":"https://api.github.com/users/Akiiino/gists{/gist_id}","starred_url":"https://api.github.com/users/Akiiino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akiiino/subscriptions","organizations_url":"https://api.github.com/users/Akiiino/orgs","repos_url":"https://api.github.com/users/Akiiino/repos","events_url":"https://api.github.com/users/Akiiino/events{/privacy}","received_events_url":"https://api.github.com/users/Akiiino/received_events","type":"User","site_admin":false},{"login":"mryab","id":16766985,"avatar_url":"https://avatars.githubusercontent.com/u/16766985?v=3","gravatar_id":"","url":"https://api.github.com/users/mryab","html_url":"https://github.com/mryab","followers_url":"https://api.github.com/users/mryab/followers","following_url":"https://api.github.com/users/mryab/following{/other_user}","gists_url":"https://api.github.com/users/mryab/gists{/gist_id}","starred_url":"https://api.github.com/users/mryab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mryab/subscriptions","organizations_url":"https://api.github.com/users/mryab/orgs","repos_url":"https://api.github.com/users/mryab/repos","events_url":"https://api.github.com/users/mryab/events{/privacy}","received_events_url":"https://api.github.com/users/mryab/received_events","type":"User","site_admin":false},{"login":"dasimagin","id":16786407,"avatar_url":"https://avatars.githubusercontent.com/u/16786407?v=3","gravatar_id":"","url":"https://api.github.com/users/dasimagin","html_url":"https://github.com/dasimagin","followers_url":"https://api.github.com/users/dasimagin/followers","following_url":"https://api.github.com/users/dasimagin/following{/other_user}","gists_url":"https://api.github.com/users/dasimagin/gists{/gist_id}","starred_url":"https://api.github.com/users/dasimagin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dasimagin/subscriptions","organizations_url":"https://api.github.com/users/dasimagin/orgs","repos_url":"https://api.github.com/users/dasimagin/repos","events_url":"https://api.github.com/users/dasimagin/events{/privacy}","received_events_url":"https://api.github.com/users/dasimagin/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls/1/commits","review_comments_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls/1/comments","review_comment_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/issues/1/comments","statuses_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/statuses/ce49e90148bad933318da7580862414b95886619","head":{"label":"Akiiino:Lab-1-indev","ref":"Lab-1-indev","sha":"ce49e90148bad933318da7580862414b95886619","user":{"login":"Akiiino","id":13392695,"avatar_url":"https://avatars.githubusercontent.com/u/13392695?v=3","gravatar_id":"","url":"https://api.github.com/users/Akiiino","html_url":"https://github.com/Akiiino","followers_url":"https://api.github.com/users/Akiiino/followers","following_url":"https://api.github.com/users/Akiiino/following{/other_user}","gists_url":"https://api.github.com/users/Akiiino/gists{/gist_id}","starred_url":"https://api.github.com/users/Akiiino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akiiino/subscriptions","organizations_url":"https://api.github.com/users/Akiiino/orgs","repos_url":"https://api.github.com/users/Akiiino/repos","events_url":"https://api.github.com/users/Akiiino/events{/privacy}","received_events_url":"https://api.github.com/users/Akiiino/received_events","type":"User","site_admin":false},"repo":{"id":74282413,"name":"Ask-Me-Anything","full_name":"Akiiino/Ask-Me-Anything","owner":{"login":"Akiiino","id":13392695,"avatar_url":"https://avatars.githubusercontent.com/u/13392695?v=3","gravatar_id":"","url":"https://api.github.com/users/Akiiino","html_url":"https://github.com/Akiiino","followers_url":"https://api.github.com/users/Akiiino/followers","following_url":"https://api.github.com/users/Akiiino/following{/other_user}","gists_url":"https://api.github.com/users/Akiiino/gists{/gist_id}","starred_url":"https://api.github.com/users/Akiiino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akiiino/subscriptions","organizations_url":"https://api.github.com/users/Akiiino/orgs","repos_url":"https://api.github.com/users/Akiiino/repos","events_url":"https://api.github.com/users/Akiiino/events{/privacy}","received_events_url":"https://api.github.com/users/Akiiino/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Akiiino/Ask-Me-Anything","description":"HSE FCS 2nd year project","fork":false,"url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything","forks_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/forks","keys_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/teams","hooks_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/hooks","issue_events_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/issues/events{/number}","events_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/events","assignees_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/assignees{/user}","branches_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/branches{/branch}","tags_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/tags","blobs_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/git/refs{/sha}","trees_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/statuses/{sha}","languages_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/languages","stargazers_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/stargazers","contributors_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/contributors","subscribers_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/subscribers","subscription_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/subscription","commits_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/commits{/sha}","git_commits_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/git/commits{/sha}","comments_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/comments{/number}","issue_comment_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/issues/comments{/number}","contents_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/contents/{+path}","compare_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/merges","archive_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/downloads","issues_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/issues{/number}","pulls_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls{/number}","milestones_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/milestones{/number}","notifications_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/labels{/name}","releases_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/releases{/id}","deployments_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/deployments","created_at":"2016-11-20T15:10:25Z","updated_at":"2016-11-20T15:10:25Z","pushed_at":"2016-11-23T10:30:30Z","git_url":"git://github.com/Akiiino/Ask-Me-Anything.git","ssh_url":"git@github.com:Akiiino/Ask-Me-Anything.git","clone_url":"https://github.com/Akiiino/Ask-Me-Anything.git","svn_url":"https://github.com/Akiiino/Ask-Me-Anything","homepage":null,"size":11275,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"Akiiino:master","ref":"master","sha":"f423fb62664fef90936ab408137f31fdd1f8fc11","user":{"login":"Akiiino","id":13392695,"avatar_url":"https://avatars.githubusercontent.com/u/13392695?v=3","gravatar_id":"","url":"https://api.github.com/users/Akiiino","html_url":"https://github.com/Akiiino","followers_url":"https://api.github.com/users/Akiiino/followers","following_url":"https://api.github.com/users/Akiiino/following{/other_user}","gists_url":"https://api.github.com/users/Akiiino/gists{/gist_id}","starred_url":"https://api.github.com/users/Akiiino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akiiino/subscriptions","organizations_url":"https://api.github.com/users/Akiiino/orgs","repos_url":"https://api.github.com/users/Akiiino/repos","events_url":"https://api.github.com/users/Akiiino/events{/privacy}","received_events_url":"https://api.github.com/users/Akiiino/received_events","type":"User","site_admin":false},"repo":{"id":74282413,"name":"Ask-Me-Anything","full_name":"Akiiino/Ask-Me-Anything","owner":{"login":"Akiiino","id":13392695,"avatar_url":"https://avatars.githubusercontent.com/u/13392695?v=3","gravatar_id":"","url":"https://api.github.com/users/Akiiino","html_url":"https://github.com/Akiiino","followers_url":"https://api.github.com/users/Akiiino/followers","following_url":"https://api.github.com/users/Akiiino/following{/other_user}","gists_url":"https://api.github.com/users/Akiiino/gists{/gist_id}","starred_url":"https://api.github.com/users/Akiiino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Akiiino/subscriptions","organizations_url":"https://api.github.com/users/Akiiino/orgs","repos_url":"https://api.github.com/users/Akiiino/repos","events_url":"https://api.github.com/users/Akiiino/events{/privacy}","received_events_url":"https://api.github.com/users/Akiiino/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Akiiino/Ask-Me-Anything","description":"HSE FCS 2nd year project","fork":false,"url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything","forks_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/forks","keys_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/teams","hooks_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/hooks","issue_events_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/issues/events{/number}","events_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/events","assignees_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/assignees{/user}","branches_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/branches{/branch}","tags_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/tags","blobs_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/git/refs{/sha}","trees_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/statuses/{sha}","languages_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/languages","stargazers_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/stargazers","contributors_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/contributors","subscribers_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/subscribers","subscription_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/subscription","commits_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/commits{/sha}","git_commits_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/git/commits{/sha}","comments_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/comments{/number}","issue_comment_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/issues/comments{/number}","contents_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/contents/{+path}","compare_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/merges","archive_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/downloads","issues_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/issues{/number}","pulls_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls{/number}","milestones_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/milestones{/number}","notifications_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/labels{/name}","releases_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/releases{/id}","deployments_url":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/deployments","created_at":"2016-11-20T15:10:25Z","updated_at":"2016-11-20T15:10:25Z","pushed_at":"2016-11-23T10:30:30Z","git_url":"git://github.com/Akiiino/Ask-Me-Anything.git","ssh_url":"git@github.com:Akiiino/Ask-Me-Anything.git","clone_url":"https://github.com/Akiiino/Ask-Me-Anything.git","svn_url":"https://github.com/Akiiino/Ask-Me-Anything","homepage":null,"size":11275,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls/1"},"html":{"href":"https://github.com/Akiiino/Ask-Me-Anything/pull/1"},"issue":{"href":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/issues/1"},"comments":{"href":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/Akiiino/Ask-Me-Anything/statuses/ce49e90148bad933318da7580862414b95886619"}}}}
{"actor":{"display_login":"Akiiino"}}