摘要:但我能保證的是,只有我喫透的東西纔會拋出來給大家,並且將盡可能的結合廣告實際的場景,然後拿更貼合實際的數據(kaggle上的相關數據集),然後一邊聊廣告,一邊來手撕機器學習代碼,順帶還可以聊聊人生。在接下來的篇章裏,我們將沿着上面我們所說的這些場景,一個一個來了解,立足於真正的廣告訴求,用kaggle裏的真實數據,結合機器學習的知識來解決這些問題。

作者|黃崇遠 (題圖:pixabay.com,CCO協議) 公號,數據蟲巢(ID: blogchong)

01 寫在之前

上一篇《數據與廣告系列九: 有意思的本地化廣告》 時間是7月30號,剛好隔了一個月,哈哈,這不算斷更,正常的更新節奏啦(公衆號:數據蟲巢)。不知不覺中 《數據與廣告系列》 已經更到了第十篇了,以均篇5000的字數來看,也有5萬多字了。

在最近的一年多時間裏,突然發現散篇寫的相對偏少些了,不知不覺中自己也習慣的去從更全局的角度去組織知識結構,然後形成偏系統化的知識結構。除了目前的 《數據與廣告系列》 九篇,還有 《推薦系統系列》 六篇, 《躁動的季節裏非典型跳槽指南》 四篇, 《數據與業務系列》 三篇, 《讀書清單系列》 四篇。

而當前《數據與廣告系列》從目前的角度來看,還有繼續下去的空間。 這個情況,或許也是自己對於相關知識結構的一種更體系化的思考,應該算是一個好事吧。 以前是個寫“短篇小說”的,現在終於開始寫“中長篇”了。

02 關於算法的執念

在之前的規劃裏,這個系列應該從廣告的起源,到涉及到技術架構,再到推薦系統的交叉結合對比,再到各個不同類型的廣告業務場景,這麼一個結構邏輯。 所以,原定這個系列下一個內容,極有可能是涉及到遊戲廣告的垂直領域方面,也有計劃去做這塊的深入探索。

但是,從寫完《推薦系統系列》之後,再到寫到《數據與廣告系列》第九篇,總感覺整個知識結構體系裏缺了什麼。 直到最近才猛然想起來,是的,是算法維度的東西。

以數據爲核心,再到業務的應用場景,沒有毛病,但是始終是少了最重要的一環,那就是算法。 雖然在《推薦系統系列》裏,也涉及到了一些常規的推薦算法邏輯,甚至是代碼層級的東西,但始終是太過於入門,而非正統的算法以及機器學習的陳述邏輯和知識結構,說白了就是,那個邏輯還是以初步架構起推薦系統整體結構爲主的知識結構邏輯,而非最終的形態。

換句話說就是,那始終是低level的東西,而我們總是要有更高追求的。

所以,接下來的內容裏,將會出現大量算法,或者更嚴格意義上是機器學習的東西,當然,不會純粹的理論上的東西(太理論的東西我也不擅長),依然會結合廣告的整個機器學習應用場景來看,很多東西我也不會,邊走邊看。

但我能保證的是,只有我喫透的東西纔會拋出來給大家,並且將盡可能的結合廣告實際的場景,然後拿更貼合實際的數據(kaggle上的相關數據集),然後一邊聊廣告,一邊來手撕機器學習代碼,順帶還可以聊聊人生。

03 廣告中的機器學習應用場景

既然這是廣告算法相關的延申,當然少不了來看算法,但不是這篇,開篇總不能上來就手撕代碼,我們先來看看機器學習在整個廣告流程裏,到底可以做些什麼事,然後才知道後續我們的規劃邏輯需要進一步去學習什麼,瞭解什麼。

""" 廣告的排序

回憶一下第七篇《推薦與廣告技術架構》中廣告技術的架構圖,其中非常重要的一環就是廣告的排序。 所以,說到算法在廣告中的應用,第一個能想到的就是通過機器學習做到廣告的最優排序。

再回憶一下廣告排序邏輯上會涉及到幾個因素: 出價,上下文匹配,CTR預估。 這本身就是一個多元素組合最優排序的問題,裏頭CTR預估又是廣告領域裏頭最核心需要解決的問題。

因爲很多廣告系統裏,可能做不到上下文理解,出價邏輯也可以做的稍微粗糙一點,但是對於CTR預估,都是重中之重,首先需要解決的問題。 CTR預估本質上就是對於候選曝光用戶,針對於每個廣告候選池做點擊概率的預估計算。 所以是一個非常典型的偏回歸的問題。

""" 上下文理解

延續上面的話題,上下文理解又或者說上下文的匹配。 簡單來講就是,計算環境因素與廣告因素的匹配度的問題,或者說相關度的計算。 當然,匹配度只是解決上下文理解的一種方式或者說這類機器學習的模型可以解決這個問題。

其實還有其他方式可以去解決的,比如當你樣本累計夠多的時候,也不單純計算內容的相關度,也可以從推薦系統的思路去思考,即大量的廣告環境與廣告曝光關係數據,用戶在這個組合下的ctr數據。 這不是一個非常典型的關聯分析的場景嗎! 將上下文的環境與廣告,通過歷史信息,做關聯分析,而非基於內容相關性分析。

從目的的角度上來說,最終都是期望用戶點擊廣告,所以不管是關聯分析還是相關性分析,都是一種途徑。

""" lookalike人羣擴展

人羣擴展是廣告領域裏典型的需求場景,說的更直白點就是,當我要的人,明面上沒有這麼多的時候怎麼辦? 給我預測一下,擴展一下唄。

所以,lookalike本質上拿到核心用戶(所謂核心用戶,就是已經驗證過的高轉化人羣),然後計算類似的用戶(不是嚴格意義上的內容相似,而是最終轉化目標相似),這樣就達到了擴展的目的。

而通常擴展的原始用戶則是用戶圈選定向的那一撥人,但是顯然定向圈定的人羣與其實際需求曝光量級有差距。 還有一種更常見的擴展場景,就是廣告主導入自身積累的高轉化核心人羣,這就是最精準的定向,然後平臺負責幫我找到相同的人。

迴歸到機器學習,你可以認爲這是一個相似用戶計算的場景,二值判斷,概率計算,最最簡單,你用LR就能滿足你的需求了。 但也不止這麼簡單,因爲很多時候你會發現你的訓練樣本可能是數百萬,甚至是上千萬的數據集,然後如果維度不小心做到幾十萬維,幾百萬維,甚至是千萬級,那麼你要解決的問題就多了。

""" 標籤定向

我們知道,定向算是廣告體系裏的人羣召回階段,從基礎的男女性別,到更高緯度的商業興趣,諸如你要不要減肥,是不是要貸款等,而這些最具象化的形態就是用戶標籤。

每一個成熟的廣告平臺,都有一個完整且相對精準的標籤體系,每個其體系裏頭的人都或多或少能打上若干個標籤。 所以,總有某個合適的廣告場景中,平臺能把你賣出去,賣個好價錢。

回憶一下之前的文章,廣告的本質就是賣流量,賣人。 雖然有點殘酷,但這就是終極的本質。 而將人標籤化,就是將人分門別類,就跟超市裏超市大媽把不同的貨品放到不同類目貨架上一個理兒,方便顧客“挑選”(太佩服自己了,竟然寫的這麼有哲理,/捂臉)。

而標籤的製造說簡單也簡單,說難也難。 舉個簡單例子來說,最基礎的性別標籤,如果有場景可以收集身份證號,自然簡單,但是如果沒有,你靠猜? 所以,這裏就是典型的二值分類場景了(也有做三分類的,比如微博裏,除了男女,還有諸如大把的機構屬性的賬號)。

除此之外,還有茫茫多數百個其他標籤,各個層次的,各個細分領域的,簡單的你可以通過行爲規則的方式去打上一些標籤。 通過行爲規則做判斷,只要規則合理,準確性固然是可期的。 但是,一方面是有顯性行爲的人量少滿足不了你大規模曝光的需求,另一方面召回能力太差,用機器學習的專業術語叫泛化能力太差。

所以,從機器學習的角度來說,這又是典型的判別模型場景,而且是超多分類的場景。 當然,你同樣可以轉化成二值分類,針對於每個標籤,都是一個YES OR NO的答案。

當然,在實際的處理中,大部分可能只會計算一個概率值,再來做進一步的計算和判斷。 而基於用戶行爲,肯定又會遇到大量的文本,自然語言處理的東西自然是少不了的。

""" 異常分析

所謂異常分析應該屬於偏反作弊的範疇了。 比如,大規模的機器點擊廣告,造成假量怎麼辦,就算不是機器,也總有一些人閒着蛋疼沒事幹,點着廣告玩,更過分的就是那種連接投放收集信息的廣告場景中或者二類電商。

填個空號是常態,打個電話過去說非本人也是正常的,二類電商中,地址都到門牌號了,名字寫着“周杰倫”,你是不是該猶豫了到底要不要發貨呢,萬一拒收來回郵費可白搭了。

廣告主很憂桑,每個點擊都是要扣錢的,每個被拒收的單子不單純浪費發貨精力,更重要的是來回郵費成本,都是小本生意,經不起折騰。

所以,二類電商一定是要控制主髒單率的(所謂髒單就是那種地址找不到,各種拒收的單子),而CPC那層,大量的惡意無效點擊也是不可行的,這些壓力最終必然會落實到平臺上,平臺必須要解決這一類人。

把那些有惡意廣告行爲的人給逮出來(有歷史污點的好處理),但是那些有這方面潛力的人也得揪出來,以防後患!

從機器學習和算法的角度來看,這就是一個典型的分類場景,但這真的不是一個典型分類場景。 要知道,壞人總是少數的,如果你平臺上都是壞人,你的平臺也不用玩了。

=>這是一個“大海撈針”的活計!

即,你要從數千萬,甚至是數億的用戶裏,撈出寥寥數十萬,最多數百萬的“可能的壞人”出來。 這是一個典型的正負樣本極度不均衡的場景,而這可是分類場景裏的大忌,簡直是災難,屬於非常難以處理的場景之一。

04 想手撕代碼嗎

如上,那些只是暫時我能想到的機器學習在廣告平臺上的應用場景,基於我淺薄的學識,一定還有其他更多的場景需要用到機器學習去解決。

說這麼多還不如,上個代碼,是吧。

莫着急,既然開了機器學習這個頭,代碼總是有的。 在接下來的篇章裏,我們將沿着上面我們所說的這些場景,一個一個來了解,立足於真正的廣告訴求,用kaggle裏的真實數據,結合機器學習的知識來解決這些問題。

又基於我那不算靠譜的機器學習理論,所以,接下來的內容裏,將會是兩分廣告場景,三分機器學習理論,五分手撕代碼,這麼一個結構,也是一個相對合理的結構,更容易理解和吸收。

請期待,順手點個“ 在看 ”, 置頂 一下“數據蟲巢”, 轉發 朋友圈, 讚賞 一杯深夜寫文的咖啡,都是給我/給數據蟲巢持續寫下去的動力。

05 相關係列文章

相關文章