2018年3月20日 星期二
[情報] 目前市面上有哪些 Open Source Function As Service (FaaS)
前陣子因為好奇加入了 Cloud Native 的Slack 群組,看看最近熱門在討論的話題是什麼,有什麼有趣的技術正在發展,最近就剛好看到一個有趣的投票話題,請大家推薦 open source 的 FAAS Solution。
2018年3月17日 星期六
非技術團隊的敏捷與自省會議
究竟非技術團隊也適合跑敏捷方法嗎?一直以來我對這個議題也蠻感興趣的,如果適合那該怎麼推行和實踐呢?雖然以前有上網找到了一些文章,不過沒有實際執行過也不會有感覺。
- Scrum in Sales
- 4 Agile techniques to make your sales team thrive!
- Agile Marketing: How to Implement Scrum in The Context Of Marketing
其實敏捷推行久了慢慢會發現,其實瓶頸可能已經不在技術團隊,而會轉移到其它非技術團隊,或者應該說瓶頸往往產生再技術團隊與非技術團隊的交付以及溝通的過程,而一間公司和一個集團想要能更加的成長茁壯,就必須不分團隊別的共同進步與成長,這也是Lean 與 DevOps 的精神。
2018年3月13日 星期二
透過Java開發 Spark 2.x ML 的 LDA (Latent Dirichlet allocation) model 的感想
借用 Deep Learning 那門課的一張投影片來代表我最近在做的事,一直不斷的在轉圈圈,但是其實更多時候腦袋都是下圖這種轉圈圈:
主要的挑戰如下:
Spark ML 內建的Pipeline 主要分為以下四個步驟:
不過後來才發現Spark ML 的 pipeline 是給 supervisor learning 使用的,因為有 label 的 data 可以用來驗證訓練的結果是好還是不好,但是我們這次用到的不論是 LDA 或是 word2vec 都是屬於 unsupervised learning 沒有一個明確的基準點可以驗證,因次不適合用 cross validation 來找出最佳的 hyper parameter 。
那LDA 可以調的參數有哪些些呢?如下圖所示,主要是 K (topic number) , max iteration,doc Concentration和 topic Concentration,不過上網看了許多論文和討論,似乎影響最大的還是K 值。
原本以為只要把這些參數排列組合,找出最大 likelihood 或最小的 perplexity 結果居然看到以下的討論......
在研究中產生許多問題,順便把問題整理在這裡:
1. LDA 跟 word2vec 的差異在哪裡?
LDA 注重的是文章與文章間所有詞的關係,而word2vec 是詞與某篇文章上下文之間的關係,也就是說 word2vec 並沒有考慮語法層面的訊息,一篇文章被看成文字序列(word sequences),只考慮詞與詞之間的位置與邊界關係。
網路上找了一個有趣的解釋,假如你輸入HTC:
普通的word2vec 會找到:Android,cellphone,Taiwan,Google...
但是考慮語法後:Moto,Apple,Nokia,Xiaomi...
雖然看起來都有關連,但是本質上卻是不一樣,真得好難啊....
更多網路資訊:
主要的挑戰如下:
- 第一次用Spark 寫 ML 相關的程式,然後網路上的範例和討論幾乎都是用 scala 和python 寫的,為了要轉成Java版花了不少力氣。
- 資料散亂且難以理解,關於LDA 的文章幾乎都是論文等級了,充滿了難以下嚥的數學公式,往往都是直接略過,而且關於LDA 和 Spark ML 相關的中文討論又是以大陸居多,不過也因此挖到不少寶。
Spark ML 內建的Pipeline 主要分為以下四個步驟:
不過後來才發現Spark ML 的 pipeline 是給 supervisor learning 使用的,因為有 label 的 data 可以用來驗證訓練的結果是好還是不好,但是我們這次用到的不論是 LDA 或是 word2vec 都是屬於 unsupervised learning 沒有一個明確的基準點可以驗證,因次不適合用 cross validation 來找出最佳的 hyper parameter 。
那LDA 可以調的參數有哪些些呢?如下圖所示,主要是 K (topic number) , max iteration,doc Concentration和 topic Concentration,不過上網看了許多論文和討論,似乎影響最大的還是K 值。
原本以為只要把這些參數排列組合,找出最大 likelihood 或最小的 perplexity 結果居然看到以下的討論......
在研究中產生許多問題,順便把問題整理在這裡:
1. LDA 跟 word2vec 的差異在哪裡?
LDA 注重的是文章與文章間所有詞的關係,而word2vec 是詞與某篇文章上下文之間的關係,也就是說 word2vec 並沒有考慮語法層面的訊息,一篇文章被看成文字序列(word sequences),只考慮詞與詞之間的位置與邊界關係。
網路上找了一個有趣的解釋,假如你輸入HTC:
普通的word2vec 會找到:Android,cellphone,Taiwan,Google...
但是考慮語法後:Moto,Apple,Nokia,Xiaomi...
雖然看起來都有關連,但是本質上卻是不一樣,真得好難啊....
更多網路資訊:
- 通俗理解LDA主题模型 (超多數學...Orz..)
- 機率主題模型簡介,LDA基本思想
- 怎么确定LDA的topic个数?
- LDA 主題模型的評估
- 如何确定LDA的topic个数
- 文档主题生成模型(LDA)算法原理及Spark MLlib调用实例(Scala/Java/python)
- 用 LDA 做主题模型:当 MLlib 邂逅 GraphX
- How to implement LDA in Spark and get the topic distributions of new documents
- LDA Topic Modeling in Spark MLlib
- Spark LDA: A Complete Example of Clustering Algorithm for Topic Discovery
- Spark下实现LDA+SVM的文本分类处理
- spark 使用lda算法提取中文文档文本主题
- Spark LDA 主题预测 (spark 1.5)
- Spark2.0机器学习系列之9: 聚类算法(LDA)
訂閱:
文章
(
Atom
)