Skip to content

Commit

Permalink
deploy: b015405
Browse files Browse the repository at this point in the history
  • Loading branch information
kitkatdafu committed Sep 12, 2024
1 parent 2652a05 commit 01a8408
Show file tree
Hide file tree
Showing 11 changed files with 416 additions and 65 deletions.
Binary file modified cv-reid.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion index.html
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<!doctype html><html><head><meta name=generator content="Hugo 0.129.0"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel=stylesheet type=text/css href=/css/style.css><link rel=icon type=image/x-icon href=/images/favicon.ico><title>Yi Chen</title></head><body><div id=content><header><nav><a href=/>[Home]</a>
<!doctype html><html><head><meta name=generator content="Hugo 0.134.2"><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><link rel=stylesheet type=text/css href=/css/style.css><link rel=icon type=image/x-icon href=/images/favicon.ico><title>Yi Chen</title></head><body><div id=content><header><nav><a href=/>[Home]</a>
<a href=/notes/>[Notes]</a>
<a href=/publications/>[Publications]</a>
<a href=/projects/>[Projects]</a><br><a href=https://github.com/kitkatdafu>[GitHub]</a>
Expand Down
109 changes: 99 additions & 10 deletions index.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,99 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Yi Chen</title><link>https://ychen878.github.io/</link><description>Recent content on Yi Chen</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 02 Mar 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://ychen878.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Nuclear Norm via SDP</title><link>https://ychen878.github.io/notes/nuclear-norm-sdp/</link><pubDate>Thu, 02 Mar 2023 00:00:00 +0000</pubDate><guid>https://ychen878.github.io/notes/nuclear-norm-sdp/</guid><description>:PROPERTIES: :CUSTOM_ID: matrix-norm :END:
Matrix norms Given a matrix $X \in \mathbb{R}^{m \times n}$, $\sigma_{i}(X)$ denotes the $i$-th largest singular value of $X$ and is equal to the square root of the $i$-th largest eigenvalue of $XX&amp;rsquo;$. The rank of $X$, denoted as $\mathrm{rank}(X) = r$ is the number of non-zero singular values.
Inner Product Given $X, Y \in \mathbb{R}^{m \times n}$, the inner product between $X$ and $Y$, denoted by $\langle X, Y\rangle$, is defined as $$ \langle X, Y \rangle := \mathrm{Tr}(X&amp;rsquo;Y) = \sum_{i=1}^m \sum_{j=1}^n X_{ij}Y_{ij} = \mathrm{Tr}(Y&amp;rsquo;X).</description></item><item><title>LP Duality</title><link>https://ychen878.github.io/notes/lp-duality/</link><pubDate>Tue, 28 Feb 2023 00:00:00 +0000</pubDate><guid>https://ychen878.github.io/notes/lp-duality/</guid><description>Estimating LP bounds Given an optimization problem $$ \begin{align} \max_{f, s} &amp;amp;\quad 12f + 9s \ \st &amp;amp;\quad 4f + 2s \leq 4800 \ &amp;amp;\quad f + s \leq 1750 \ &amp;amp;\quad 0 \leq f \leq 1000 \ &amp;amp;\quad 0 \leq s \leq 1500 \ \end{align} $$ Suppose the maximum profit is $p^\star$. How can we bound $p^\star$? The lower bound of $p^\star$ can be found by picking any feasible point (since maximization).</description></item><item><title>RPC</title><link>https://ychen878.github.io/notes/rpc/</link><pubDate>Sat, 25 Feb 2023 22:51:15 -0600</pubDate><guid>https://ychen878.github.io/notes/rpc/</guid><description>Networks Network Interface Controllers (NICs) can connect a computer to different physical mediums, such as Ethernet and Wi-Fi. Every NIC in the world has a unique MAC (media access control) address. It consists of 48 bits. Therefore, there are 28 trillion possible MAC addresses. Some devices randomly change their MAC address for privacy.
You can use command ifconfig to check you network interface controller and its corresponding MAC address. There exists virtual interfaces as well.</description></item><item><title>Docker</title><link>https://ychen878.github.io/notes/docker/</link><pubDate>Sat, 25 Feb 2023 22:49:32 -0600</pubDate><guid>https://ychen878.github.io/notes/docker/</guid><description>Virtualization Virtualization is the illusion of private resources, provided by the software. We have virtual memory, virtual machine (hardware), virtual machine (languages), virtual operating system (container).
Each process using a virtual address space is not aware of other processes using memory (illusion of private memory). Virtualized resources include CPU, RAM, disks, network devices, etc. VMs rarely use all their allocated resources, so overbooking is possible. If each program is deployed to a different VM, operating system overheads dominate.</description></item><item><title>Perceptron Learning Algorithm</title><link>https://ychen878.github.io/notes/pla/</link><pubDate>Wed, 30 Nov 2022 00:00:00 +0000</pubDate><guid>https://ychen878.github.io/notes/pla/</guid><description>Given a dataset \(\mathcal{D} = \{(\vec{x}_1, y_1), \cdots, (\vec{x}_N, y_N)\}\) and a hypothesis set \(\mathcal{H}\), our learning algorithm \(\mathcal{A}\) tries to learn a function \(g \in \mathcal{H}\) that approximates the underlying, true function \(f: \mathcal{X} \to \mathcal{Y}\), which generates the points in \(\mathcal{D}\).
Credit Card Approve Problem Given a customer who is applying for a credit card, we want to build a system that determines if we should grant the application or not based on the customer&amp;#39;s information such as age, annual salary, year in job, etc.</description></item><item><title>Clustering</title><link>https://ychen878.github.io/notes/clustering/</link><pubDate>Sat, 08 Oct 2022 00:00:00 +0000</pubDate><guid>https://ychen878.github.io/notes/clustering/</guid><description>In unsupervised learning, there are no labels associated with features. Generally speaking, the ultimate goal of unsupervised learning is to find patterns and structures that help us to better understand data. Sometimes, we also use unsupervised learning to model a distribution. But we generally will not make predictions.
There are 3 types of clustering 1. Partitional (centroid, graph-theoretic, spectral) 1. Hierarchical (agglomerative, divisive) 2. Bayesian (decision-based, non-parametric)
Partitional Clustering \(k\)-means \(k\)-means is a type of partitional centroid-based clustering algorithm.</description></item><item><title>K-means in Python</title><link>https://ychen878.github.io/notes/k-means/</link><pubDate>Tue, 19 Oct 2021 00:00:00 +0000</pubDate><guid>https://ychen878.github.io/notes/k-means/</guid><description>There are two major steps in the K-means algorithm. The first one is to calculate the representatives (centroids) of a given partition. The second one is to find the partition based on the representatives.
Inputs Suppose we have a dataset looks like this:
dataset = np.array([[5, 6], [6, 5], [0, 1], [1, 0], [3, 3]]) Each row in this dataset matrix is an observation and each column in this matrix represents a feature.</description></item></channel></rss>
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Yi Chen</title><link>https://ychen878.github.io/</link><description>Recent content on Yi Chen</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Thu, 02 Mar 2023 00:00:00 +0000</lastBuildDate><atom:link href="https://ychen878.github.io/index.xml" rel="self" type="application/rss+xml"/><item><title>Nuclear Norm via SDP</title><link>https://ychen878.github.io/notes/nuclear-norm-sdp/</link><pubDate>Thu, 02 Mar 2023 00:00:00 +0000</pubDate><guid>https://ychen878.github.io/notes/nuclear-norm-sdp/</guid><description>&lt;p>:PROPERTIES:
:CUSTOM_ID: matrix-norm
:END:&lt;/p>
&lt;h1 id="matrix-norms">Matrix norms&lt;/h1>
&lt;p>Given a matrix $X \in \mathbb{R}^{m \times n}$, $\sigma_{i}(X)$ denotes the $i$-th largest singular value of $X$ and is equal to the square root of the $i$-th largest eigenvalue of $XX&amp;rsquo;$. The rank of $X$, denoted as $\mathrm{rank}(X) = r$ is the number of non-zero singular values.&lt;/p>
&lt;h2 id="inner-product">Inner Product&lt;/h2>
&lt;p>Given $X, Y \in \mathbb{R}^{m \times n}$, the inner product between $X$ and $Y$, denoted by $\langle X, Y\rangle$, is defined as
$$
\langle X, Y \rangle := \mathrm{Tr}(X&amp;rsquo;Y) = \sum_{i=1}^m \sum_{j=1}^n X_{ij}Y_{ij} = \mathrm{Tr}(Y&amp;rsquo;X).
$$&lt;/p></description></item><item><title>LP Duality</title><link>https://ychen878.github.io/notes/lp-duality/</link><pubDate>Tue, 28 Feb 2023 00:00:00 +0000</pubDate><guid>https://ychen878.github.io/notes/lp-duality/</guid><description>&lt;h1 id="estimating-lp-bounds">Estimating LP bounds&lt;/h1>
&lt;p>Given an optimization problem
$$
\begin{align}
\max_{f, s} &amp;amp;\quad 12f + 9s \
\st &amp;amp;\quad 4f + 2s \leq 4800 \
&amp;amp;\quad f + s \leq 1750 \
&amp;amp;\quad 0 \leq f \leq 1000 \
&amp;amp;\quad 0 \leq s \leq 1500 \
\end{align}
$$
Suppose the maximum profit is $p^\star$. How can we bound $p^\star$? The lower bound of $p^\star$ can be found by picking any feasible point (since maximization). For example,
${f=0, s=0}$ is feasible. Therefore, $p^\star \geq 12f + 9s = 0$. Since any feasible point yields a lower bound of $p^\star$ and $p^\star$ itself is yielded by an feasible point, then finding the largest lower bound of $p^\star$ is equivalent to solving the LP.&lt;/p></description></item><item><title>RPC</title><link>https://ychen878.github.io/notes/rpc/</link><pubDate>Sat, 25 Feb 2023 22:51:15 -0600</pubDate><guid>https://ychen878.github.io/notes/rpc/</guid><description>&lt;h1 id="networks">Networks&lt;/h1>
&lt;p>Network Interface Controllers (NICs) can connect a computer to different physical mediums, such as Ethernet and Wi-Fi. Every NIC in the world has a unique MAC (media access control) address. It consists of 48 bits. Therefore, there are 28 trillion possible MAC addresses. Some devices randomly change their MAC address for privacy.&lt;/p>
&lt;p>You can use command &lt;code>ifconfig&lt;/code> to check you network interface controller and its corresponding MAC address. There exists virtual interfaces as well. For example, &lt;code>lo&lt;/code>, the loopback device, is a virtual interface. It connects your computer to a mini network containing just your computer.&lt;/p></description></item><item><title>Docker</title><link>https://ychen878.github.io/notes/docker/</link><pubDate>Sat, 25 Feb 2023 22:49:32 -0600</pubDate><guid>https://ychen878.github.io/notes/docker/</guid><description>&lt;h1 id="virtualization">Virtualization&lt;/h1>
&lt;p>Virtualization is the illusion of private resources, provided by the software. We have virtual memory, virtual machine (hardware), virtual machine (languages), virtual operating system (container).&lt;/p>
&lt;ul>
&lt;li>Each process using a virtual address space is not aware of other processes using memory (illusion of private memory).&lt;/li>
&lt;li>Virtualized resources include CPU, RAM, disks, network devices, etc. VMs rarely use all their allocated resources, so overbooking is possible. If each program is deployed to a different VM, operating system overheads dominate.&lt;/li>
&lt;li>JVM or PVM runs Java Bytecode and Python Bytecode. Programs written in Java and Python are compiled to their corresponding byte code instead of a specific machine code.&lt;/li>
&lt;li>Virtual operating systems, or a containers, are run on a some flavor of Linux. You can have a container of Ubuntu and a container on Debian (but not Windows, since they are running on top of Linux). Containers are more efficient than virtual machines, but less flexible.&lt;/li>
&lt;/ul>
&lt;p>Containers and Virtual Machines are Sandboxes.&lt;/p></description></item><item><title>Perceptron Learning Algorithm</title><link>https://ychen878.github.io/notes/pla/</link><pubDate>Wed, 30 Nov 2022 00:00:00 +0000</pubDate><guid>https://ychen878.github.io/notes/pla/</guid><description>&lt;p>
Given a dataset
\(\mathcal{D} = \{(\vec{x}_1, y_1), \cdots, (\vec{x}_N, y_N)\}\) and a
hypothesis set \(\mathcal{H}\), our learning algorithm \(\mathcal{A}\)
tries to learn a function \(g \in \mathcal{H}\) that approximates the
underlying, true function \(f: \mathcal{X} \to \mathcal{Y}\), which
generates the points in \(\mathcal{D}\).&lt;/p>
&lt;div id="outline-container-credit-card-approve-problem" class="outline-3">
&lt;h3 id="credit-card-approve-problem">
Credit Card Approve Problem
&lt;/h3>
&lt;div id="outline-text-credit-card-approve-problem" class="outline-text-3">
&lt;p>Given a customer who is applying for a credit card, we want to build a
system that determines if we should grant the application or not based
on the customer&amp;#39;s information such as age, annual salary, year in job,
etc. The bank&amp;#39;s historical credit approval data can be seen as a dataset
\(\mathcal{D} = \{(\vec{x}_i, y_i)\}_{i=1}^N\)where each
\(\vx_i \in \mathcal{X}\) and each represents a customer. There is a
target function \(f: \mathcal{X} \to \mathcal{Y}\) that gives \(\vx\)&amp;#39;s
credit behavior \(f(\vec{x}) = y\). Each \(\vx\) is a multidimensional
vector where each component is a feature (age, for example). Our
learning algorithm \(\mathcal{A}\) considers a hypothesis class
\(\mathcal{H}\) and takes the dataset \(\mathcal{D}\) and tries to give
a function \(g \in \mathcal{H}\) so that \(g\) performs similar to
\(f\). We will use \(g\) as our system of approving credit card.&lt;/p></description></item><item><title>Clustering</title><link>https://ychen878.github.io/notes/clustering/</link><pubDate>Sat, 08 Oct 2022 00:00:00 +0000</pubDate><guid>https://ychen878.github.io/notes/clustering/</guid><description>&lt;p>
In unsupervised learning, there are no labels associated with features.
Generally speaking, the ultimate goal of unsupervised learning is to
find patterns and structures that help us to better understand data.
Sometimes, we also use unsupervised learning to model a distribution.
But we generally will not make predictions.&lt;/p>
&lt;p>
There are 3 types of clustering 1. Partitional (centroid,
graph-theoretic, spectral) 1. Hierarchical (agglomerative, divisive) 2.
Bayesian (decision-based, non-parametric)&lt;/p>
&lt;div id="outline-container-partitional-clustering" class="outline-3">
&lt;h3 id="partitional-clustering">
Partitional Clustering
&lt;/h3>
&lt;div id="outline-text-partitional-clustering" class="outline-text-3">
&lt;div id="outline-container-k-means" class="outline-4">
&lt;h4 id="k-means">
\(k\)-means
&lt;/h4>
&lt;div id="outline-text-k-means" class="outline-text-4">
&lt;p>\(k\)-means is a type of partitional centroid-based clustering
algorithm. The algorithm is described as follows: 1. Randomly pick \(k\)
cluster centers; 2. Find the closest center for each point; 3. Update
cluster centers by computing centroids; 4. While not converging, jump to
step 2.&lt;/p></description></item><item><title>K-means in Python</title><link>https://ychen878.github.io/notes/k-means/</link><pubDate>Tue, 19 Oct 2021 00:00:00 +0000</pubDate><guid>https://ychen878.github.io/notes/k-means/</guid><description>&lt;p>There are two major steps in the K-means algorithm. The first one is to
calculate the representatives (centroids) of a given partition. The
second one is to find the partition based on the representatives.&lt;/p>
&lt;div id="outline-container-inputs" class="outline-3">
&lt;h3 id="inputs">
Inputs
&lt;/h3>
&lt;div id="outline-text-inputs" class="outline-text-3">
&lt;p>Suppose we have a dataset looks like this:&lt;/p>
&lt;div class="src src-python">
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-python" data-lang="python">&lt;span style="display:flex;">&lt;span>dataset &lt;span style="color:#f92672">=&lt;/span> np&lt;span style="color:#f92672">.&lt;/span>array([[&lt;span style="color:#ae81ff">5&lt;/span>, &lt;span style="color:#ae81ff">6&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [&lt;span style="color:#ae81ff">6&lt;/span>, &lt;span style="color:#ae81ff">5&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [&lt;span style="color:#ae81ff">0&lt;/span>, &lt;span style="color:#ae81ff">1&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [&lt;span style="color:#ae81ff">1&lt;/span>, &lt;span style="color:#ae81ff">0&lt;/span>],
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> [&lt;span style="color:#ae81ff">3&lt;/span>, &lt;span style="color:#ae81ff">3&lt;/span>]])&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>
&lt;p>
Each row in this dataset matrix is an observation and each column in
this matrix represents a feature. So, in this example, we have 5 points
from a plane. And we define partition in the following way:&lt;/p></description></item></channel></rss>
Loading

0 comments on commit 01a8408

Please sign in to comment.