mirror of https://github.com/da0c/DL_Course_SamU
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
177 lines
3.2 KiB
Plaintext
177 lines
3.2 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 27,
|
|
"id": "753d746a",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import numpy as np\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 28,
|
|
"id": "a0449fde",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"def softmax(s, y):\n",
|
|
" l_i = -np.log(np.exp(s[y])/sum(np.exp(s)))\n",
|
|
" return l_i\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"def svm(s, y):\n",
|
|
" m = np.maximum(np.zeros_like(s), s - s[y] + 1)\n",
|
|
" m[y] = 0 \n",
|
|
" l_i = np.sum(m)\n",
|
|
" return l_i\n",
|
|
"\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 34,
|
|
"id": "7531b4de",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"s = np.array([[10, -2, 3],\n",
|
|
" [10, 9, 9],\n",
|
|
" [10, -100, -100]])\n",
|
|
"\n",
|
|
"y = 0\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 35,
|
|
"id": "c1bf4f3b",
|
|
"metadata": {
|
|
"scrolled": true
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"softmax:\n",
|
|
"\n",
|
|
"0.0009176050495943237\n",
|
|
"0.5514447139320511\n",
|
|
"-0.0\n",
|
|
"\n",
|
|
"SVM:\n",
|
|
"\n",
|
|
"0\n",
|
|
"0\n",
|
|
"0\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(\"softmax:\\n\")\n",
|
|
"for i in range(s.shape[0]):\n",
|
|
" print(softmax(s[i,:], y))\n",
|
|
"\n",
|
|
"print(\"\\nSVM:\\n\")\n",
|
|
"for i in range(s.shape[0]):\n",
|
|
" print(svm(s[i,:], y))\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 37,
|
|
"id": "49662904",
|
|
"metadata": {
|
|
"scrolled": true
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([[ 20, -2, 3],\n",
|
|
" [ 10, 9, 9],\n",
|
|
" [ 10, -100, -100]])"
|
|
]
|
|
},
|
|
"execution_count": 37,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"s[0,0] += 10\n",
|
|
"s"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 38,
|
|
"id": "3c85dfef",
|
|
"metadata": {
|
|
"scrolled": true
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"softmax:\n",
|
|
"\n",
|
|
"4.167832299541146e-08\n",
|
|
"0.5514447139320511\n",
|
|
"-0.0\n",
|
|
"\n",
|
|
"SVM:\n",
|
|
"\n",
|
|
"0\n",
|
|
"0\n",
|
|
"0\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"print(\"softmax:\\n\")\n",
|
|
"for i in range(s.shape[0]):\n",
|
|
" print(softmax(s[i,:], y))\n",
|
|
"\n",
|
|
"print(\"\\nSVM:\\n\")\n",
|
|
"for i in range(s.shape[0]):\n",
|
|
" print(svm(s[i,:], y))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"id": "9bac1fcb",
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.8.3"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 5
|
|
}
|