Image for post
Image for post
Photo by Alex Motoc on Unsplash

ROT13 (“rotate by 13 places”) is a simple letter substitution cipher, a special case of “Caesar cipher” and was once popular on Internet forums.

The rule is very simple: you replace each letters with the 13th letter behind them. If the range is over the last letter z, just loop back and continue to count from letter a. Since there are 26 letters in English, apply ROT13 twice (or 4, 6, 8 times…) will return the original text:

ROT13("Python") -> "Clguba"
ROT13("Clguba") -> "Python"

Image for post
Image for post
Photo by Corinne Kutz on Unsplash

如果你在學機器學習,應該會聽過「邏輯斯迴歸」。邏輯斯迴歸是個好用的分類器演算法,而想在 scikit-learn 中匯入、訓練和使用它也相當簡單。然而,邏輯斯迴歸是如何分類資料的,就需要一點技巧來解釋了。

很多人會從數學式子切入,但對如在下我這種數學不好的人來說,抽象的方程式永遠非常難懂。而有些書或網站會附上邏輯斯函數的圖表,但它們通常跟後面的程式範例沒有直接關係(此外這些書或網站經常也只是抄襲其他人的範例)。最後,已嚴然成為 Python 機器學習代名詞的 scikit-learn 儘管在其網站上有很多視覺化範例,但它們大多極其複雜,要拿來應用實在是有難度。

而這就是這篇文章的出發點:記錄我對於 scikit-learn 幾種模型之視覺化的簡單研究成果。將機器學習模型視覺化,對於教學其實有很大的 …


Image for post
Image for post
Photo by Andrew Le on Unsplash

The sole goal of this is to use (or abuse) one new feature comes with Python 3.9: Relaxing Grammar Restrictions On Decorators (PEP 614). Since almost no one mentioned about it before, I decided to write a little article here.

Of course, the way I use it is very probably not “Pythonic”, and maybe shouldn’t be used at all in your work, but we can still have some fun here, right?

Apparently, PEP 614 is mainly designed for PyQt5, which you can attach a button clicking method as a decorator to another function to create button events. But the PEP also says “The decision to allow any valid expression”. …


Image for post
Image for post
Photo by Austin Neill on Unsplash

前陣子筆者買了本書 TinyML,這本書是講如何在(特定的,咳咳)開發板上佈署 Tensorflow Lite 神經網路模型。我個人雖然對 Tensorflow 幾乎一竅不通,但對於如何在微控制器或開發板應用它,倒是相當有興趣。

(其實廣義來說,TinyML 可以泛指將機器學習用在微控制器的領域。不過,這邊主要以 Tensorflow Lite 為主。)

不過讀一讀就發現就發現,佈署模型的過程似乎相當繁雜,且並不是在 Windows 環境下進行,對筆者這樣的初學者來說實在不友善。此外,若打開 Arduino IDE 內的 Tensorflow 範例,一口氣就跳出 8 個檔案,程式碼也密密麻麻的,看了真教人心驚驚。


Image for post
Image for post
Photo by fabio on Unsplash

筆者是個坦白說數學不怎麼樣,也沒什麼興致做純學術研究的人。不過,在大約三個月前,網路上有人分享一個叫做 SEFR 的演算法,由伊朗塔比阿特莫達勒斯大學和美國波士頓大學的研究者提出。該演算法的設計對象居然是 Arduino Uno 這類低耗能嵌入式裝置,而且可直接在開發板上進行模型訓練 — — 可想而知,這讓筆者相當感興趣。最近剛好有些時間,便決定來鑽研一下。

你可在此閱讀這篇論文:SEFR: A Fast Linear-Time Classifier for Ultra-Low Power Devices


Image for post
Image for post
Photo by Lorenzo Herrera on Unsplash

MakeCode 編輯器是微軟投身程式教育領域所打造出來的一系列圖形編輯器 — — 它們的主要語言為 TypeScript(相容 JavaScript),但透過特殊方式將之轉換成可拖拉和拼接的「積木」(這源自 Google 的 Blockly,在早期時兩者風格是一樣的)。這些編輯器可在網頁上開啟,編譯後下載的程式檔可下載到支援的硬體上。

除了搭配 BBC micro:bit 的最知名、最積極發展的版本外,MakeCode 還有提供給 Adafruit Circuit Playground、Lego Mindstorm EV3、Minecraft 之類的對象。不過,近年來有另一個 MakeCode 編輯器開始獲得更多注意,並逐漸出現在坊間的兒童程式課程裡 — — 以打造復古風遊戲為主軸的 Mak …


Image for post
Image for post
Photo by Nong Vang on Unsplash

好吧,這篇其實跟工作有一點點關係,但關係不大。但是既然已經做了些研究,不如把心得整理一下。

說實在,網路上(包括 Medium 這兒)已經有太多太多關於各種套件跟機器學習的文章。然而身為一個入門者,筆者更關心的是 KMeans 能拿來做什麼?很多文章跟書籍並沒有明確展示這個部分,只將技術交代交代後就收工。許多 Python 資料科學套件已經夠難搞懂其 API 了,而如何將 scikit-learn 應用到真實世界,更是一直有著難以跨越的斷層。


Image for post
Image for post
Photo by Ramiro Mendes on Unsplash

120 底片,相較於更便宜也更容易使用的 135 底片,總帶有一股更古老又崇高的氣息。這麼說或許也並非毫無根據,畢竟它起源自柯達公司 1901 年開發的 Brownie No. 2 傻瓜相機。差不多 120 年過去了,120 底片依然有在生產。此外,也許是因為它(以及使用它的相機)更貴、更難使用、犯錯的代價更高,用起來更讓人戰戰兢兢。

我從 2014 年開始重新拍底片(相較於那些從未接觸過底片的千禧年世代,我直到高中還在用即可拍拋棄式底片機),然後在 2015 年才買了第一台中片幅相機。


Image for post
Image for post
Photo by sergio souza on Unsplash

ESP-01 這塊極其迷你的 ESP8266 開發板,曾經風靡一時,因為它讓 Arduino Uno 這類簡單的開發板突然多了能連上網路的能力。事實上,這種使用外部 WiFi 晶片的架構仍沿用在許多產品中,例如 Arduino MKR 1010 和 Nano 33 IoT,或是設計給 Arduino 的 ESP 擴充板。

ESP-01(以及記憶體加大的 ESP-01S)出廠時會安裝安可信(Espressif)的 AT 韌體,這韌體讓外部裝置能以序列埠指令(或 AT 指令)來控制此模組的行為,如連上 WiFi、傳送資料等等。

About

Alan Wang

Former translator and currently a tech-book editor based in Taiwan. https://krantasblog.blogspot.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store