星期五。見面

程式 | 學習 | 日記 | 玩樂

    [論文速速讀]系列文章介紹

前言

論文速速讀系列是從今年四月開始,我開始寫一些論文的中文讀書筆記,還記得第一篇是[論文速速讀]ReZero is All You Need: Fast Convergence at Large Depth,之後發現儘管自己已經陸續產出了幾篇文章,可是好像都沒正式的跟大家介紹這系列文章的由來xD

所以這篇文章就是來講講這系列文章到底是什麼,以及我會和會想寫這些文章。

論文速速讀系列是什麼?

由於在AI領域每年總是有一些非常重大的突破和應用,如果跟不上潮流很有可能就會錯失許多機會。例如,對NLP領域熟悉的話你一定聽過2013年的word2vec、2014年開始流行的attention、2018年的Bert…這些很有名的技術。

還記得Bert剛出的時候我好像剛進碩士實驗室,當時只知道這個技術屌打了當時一堆NLP的研究,但我想也想不到兩年後Bert已經造成如此大的影響力,一堆基於Bert的變形應用在各大領域上都取得了非常優異的結果。

因此,我想要藉由這系列的文章讓自己能夠更加快速的了解AI的新技術和研究,同時逼迫自己看論文xD

繼續閱讀

    [課程筆記]課程筆記系列總覽

本文記錄了自己在上課時所記錄的一些課程筆記,可以透過這邊文章連結到所有以往發過的課程筆記文章。

繼續閱讀

[ML]Sklearn的scoring parameters

對於Machine Learning / Deep Learning,常會根據Task的不同而使用不同的Evaluation Metrics,例如MAE、MSE、RMSE…等等,在sklearn中當然也提供了function讓user能夠快速地進行計算,比方說如果想要算MAE的話可以這樣寫:

1
2
3
4
5
6
7
8
9
10
11
12
from sklearn.metrics import mean_absolute_error
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
mean_absolute_error(y_true, y_pred)

y_true = [[0.5, 1], [-1, 1], [7, -6]]
y_pred = [[0, 2], [-1, 2], [8, -5]]
mean_absolute_error(y_true, y_pred)

mean_absolute_error(y_true, y_pred, multioutput='raw_values')

mean_absolute_error(y_true, y_pred, multioutput=[0.3, 0.7])

透過呼叫sklearn.metrics下的mean_absolute_error()來進行計算,但如果仔細看sklearn的document的話會發現在scoring parameter下有一些奇怪的名詞,例如:

  • neg_mean_absolute_error
  • neg_mean_squared_error
  • neg_mean_squared_log_error
  • neg_median_absolute_error

不難猜測前綴的neg_是指negative,所以這些值實際上應該是原本的值加上一個負號

不過為什麼要將這些值加上一個負號呢?看了一下scoring這章的說明有提到:

All scorer objects follow the convention that higher return values are better than lower return values.

也就是說,這裡的所有scorer obj都被定義為分數越高越好,所以對於一些分數越低越好的評估標準(MAE、MSE…)就要加上一個負號反過來。

那為什麼要這樣做呢?在stackoverflow中找到了這篇解釋,覺得解釋得還不錯:

The sklearn.metrics.log_loss is an implementation of the error metric as typically defined, and which is as most error metrics a positive number. In this case, it is a metric which is generally minimized (e.g. as mean squared error for regression), in contrast to metrics such as accuracy which is maximized. The ‘neg_log_loss’ is a hence a technicality to make create a utility value, which allows optimizing functions and classes of sklearn to maximize this utility without having to change the function’s behavior for each metric (such include for instance named cross_val_score, GridSearchCV, RandomizedSearchCV, and others).

繼續閱讀

[ML/DL]從計算機編碼的角度看Entropy, Cross Entropy和KL-Divergence

Shannon Entropy

簡介

Entropy概念最早被用於熱力學,在1948年由Shannon將此概念引入information theory中,被用來計算根據訊息的機率分布對訊息編碼所需要的平均編碼長度,也因此Entropy也被稱之Shannon Entropy。

繼續閱讀

[LeetCode]各種Max subarray問題-2

上一篇看這裡:[LeetCode]各種Max subarray問題-1

1191. K-Concatenation Maximum Sum

題意: 將一個array重複拼接K次後,找一個subarray,使得該subarray有最大的和。

繼續閱讀

[Python]Add legend on cluster visualization use Matplotlib

這篇主要在介紹如何正確在Matplotlib上為每種cluster加上圖例(legend)。

前言

資料視覺化在不管是機器學習/深度學習都是很重要的一個環節,有了資料視覺化能夠很快速的讓其他人了解你的資料/模型。 但是在呈現dataset的時候,資料往往維度不是2維,無法透過x, y軸呈現出來。這時候通常會透過降維的方法來把高維度的資料壓縮到低維度呈現,常見的降維方法有PCA和t-SNE。 所以,你以為這篇要來介紹這兩個方法背後的原理嗎?

5efa825b04849f9665c723e29793ac46

繼續閱讀

[LeetCode]各種Max subarray問題-1

我覺得我和這個題型特別有緣阿,之前實習面試還被問到,然後這兩週的week competition都有出到,下面就從最原始的問題開始,然後慢慢講解其他有的沒的變形題目。

第二篇看這裡:[LeetCode]各種Max subarray問題-2

繼續閱讀

暑期實習申請心得

這個人怎麼回事…都實習結束了才在發申請的心得文。

當初因為一些事情所以很多事情都亂了步調,連原本預計要打的文章都還沒打…

總之現在就是來還債的,這篇文章會分享我在今年三月申請各家的實習過程和心得,以下內容全憑三個月前的微薄記憶,如果有內容錯了就算了吧。

在當初參加就職博覽會之前我就開始準備各項實習的申請了,然後在三月初的時候開始履歷轟炸各家有在招募實習的公司(有些公司的招募時程會比較不同,所以要特別注意,例如Google),大部分要準備的東西如下:

  • 歷屆成績單
  • 中英文CV
繼續閱讀

>