Heat the oven to 350 degrees. Butter a 9-by-2-inch round cake pan. Line pan with parchment, and butter the parchment. Coat pan with flour, and tap out any excess.
In a large bowl, sift together flour, cinnamon, nutmeg, allspice, salt, baking powder, and baking soda; set aside.
In the bowl of an electric mixer fitted with the paddle attachment, beat sugar and butter together until light and fluffy, about 2 minutes. Add eggs, and beat until combined. Add pumpkin puree and milk; beat until combined. Add reserved flour mixture; beat on low speed until just combined.
Pour batter into prepared pan, and bake until a cake tester inserted into the middle comes out clean, about 55 minutes. Transfer the cake to a wire rack to cool. Let cake rest 20 minutes.
Unmold cake. Using an offset spatula, spread icing over top of cake, and decorate with caramelized walnut halves.
